From dd50c850acdd7a0fe9580e5c90e3fefe164aa742 Mon Sep 17 00:00:00 2001 From: Carl Furtado Date: Wed, 19 Aug 2026 14:03:22 -0400 Subject: [PATCH] first commit --- .gitignore | 5 + .vscode/settings.json | 4 + poetry.lock | 5047 +++++++++++++++++++++++++++++++++++ pyproject.toml | 25 + src/analyze_keypresses.py | 13 + src/constants.py | 4 + src/element_selectors.py | 138 + src/fitts_law.py | 254 ++ src/llm_utils.py | 93 + src/main.py | 28 + src/mimic_typing.py | 31 + src/mouse_trajectory.py | 315 +++ src/recordpress.py | 43 + src/rewards_tasks.py | 196 ++ src/tab_utils.py | 33 + src/visualize_trajectory.py | 160 ++ 16 files changed, 6389 insertions(+) create mode 100644 .gitignore create mode 100644 .vscode/settings.json create mode 100644 poetry.lock create mode 100644 pyproject.toml create mode 100644 src/analyze_keypresses.py create mode 100644 src/constants.py create mode 100644 src/element_selectors.py create mode 100644 src/fitts_law.py create mode 100644 src/llm_utils.py create mode 100644 src/main.py create mode 100644 src/mimic_typing.py create mode 100644 src/mouse_trajectory.py create mode 100644 src/recordpress.py create mode 100644 src/rewards_tasks.py create mode 100644 src/tab_utils.py create mode 100644 src/visualize_trajectory.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d1bea88 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +*.png +*.txt +Todo.md +data-dir/ +__pycache__/ \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..15be203 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "python-envs.defaultEnvManager": "ms-python.python:poetry", + "python-envs.defaultPackageManager": "ms-python.python:poetry", +} \ No newline at end of file diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 0000000..789f4e8 --- /dev/null +++ b/poetry.lock @@ -0,0 +1,5047 @@ +# This file is automatically @generated by Poetry 2.4.1 and should not be changed by hand. + +[[package]] +name = "annotated-types" +version = "0.8.0" +description = "Reusable constraint types to use with typing.Annotated" +optional = false +python-versions = ">=3.10" +groups = ["main"] +files = [ + {file = "annotated_types-0.8.0-py3-none-any.whl", hash = "sha256:f072f4d804ea359e4eaf198b1af7a8b0943881a87f31bb764f8bf219bb9419e0"}, + {file = "annotated_types-0.8.0.tar.gz", hash = "sha256:13b2beaad985e05e2d6407ee4c4f35590b11f8d693a258a561055cac8f64cab7"}, +] + +[[package]] +name = "anyio" +version = "4.14.2" +description = "High-level concurrency and networking framework on top of asyncio or Trio" +optional = false +python-versions = ">=3.10" +groups = ["main"] +files = [ + {file = "anyio-4.14.2-py3-none-any.whl", hash = "sha256:9f505dda5ac9f0c8309b5e8bd445a8c2bf7246f3ce950121e45ea15bc41d1494"}, + {file = "anyio-4.14.2.tar.gz", hash = "sha256:cfa139f3ed1a23ee8f88a145ddb5ac7605b8bbfd8592baacd7ce3d8bb4313c7f"}, +] + +[package.dependencies] +idna = ">=2.8" + +[package.extras] +trio = ["trio (>=0.32.0)"] + +[[package]] +name = "attrs" +version = "26.1.0" +description = "Classes Without Boilerplate" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309"}, + {file = "attrs-26.1.0.tar.gz", hash = "sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32"}, +] + +[[package]] +name = "certifi" +version = "2026.6.17" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.7" +groups = ["main"] +files = [ + {file = "certifi-2026.6.17-py3-none-any.whl", hash = "sha256:2227dcbaafe0d2f59279d1762ddddc37783ed4354594f194ffc31d20f41fc3db"}, + {file = "certifi-2026.6.17.tar.gz", hash = "sha256:024c88eeec92ca068db80f02b8b07c9cef7b9fe261d1d535abfd5abd6f6af432"}, +] + +[[package]] +name = "cffi" +version = "2.1.0" +description = "Foreign Function Interface for Python calling C code." +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "os_name == \"nt\" and implementation_name != \"pypy\"" +files = [ + {file = "cffi-2.1.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:b65f590ef2a44640f9a05dbb548a429b4ade77913ce683ac8b1480777658a6c0"}, + {file = "cffi-2.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164bff1657b2a74f0b6d54e11c9b375bc97b931f2ca9c43fcf875838da1570dd"}, + {file = "cffi-2.1.0-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:c941bb58d5a6e1c3892d86e42927ed6c180302f07e6d395d08c416e594b98b46"}, + {file = "cffi-2.1.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a016194dbe13d14ee9556e734b772d8d67b947092b268d757fd4290e3ba2dfc2"}, + {file = "cffi-2.1.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:03e9810d18c646077e501f661b682fbf5dee4676048527ca3cffe66faa9960dd"}, + {file = "cffi-2.1.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:19c54ac121cad98450b4896fa9a43ee0180d57bc4bc911a33db6cab1efab6cd3"}, + {file = "cffi-2.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4d433a51f1870e43a13b6732f92aaf540ff77c2015097c78556f75a2d6c030e0"}, + {file = "cffi-2.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3d7f118b5adbfdfead90c25822690b02bc8074fba949bb7858bec4ebd55adb43"}, + {file = "cffi-2.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:c5f5df567f6eb216de69be06ce55c8b714090fae02b18a3b40da8163b8c5fa9c"}, + {file = "cffi-2.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:11b3fb55f4f8ad92274ed26705f65d8f91457de71f5380061eb6d125a768fecd"}, + {file = "cffi-2.1.0-cp310-cp310-win32.whl", hash = "sha256:9d72af0cf10a76a600a9690078fe31c63b9588c8e86bf9fd353f713c84b5db0f"}, + {file = "cffi-2.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:fb62edb5bb52cca65fab91a63afa7561607120d26090a7e8fda6fb9f064726da"}, + {file = "cffi-2.1.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:02cb7ff33ded4f1532476731f89ede53e2e488a8e6205515a82144246ffa7dcc"}, + {file = "cffi-2.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f5bce581e6b8c235e566a14768a943b172ada3ed73537bb0c0be1edee312d4e7"}, + {file = "cffi-2.1.0-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:30b65779d598c370374fefabf138d456fd6f3216bfa7bedfab1ba82025b0cd93"}, + {file = "cffi-2.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:88023dfe18799507b73f1dbb0d14326a17465de1bc9c9c7655c22845e9ddc3a2"}, + {file = "cffi-2.1.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:0a96b74cda968eebbad56d973efe5098974f0a9fb323865bf99ea1fd24e3e64c"}, + {file = "cffi-2.1.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:a5781494d4d400a3f47f8f1da94b324f6e6b440a53387774002890a2a2f4b50f"}, + {file = "cffi-2.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:aa7a1b53a2a4452ada2d1b5dade9960b2522f1e61293a811a077439e39029565"}, + {file = "cffi-2.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9d8272c0e483b024e1b9ad029821470ed8ec65631dbd90217469da0e7cd89f1c"}, + {file = "cffi-2.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:7762faa47e8ff7eb80bd261d9a7d8eea2d8baa69de5e95b70c1f338bbe712f02"}, + {file = "cffi-2.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:89095c1968b4ba8285840e131bf2891b09ae137fe2146905acae0354fbce1b5e"}, + {file = "cffi-2.1.0-cp311-cp311-win32.whl", hash = "sha256:64c753a0f87a256020004f37a1c8c02c480e725f910f0b2a0f3f07debd1b2479"}, + {file = "cffi-2.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:4f26194e3d95e06501b942642855aed4f953d55e95d7d01b7c4483db3ecff458"}, + {file = "cffi-2.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:35aaea0c7ee0e58a5cd8c2fd1a48fdf7ece0d2699b7ecdda08194e9ce5dd9b3d"}, + {file = "cffi-2.1.0-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:df2b82571a1b30f58a87bf4e5a9e78d2b1eff6c6ce8fd3aa3757221f93f0863f"}, + {file = "cffi-2.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:78474632761faa0fb96f30b1c928c84ebcf68713cbb80d15bab09dfe61640fde"}, + {file = "cffi-2.1.0-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:5972433ad71a9e46516584ef60a0fda12d9dc459938d1539c3ddecf9bdc1368d"}, + {file = "cffi-2.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b6422532152adf4e59b110cb2808cee7a033800952f5c036b4af047ee43199e7"}, + {file = "cffi-2.1.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:46b1c8db8f6122420f32d02fffb924c2fe9bc772d228c7c711748fff56aabb2b"}, + {file = "cffi-2.1.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:d9fafc5aa2e2a39aaf7f8cc0c1f044a9b07fca12e558dca53a3cc5c654ad67a7"}, + {file = "cffi-2.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1e9f50d192a3e525b15a75ab5114e442d83d657b7ec29182a991bc9a88fd3a66"}, + {file = "cffi-2.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:98fff996e983a36d3aa2eca83af40c5821202e7e6f32d13ae94e3d2286f10cfe"}, + {file = "cffi-2.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:379de10ce1ba048b1448599d1b37b24caee16309d1ac98d3982fc997f768700b"}, + {file = "cffi-2.1.0-cp312-cp312-win32.whl", hash = "sha256:9b8f0f26ca4e7513c534d351eca551947d053fac438f2a04ac96d882909b0d3a"}, + {file = "cffi-2.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:c97f080ea627e2863524c5af3836e2270b5f5dfff1f104392b959f8df0c5d384"}, + {file = "cffi-2.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:6d194185eabd279f1c05ebe3504265ddfc5ad2b58d0714f7db9f01da592e9eb6"}, + {file = "cffi-2.1.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:10537b1df4967ca26d21e5072d7d54188354483b91dc75058968d3f0cf13fbda"}, + {file = "cffi-2.1.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:a95b05f9baf29b91171b3a8bd2020b028835243e7b0ff6bb23e2a3c228518b1b"}, + {file = "cffi-2.1.0-cp313-cp313-macosx_10_15_x86_64.whl", hash = "sha256:15faec4adfff450819f3aee0e2e02c812de6edb88203aa58807955db2003472a"}, + {file = "cffi-2.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:716ff8ec22f20b4d988b12884086bcef0fc99737043e503f7a3935a6be99b1ea"}, + {file = "cffi-2.1.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:63960549e4f8dc41e31accb97b975abaecfc44c03e396c093a6436763c2ea7db"}, + {file = "cffi-2.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ff067a8d8d880e7809e4ac88eb009bb848870115317b306666502ccad30b147f"}, + {file = "cffi-2.1.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:3b926723c13eba9f81d2ef3820d63aeceec3b2d4639906047bf675cb8a7a500d"}, + {file = "cffi-2.1.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:47ff3a8bfd8cb9da1af7524b965127095055654c177fcfc7578debcb015eecd0"}, + {file = "cffi-2.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:799416bae98336e400981ff6e532d67d5c709cfb30afb79865a1315f94b0e224"}, + {file = "cffi-2.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:961be50688f7fba2fa65f63712d3b9b341a22311f5253460ce933f52f0de1c8c"}, + {file = "cffi-2.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:bf5c6cf48238b0eb4c086978c492ad1cbc22373fc5b2d7353b3a598ce6db887a"}, + {file = "cffi-2.1.0-cp313-cp313-win32.whl", hash = "sha256:db3eb7d46527159a878ec3460e9d40615bc25ba337d477db681aea6e4f05c5d2"}, + {file = "cffi-2.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:8e74a6135550c4748af665b1b1118b6aab33b1fc6a16f9aff630af107c3b4512"}, + {file = "cffi-2.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:2282cd5e38aa8accd03e99d1256af8411c84cdbee6a89d841b563fdbd1f3e50f"}, + {file = "cffi-2.1.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:d2117334c3af3bdcb9a88522b844a2bdb5efdc4f71c6c822df55486ae1c3347a"}, + {file = "cffi-2.1.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:702c436735fbe99d59ada02a1f65cfc0d31c0ee8b7290912f8fbc5cd1e4b16c3"}, + {file = "cffi-2.1.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:1ff3456eab0d889592d1936d6125bbfbc7ae4d3354a700f8bd80450a66445d4d"}, + {file = "cffi-2.1.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c4165821e131d6d4ca444347c2b694e2311bcfa3fe5a861cc72968f28867beac"}, + {file = "cffi-2.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:276f20fffd7b396e12516ba8edf9509210ac248cbbc5acbc39cd512f9f59ebe6"}, + {file = "cffi-2.1.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:7d5980a3433d4b71a5e120f9dd551403d7824e31e2e67124fe2769c404c06913"}, + {file = "cffi-2.1.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:6ca4919c6e4f89aa99c42510b42cf54596892c00b3f9077f6bdd1505e24b9c8d"}, + {file = "cffi-2.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d53d10f7da99ae46f7373b9150393e9c5eab9b224909982b43832668de4779f5"}, + {file = "cffi-2.1.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c351efb95e832a853a29361675f33a7ce53de1a109cd73fd47af0712213aa4ce"}, + {file = "cffi-2.1.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:dbf7c7a88e2bac086f06d14577332760bdeecc42bdec8ac4077f6260557d9326"}, + {file = "cffi-2.1.0-cp314-cp314-win32.whl", hash = "sha256:1854b724d00f6654c742097d5387569021be12d3a0f770eae1df8f8acfcc6acd"}, + {file = "cffi-2.1.0-cp314-cp314-win_amd64.whl", hash = "sha256:1b96bfe2c4bd825681b7d311ad6d9b7280a091f43e8f63da5729638083cd3bfb"}, + {file = "cffi-2.1.0-cp314-cp314-win_arm64.whl", hash = "sha256:7d28dff1db6764108bc30788d85d61c876beff416d9a49cb9dd7c5a9f34f5804"}, + {file = "cffi-2.1.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:7ea6b3e2c4250ff1de21c630fe72d0f63eb95c2c32ffbf64a358cf4a8836d714"}, + {file = "cffi-2.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6af371f3767faeffc6ac1ef57cdfd25844403e9d3f476c5537caee499de96376"}, + {file = "cffi-2.1.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:eb4e8997a49aa2c08a3e43c9045d224448b8941d88e7ac163c7d383e560cbf98"}, + {file = "cffi-2.1.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:bf01d8c84cbea96b944c73b22182e6c7c432b3475632b8111dbfdc95ddad6e13"}, + {file = "cffi-2.1.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:33eb1ad83ebe8f313e0df035c406227d55a79456704a863fad9842136af5ad7d"}, + {file = "cffi-2.1.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ac0f1a2d0cfa7eea3f2aaf006ab6e70e8feeb16b75d65b7e5939982ca2f11056"}, + {file = "cffi-2.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c16914df9fb7f500e440e6875fa23ff5e0b31db01fa9c06af98d59a91f0dc2e4"}, + {file = "cffi-2.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5ecbd0499275d57506d397eebe1981cee87b47fcd9ef5c22cab7ed7644a39a94"}, + {file = "cffi-2.1.0-cp314-cp314t-win32.whl", hash = "sha256:7d034dcffa09e9a46c93fa3a3be402096cb5354ac6e41ab8e5cc9cd8b642ad76"}, + {file = "cffi-2.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:0582a58f3051372229ca8e7f5f589f9e5632678208d8636fea3676711fdf7fe5"}, + {file = "cffi-2.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:510aeeeac94811b138077451da1fb18b308a5feab47dd2b603af55804155e1c8"}, + {file = "cffi-2.1.0-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:2e9dabb9abcb7ad15938c7196ad5c1718a4e6d33cc79b4c0209bdb64c4a54a5c"}, + {file = "cffi-2.1.0-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:37f525a7e7e50c017fdebe58b787be310ad59357ae43a053943a6e1a6c526001"}, + {file = "cffi-2.1.0-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:95f2954c2c9473d892eca6e0409f3568b37ab62a8eedb122461f73cc273476e3"}, + {file = "cffi-2.1.0-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:cdf2448aab5f661c9315308ec8b93f4e8a1a67a3c733f8631067a2b67d5913dc"}, + {file = "cffi-2.1.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:90bec57cf82089383bd06a605b3eb8daebf7e5a668520beaf6e327a83a947699"}, + {file = "cffi-2.1.0-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:6274dcb2d15cef48daa73ed1be5a40d501d74dccd0cd6db364776d12cb6ba022"}, + {file = "cffi-2.1.0-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:2b71d409cccee78310ab5dec549aed052aaea483346e282c7b02362596e01bb0"}, + {file = "cffi-2.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7d3538f9c0e50670f4deb93dbb696576e60590369cae2faf7de681e597a8a1f1"}, + {file = "cffi-2.1.0-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:8f9ec95b8a043d3dfbc74d9abc6f7baf524dd27a8dc160b0a32ff9cdab650c28"}, + {file = "cffi-2.1.0-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:af5e2915d41fe6c961694d7bfdc8562942638200f3ce2765dfb8b745cf997629"}, + {file = "cffi-2.1.0-cp315-cp315-win32.whl", hash = "sha256:0a42c688d19fca6e095a53c6a6e2295a5b050a8b289f109adab02a9e61a25de6"}, + {file = "cffi-2.1.0-cp315-cp315-win_amd64.whl", hash = "sha256:bccbbb5ee76a61f9d99b5bf3846a51d7fca4b6a732fe46f89295610edaf41853"}, + {file = "cffi-2.1.0-cp315-cp315-win_arm64.whl", hash = "sha256:8d35c139744adb3e727cd51b1a18324bbe44b8bd41bf8322bca4d41289f48eda"}, + {file = "cffi-2.1.0-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:f9912624a0c0b834b7520d7769b3644453aabc0a7e1c839da7359f050750e9bc"}, + {file = "cffi-2.1.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:df92f2aba50eb4d96718b68ef76f2e57a57b54f2fa62333496d16c6d585a85ca"}, + {file = "cffi-2.1.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0520e1f4c35f44e209cbbb421b67eec42e6a157f59444dfb6058874ff3610e5d"}, + {file = "cffi-2.1.0-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:3681e031db29958a7502f5c0c9d6bbc4c36cb20f7b104086fa642d1799631ff8"}, + {file = "cffi-2.1.0-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:762f99479dcb369f60ab9017ad4ab97a36a1dd7c1ee5a3b15db0f4b8659120cd"}, + {file = "cffi-2.1.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0611e7ebf90573a535ebdc33ae9da222d037853983e13359f580fab781ca017f"}, + {file = "cffi-2.1.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:86cf8755a791f72c85dc287128cc62d4f24d392e3f1e15837245623f4a33cccc"}, + {file = "cffi-2.1.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:ba00f661f8ba35d075c937174e27c2c421cec3942fd2e0ea3e66996757c0fdd9"}, + {file = "cffi-2.1.0-cp315-cp315t-win32.whl", hash = "sha256:cb96698e3c7413d906ce83f8ffd245ec1bd94707541f299d0ce4d6b0193e982b"}, + {file = "cffi-2.1.0-cp315-cp315t-win_amd64.whl", hash = "sha256:f146d154428a2523f9cc7936c02353c2459b8f6cf07d3cd1ee1c0a611109c5d5"}, + {file = "cffi-2.1.0-cp315-cp315t-win_arm64.whl", hash = "sha256:cbb7640ce37159548d2147b5b8c241f962143d4c71231431820783f4dc78f210"}, + {file = "cffi-2.1.0.tar.gz", hash = "sha256:efc1cdd798b1aaf39b4610bba7aad28c9bea9b910f25c784ccf9ec1fa719d1f9"}, +] + +[package.dependencies] +pycparser = {version = "*", markers = "implementation_name != \"PyPy\""} + +[[package]] +name = "contourpy" +version = "1.3.3" +description = "Python library for calculating contours of 2D quadrilateral grids" +optional = false +python-versions = ">=3.11" +groups = ["main"] +files = [ + {file = "contourpy-1.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:709a48ef9a690e1343202916450bc48b9e51c049b089c7f79a267b46cffcdaa1"}, + {file = "contourpy-1.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:23416f38bfd74d5d28ab8429cc4d63fa67d5068bd711a85edb1c3fb0c3e2f381"}, + {file = "contourpy-1.3.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:929ddf8c4c7f348e4c0a5a3a714b5c8542ffaa8c22954862a46ca1813b667ee7"}, + {file = "contourpy-1.3.3-cp311-cp311-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9e999574eddae35f1312c2b4b717b7885d4edd6cb46700e04f7f02db454e67c1"}, + {file = "contourpy-1.3.3-cp311-cp311-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0bf67e0e3f482cb69779dd3061b534eb35ac9b17f163d851e2a547d56dba0a3a"}, + {file = "contourpy-1.3.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:51e79c1f7470158e838808d4a996fa9bac72c498e93d8ebe5119bc1e6becb0db"}, + {file = "contourpy-1.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:598c3aaece21c503615fd59c92a3598b428b2f01bfb4b8ca9c4edeecc2438620"}, + {file = "contourpy-1.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:322ab1c99b008dad206d406bb61d014cf0174df491ae9d9d0fac6a6fda4f977f"}, + {file = "contourpy-1.3.3-cp311-cp311-win32.whl", hash = "sha256:fd907ae12cd483cd83e414b12941c632a969171bf90fc937d0c9f268a31cafff"}, + {file = "contourpy-1.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:3519428f6be58431c56581f1694ba8e50626f2dd550af225f82fb5f5814d2a42"}, + {file = "contourpy-1.3.3-cp311-cp311-win_arm64.whl", hash = "sha256:15ff10bfada4bf92ec8b31c62bf7c1834c244019b4a33095a68000d7075df470"}, + {file = "contourpy-1.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b08a32ea2f8e42cf1d4be3169a98dd4be32bafe4f22b6c4cb4ba810fa9e5d2cb"}, + {file = "contourpy-1.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:556dba8fb6f5d8742f2923fe9457dbdd51e1049c4a43fd3986a0b14a1d815fc6"}, + {file = "contourpy-1.3.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92d9abc807cf7d0e047b95ca5d957cf4792fcd04e920ca70d48add15c1a90ea7"}, + {file = "contourpy-1.3.3-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b2e8faa0ed68cb29af51edd8e24798bb661eac3bd9f65420c1887b6ca89987c8"}, + {file = "contourpy-1.3.3-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:626d60935cf668e70a5ce6ff184fd713e9683fb458898e4249b63be9e28286ea"}, + {file = "contourpy-1.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d00e655fcef08aba35ec9610536bfe90267d7ab5ba944f7032549c55a146da1"}, + {file = "contourpy-1.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:451e71b5a7d597379ef572de31eeb909a87246974d960049a9848c3bc6c41bf7"}, + {file = "contourpy-1.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:459c1f020cd59fcfe6650180678a9993932d80d44ccde1fa1868977438f0b411"}, + {file = "contourpy-1.3.3-cp312-cp312-win32.whl", hash = "sha256:023b44101dfe49d7d53932be418477dba359649246075c996866106da069af69"}, + {file = "contourpy-1.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:8153b8bfc11e1e4d75bcb0bff1db232f9e10b274e0929de9d608027e0d34ff8b"}, + {file = "contourpy-1.3.3-cp312-cp312-win_arm64.whl", hash = "sha256:07ce5ed73ecdc4a03ffe3e1b3e3c1166db35ae7584be76f65dbbe28a7791b0cc"}, + {file = "contourpy-1.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:177fb367556747a686509d6fef71d221a4b198a3905fe824430e5ea0fda54eb5"}, + {file = "contourpy-1.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d002b6f00d73d69333dac9d0b8d5e84d9724ff9ef044fd63c5986e62b7c9e1b1"}, + {file = "contourpy-1.3.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:348ac1f5d4f1d66d3322420f01d42e43122f43616e0f194fc1c9f5d830c5b286"}, + {file = "contourpy-1.3.3-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:655456777ff65c2c548b7c454af9c6f33f16c8884f11083244b5819cc214f1b5"}, + {file = "contourpy-1.3.3-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:644a6853d15b2512d67881586bd03f462c7ab755db95f16f14d7e238f2852c67"}, + {file = "contourpy-1.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4debd64f124ca62069f313a9cb86656ff087786016d76927ae2cf37846b006c9"}, + {file = "contourpy-1.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a15459b0f4615b00bbd1e91f1b9e19b7e63aea7483d03d804186f278c0af2659"}, + {file = "contourpy-1.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ca0fdcd73925568ca027e0b17ab07aad764be4706d0a925b89227e447d9737b7"}, + {file = "contourpy-1.3.3-cp313-cp313-win32.whl", hash = "sha256:b20c7c9a3bf701366556e1b1984ed2d0cedf999903c51311417cf5f591d8c78d"}, + {file = "contourpy-1.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:1cadd8b8969f060ba45ed7c1b714fe69185812ab43bd6b86a9123fe8f99c3263"}, + {file = "contourpy-1.3.3-cp313-cp313-win_arm64.whl", hash = "sha256:fd914713266421b7536de2bfa8181aa8c699432b6763a0ea64195ebe28bff6a9"}, + {file = "contourpy-1.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:88df9880d507169449d434c293467418b9f6cbe82edd19284aa0409e7fdb933d"}, + {file = "contourpy-1.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:d06bb1f751ba5d417047db62bca3c8fde202b8c11fb50742ab3ab962c81e8216"}, + {file = "contourpy-1.3.3-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4e6b05a45525357e382909a4c1600444e2a45b4795163d3b22669285591c1ae"}, + {file = "contourpy-1.3.3-cp313-cp313t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ab3074b48c4e2cf1a960e6bbeb7f04566bf36b1861d5c9d4d8ac04b82e38ba20"}, + {file = "contourpy-1.3.3-cp313-cp313t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c3d53c796f8647d6deb1abe867daeb66dcc8a97e8455efa729516b997b8ed99"}, + {file = "contourpy-1.3.3-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50ed930df7289ff2a8d7afeb9603f8289e5704755c7e5c3bbd929c90c817164b"}, + {file = "contourpy-1.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4feffb6537d64b84877da813a5c30f1422ea5739566abf0bd18065ac040e120a"}, + {file = "contourpy-1.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2b7e9480ffe2b0cd2e787e4df64270e3a0440d9db8dc823312e2c940c167df7e"}, + {file = "contourpy-1.3.3-cp313-cp313t-win32.whl", hash = "sha256:283edd842a01e3dcd435b1c5116798d661378d83d36d337b8dde1d16a5fc9ba3"}, + {file = "contourpy-1.3.3-cp313-cp313t-win_amd64.whl", hash = "sha256:87acf5963fc2b34825e5b6b048f40e3635dd547f590b04d2ab317c2619ef7ae8"}, + {file = "contourpy-1.3.3-cp313-cp313t-win_arm64.whl", hash = "sha256:3c30273eb2a55024ff31ba7d052dde990d7d8e5450f4bbb6e913558b3d6c2301"}, + {file = "contourpy-1.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fde6c716d51c04b1c25d0b90364d0be954624a0ee9d60e23e850e8d48353d07a"}, + {file = "contourpy-1.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:cbedb772ed74ff5be440fa8eee9bd49f64f6e3fc09436d9c7d8f1c287b121d77"}, + {file = "contourpy-1.3.3-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22e9b1bd7a9b1d652cd77388465dc358dafcd2e217d35552424aa4f996f524f5"}, + {file = "contourpy-1.3.3-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a22738912262aa3e254e4f3cb079a95a67132fc5a063890e224393596902f5a4"}, + {file = "contourpy-1.3.3-cp314-cp314-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:afe5a512f31ee6bd7d0dda52ec9864c984ca3d66664444f2d72e0dc4eb832e36"}, + {file = "contourpy-1.3.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f64836de09927cba6f79dcd00fdd7d5329f3fccc633468507079c829ca4db4e3"}, + {file = "contourpy-1.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:1fd43c3be4c8e5fd6e4f2baeae35ae18176cf2e5cced681cca908addf1cdd53b"}, + {file = "contourpy-1.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6afc576f7b33cf00996e5c1102dc2a8f7cc89e39c0b55df93a0b78c1bd992b36"}, + {file = "contourpy-1.3.3-cp314-cp314-win32.whl", hash = "sha256:66c8a43a4f7b8df8b71ee1840e4211a3c8d93b214b213f590e18a1beca458f7d"}, + {file = "contourpy-1.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:cf9022ef053f2694e31d630feaacb21ea24224be1c3ad0520b13d844274614fd"}, + {file = "contourpy-1.3.3-cp314-cp314-win_arm64.whl", hash = "sha256:95b181891b4c71de4bb404c6621e7e2390745f887f2a026b2d99e92c17892339"}, + {file = "contourpy-1.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:33c82d0138c0a062380332c861387650c82e4cf1747aaa6938b9b6516762e772"}, + {file = "contourpy-1.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ea37e7b45949df430fe649e5de8351c423430046a2af20b1c1961cae3afcda77"}, + {file = "contourpy-1.3.3-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d304906ecc71672e9c89e87c4675dc5c2645e1f4269a5063b99b0bb29f232d13"}, + {file = "contourpy-1.3.3-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca658cd1a680a5c9ea96dc61cdbae1e85c8f25849843aa799dfd3cb370ad4fbe"}, + {file = "contourpy-1.3.3-cp314-cp314t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ab2fd90904c503739a75b7c8c5c01160130ba67944a7b77bbf36ef8054576e7f"}, + {file = "contourpy-1.3.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7301b89040075c30e5768810bc96a8e8d78085b47d8be6e4c3f5a0b4ed478a0"}, + {file = "contourpy-1.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2a2a8b627d5cc6b7c41a4beff6c5ad5eb848c88255fda4a8745f7e901b32d8e4"}, + {file = "contourpy-1.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:fd6ec6be509c787f1caf6b247f0b1ca598bef13f4ddeaa126b7658215529ba0f"}, + {file = "contourpy-1.3.3-cp314-cp314t-win32.whl", hash = "sha256:e74a9a0f5e3fff48fb5a7f2fd2b9b70a3fe014a67522f79b7cca4c0c7e43c9ae"}, + {file = "contourpy-1.3.3-cp314-cp314t-win_amd64.whl", hash = "sha256:13b68d6a62db8eafaebb8039218921399baf6e47bf85006fd8529f2a08ef33fc"}, + {file = "contourpy-1.3.3-cp314-cp314t-win_arm64.whl", hash = "sha256:b7448cb5a725bb1e35ce88771b86fba35ef418952474492cf7c764059933ff8b"}, + {file = "contourpy-1.3.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cd5dfcaeb10f7b7f9dc8941717c6c2ade08f587be2226222c12b25f0483ed497"}, + {file = "contourpy-1.3.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:0c1fc238306b35f246d61a1d416a627348b5cf0648648a031e14bb8705fcdfe8"}, + {file = "contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:70f9aad7de812d6541d29d2bbf8feb22ff7e1c299523db288004e3157ff4674e"}, + {file = "contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5ed3657edf08512fc3fe81b510e35c2012fbd3081d2e26160f27ca28affec989"}, + {file = "contourpy-1.3.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:3d1a3799d62d45c18bafd41c5fa05120b96a28079f2393af559b843d1a966a77"}, + {file = "contourpy-1.3.3.tar.gz", hash = "sha256:083e12155b210502d0bca491432bb04d56dc3432f95a979b429f2848c3dbe880"}, +] + +[package.dependencies] +numpy = ">=1.25" + +[package.extras] +bokeh = ["bokeh", "selenium"] +docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"] +mypy = ["bokeh", "contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.17.0)", "types-Pillow"] +test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] +test-no-images = ["pytest", "pytest-cov", "pytest-rerunfailures", "pytest-xdist", "wurlitzer"] + +[[package]] +name = "cycler" +version = "0.12.1" +description = "Composable style cycles" +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"}, + {file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"}, +] + +[package.extras] +docs = ["ipython", "matplotlib", "numpydoc", "sphinx"] +tests = ["pytest", "pytest-cov", "pytest-xdist"] + +[[package]] +name = "fonttools" +version = "4.63.0" +description = "Tools to manipulate font files" +optional = false +python-versions = ">=3.10" +groups = ["main"] +files = [ + {file = "fonttools-4.63.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e3297a6a4059b4acc3a1e9a8b04741f240a80044eef08ebd32e8b5bcdddce75b"}, + {file = "fonttools-4.63.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b1cd75a03ad8cb5bc40c90bfde68c0c47de423aa19e5c0f362b43520645eea94"}, + {file = "fonttools-4.63.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c0425b277a59cff3d80ca42162a8de360f318438a2ac83570842a678d826d579"}, + {file = "fonttools-4.63.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d7e5c9973aa04c95650c96e5f5ad865fbf42d62079163ecfab1e01cbc2504c22"}, + {file = "fonttools-4.63.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cb014d58140a38135f16064c74c652ed57aa0b75cbf8bb59cac821f7edb5334e"}, + {file = "fonttools-4.63.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:032038247a96c1690f9f31e377c389383c902531b085aa4e4dabd6f57f870e69"}, + {file = "fonttools-4.63.0-cp310-cp310-win32.whl", hash = "sha256:a8b33a82979e0a6a34ff435cc81317be1f95ec1ebb7a3a2d1c8a6a54f02ae44e"}, + {file = "fonttools-4.63.0-cp310-cp310-win_amd64.whl", hash = "sha256:0c18358a155d75034911c5ee397a5b44cd19dd325dbb8b35fb60bf421d6a72ac"}, + {file = "fonttools-4.63.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2b8ae05d9eacf6081414d759c0a352769ac28ce31280d6bb8e77b03f9e3c449f"}, + {file = "fonttools-4.63.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:79cdc9f567aec74a72918fd060283911406750cbc9fd28c1316023deb6ce31a9"}, + {file = "fonttools-4.63.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2c14b4fd138c4bafcca294765c547914e1aa431ae1ca94ab99d8db08c958bd3b"}, + {file = "fonttools-4.63.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d76ac49f929aecaf82d83250b8347e099d7aecba0f4726c1d9b6df3b8bb5fe18"}, + {file = "fonttools-4.63.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:dcf076a4474fe0d7367e5bbf5b052c7284fa1feca729c04176ce513521afd8a0"}, + {file = "fonttools-4.63.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7dd683fef0663e9f0f45cf541d788d24caa3ec9db50796b588e1757d8b3bc007"}, + {file = "fonttools-4.63.0-cp311-cp311-win32.whl", hash = "sha256:afefc1ed0a59785a7fb06ea7e1678e849c193e1e387db783579bc7b3056fcfcb"}, + {file = "fonttools-4.63.0-cp311-cp311-win_amd64.whl", hash = "sha256:063e08bd17bd5a90127a14123de0d6a952dbc847695fd98b63c043d58057f90c"}, + {file = "fonttools-4.63.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:37dd23e621e3b0aef1baa70a303b80aaf38449632cfc8fd2a55fb285bbccfc02"}, + {file = "fonttools-4.63.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a9faff9e0c1f76f9fd55899d2ce785832efebab37eb8ae13995853aef178bef0"}, + {file = "fonttools-4.63.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ef3048ef05dbb552b89817713d9cac912e00d0fde4a3105c00d29e52e10c89af"}, + {file = "fonttools-4.63.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:58dc6bb86a78d782f00f9190ca02c119cf5bbe2807536e361e18d42019f877d8"}, + {file = "fonttools-4.63.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ee08ebfa58f6e1aeff5697ab9582105bb620008c1caafb681e4c557e7483027b"}, + {file = "fonttools-4.63.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:27fdc65af8da6f88b9c6121c47a464cbe359fcfff7ff6fc2d37a1f395d755b78"}, + {file = "fonttools-4.63.0-cp312-cp312-win32.whl", hash = "sha256:af2fd1664d00a397d75f806985ddb36282091c2131a73a6485c23b4a34722263"}, + {file = "fonttools-4.63.0-cp312-cp312-win_amd64.whl", hash = "sha256:59ac449f8cca9b4ffa08d2e7bbadad87ce710d69d1eda5c3c1ce579baa987272"}, + {file = "fonttools-4.63.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:cd7e9857e5e63738b9d9fd707bc1f59c8b09e5177726d23664db393c59bb08bd"}, + {file = "fonttools-4.63.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c2a2a42198b696a6f48fad91709afb55176e66a5e566131219dba372fb7f8c59"}, + {file = "fonttools-4.63.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e874792a8212b44583ea02189d9e693906b2f78b261f372f95d6c563210ac1d"}, + {file = "fonttools-4.63.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:22135da48a348785c5e2d5d2d9d6bec5ed44adacbaeb9db12d9493bf6c6bfa68"}, + {file = "fonttools-4.63.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ccf41f2efdf56994d22d73bef4ced1052161958169428d06ba9724ea9e9a64be"}, + {file = "fonttools-4.63.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9ced0bd02ac751dd6319b0da88aaef24414e3b0dbc32bb4f24944821a3741a27"}, + {file = "fonttools-4.63.0-cp313-cp313-win32.whl", hash = "sha256:85be818f5506e8a7753153def2c9550178f0ecae6a47b5e0e8dbb23f7cc90380"}, + {file = "fonttools-4.63.0-cp313-cp313-win_amd64.whl", hash = "sha256:ba04cb5891d4c0c21b6da95eda8d7b090021508a294fff33464fc7d241e0856b"}, + {file = "fonttools-4.63.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:fd1e3094f42d806d3d7c79162fc59e5910fcbe3a7360c385b8da969bc4493745"}, + {file = "fonttools-4.63.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:6e528da43bc3791085f8cb6141b1d13e459226790240340fcbb4625649238b03"}, + {file = "fonttools-4.63.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b2248c5decb223562f7902ff6325077a073f608ee8e33e88ad88db734eb9f49"}, + {file = "fonttools-4.63.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:308f957cdeaf8abe4e5f2f124902ef405448af92c90f80e302a3b771c2e6116b"}, + {file = "fonttools-4.63.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:bf00f21eb5fb721dbaf73d1e9da6d02a1af7768f2ebcf9798be98beab8ba90f6"}, + {file = "fonttools-4.63.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c1aaa4b9c75798400ac043ce04d74e7830376c85095a5a6ed7cba2f17a266bf4"}, + {file = "fonttools-4.63.0-cp314-cp314-win32.whl", hash = "sha256:22693918177bd9ceabec4736d338045f357769416fc6b0b2508eefef75b08616"}, + {file = "fonttools-4.63.0-cp314-cp314-win_amd64.whl", hash = "sha256:7d782fac32985914c351556f68ac0855391572bcd87de50e05970d3cd4c96fc5"}, + {file = "fonttools-4.63.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:6db5140a60a5d731d21ec076745b40a310607731b0a565b50776393188649001"}, + {file = "fonttools-4.63.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:7d76edbff9014094dbf03bd2d074709dfa6ec7aba13d838c937a2b33d2d6a86e"}, + {file = "fonttools-4.63.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0eac00b9118c3c2f87d272e45341871c5b3066baa3c86897fa634a7c3fb59096"}, + {file = "fonttools-4.63.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:51394295f1a51de8b5f30bdb1e1b9a4231536c7064ef5c6e211eec19fa36036f"}, + {file = "fonttools-4.63.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:9e12f105d2b6342c559c298afb674006bb2893afc7102dcf8a1b55b0486b4e40"}, + {file = "fonttools-4.63.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:796f27556dbe094c4824f75ca85267e4df776c79036c8441469a4df37038c196"}, + {file = "fonttools-4.63.0-cp314-cp314t-win32.whl", hash = "sha256:948428a275741f0b64b113c955425a953314f4b9ab9997f73a72c83e68e569c8"}, + {file = "fonttools-4.63.0-cp314-cp314t-win_amd64.whl", hash = "sha256:6d4741eb179121cab9eea4cb2393d24492373a260d7945006358c08cfbf45419"}, + {file = "fonttools-4.63.0-py3-none-any.whl", hash = "sha256:445af2eab030a16b9171ea8bdda7ebf7d96bda2df88ee182a464252f6e05e20d"}, + {file = "fonttools-4.63.0.tar.gz", hash = "sha256:caeb583deeb5168e694b65cda8b4ee62abedfa66cf88488734466f2366b9c4e0"}, +] + +[package.extras] +all = ["brotli (>=1.0.1) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; platform_python_implementation != \"CPython\"", "lxml (>=4.0)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres ; platform_python_implementation == \"PyPy\"", "pycairo", "scipy ; platform_python_implementation != \"PyPy\"", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.45.0)", "unicodedata2 (>=17.0.0) ; python_version <= \"3.14\"", "xattr ; sys_platform == \"darwin\"", "zopfli (>=0.1.4)"] +graphite = ["lz4 (>=1.7.4.2)"] +interpolatable = ["munkres ; platform_python_implementation == \"PyPy\"", "pycairo", "scipy ; platform_python_implementation != \"PyPy\""] +lxml = ["lxml (>=4.0)"] +pathops = ["skia-pathops (>=0.5.0)"] +plot = ["matplotlib"] +repacker = ["uharfbuzz (>=0.45.0)"] +symfont = ["sympy"] +type1 = ["xattr ; sys_platform == \"darwin\""] +unicode = ["unicodedata2 (>=17.0.0) ; python_version <= \"3.14\""] +woff = ["brotli (>=1.0.1) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; platform_python_implementation != \"CPython\"", "zopfli (>=0.1.4)"] + +[[package]] +name = "h11" +version = "0.16.0" +description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86"}, + {file = "h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1"}, +] + +[[package]] +name = "httpcore" +version = "1.0.9" +description = "A minimal low-level HTTP client." +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55"}, + {file = "httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8"}, +] + +[package.dependencies] +certifi = "*" +h11 = ">=0.16" + +[package.extras] +asyncio = ["anyio (>=4.0,<5.0)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (==1.*)"] +trio = ["trio (>=0.22.0,<1.0)"] + +[[package]] +name = "httpx" +version = "0.28.1" +description = "The next generation HTTP client." +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"}, + {file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"}, +] + +[package.dependencies] +anyio = "*" +certifi = "*" +httpcore = "==1.*" +idna = "*" + +[package.extras] +brotli = ["brotli ; platform_python_implementation == \"CPython\"", "brotlicffi ; platform_python_implementation != \"CPython\""] +cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (==1.*)"] +zstd = ["zstandard (>=0.18.0)"] + +[[package]] +name = "idna" +version = "3.18" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "idna-3.18-py3-none-any.whl", hash = "sha256:7f952cbe720b688055e3f87de14f5c3e5fdaa8bc3928985c4077ca689de849a2"}, + {file = "idna-3.18.tar.gz", hash = "sha256:ffb385a7e039654cef1ab9ef32c6fafe283c0c0467bba1d9029738ce4a14a848"}, +] + +[package.extras] +all = ["mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] + +[[package]] +name = "keyboard" +version = "0.13.5" +description = "Hook and simulate keyboard events on Windows and Linux" +optional = false +python-versions = "*" +groups = ["main"] +files = [ + {file = "keyboard-0.13.5-py3-none-any.whl", hash = "sha256:8e9c2422f1217e0bd84489b9ecd361027cc78415828f4fe4f88dd4acd587947b"}, + {file = "keyboard-0.13.5.zip", hash = "sha256:63ed83305955939ca5c9a73755e5cc43e8242263f5ad5fd3bb7e0b032f3d308b"}, +] + +[package.dependencies] +pyobjc = {version = "*", markers = "sys_platform == \"darwin\""} + +[[package]] +name = "kiwisolver" +version = "1.5.0" +description = "A fast implementation of the Cassowary constraint solver" +optional = false +python-versions = ">=3.10" +groups = ["main"] +files = [ + {file = "kiwisolver-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:32cc0a5365239a6ea0c6ed461e8838d053b57e397443c0ca894dcc8e388d4374"}, + {file = "kiwisolver-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cc0b66c1eec9021353a4b4483afb12dfd50e3669ffbb9152d6842eb34c7e29fd"}, + {file = "kiwisolver-1.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:86e0287879f75621ae85197b0877ed2f8b7aa57b511c7331dce2eb6f4de7d476"}, + {file = "kiwisolver-1.5.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:62f59da443c4f4849f73a51a193b1d9d258dcad0c41bc4d1b8fb2bcc04bfeb22"}, + {file = "kiwisolver-1.5.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9190426b7aa26c5229501fa297b8d0653cfd3f5a36f7990c264e157cbf886b3b"}, + {file = "kiwisolver-1.5.0-cp310-cp310-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c8277104ded0a51e699c8c3aff63ce2c56d4ed5519a5f73e0fd7057f959a2b9e"}, + {file = "kiwisolver-1.5.0-cp310-cp310-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8f9baf6f0a6e7571c45c8863010b45e837c3ee1c2c77fcd6ef423be91b21fedb"}, + {file = "kiwisolver-1.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cff8e5383db4989311f99e814feeb90c4723eb4edca425b9d5d9c3fefcdd9537"}, + {file = "kiwisolver-1.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ebae99ed6764f2b5771c522477b311be313e8841d2e0376db2b10922daebbba4"}, + {file = "kiwisolver-1.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:d5cd5189fc2b6a538b75ae45433140c4823463918f7b1617c31e68b085c0022c"}, + {file = "kiwisolver-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f42c23db5d1521218a3276bb08666dcb662896a0be7347cba864eca45ff64ede"}, + {file = "kiwisolver-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:94eff26096eb5395136634622515b234ecb6c9979824c1f5004c6e3c3c85ccd2"}, + {file = "kiwisolver-1.5.0-cp310-cp310-win_arm64.whl", hash = "sha256:dd952e03bfbb096cfe2dd35cd9e00f269969b67536cb4370994afc20ff2d0875"}, + {file = "kiwisolver-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9eed0f7edbb274413b6ee781cca50541c8c0facd3d6fd289779e494340a2b85c"}, + {file = "kiwisolver-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c4923e404d6bcd91b6779c009542e5647fef32e4a5d75e115e3bbac6f2335eb"}, + {file = "kiwisolver-1.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0df54df7e686afa55e6f21fb86195224a6d9beb71d637e8d7920c95cf0f89aac"}, + {file = "kiwisolver-1.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2517e24d7315eb51c10664cdb865195df38ab74456c677df67bb47f12d088a27"}, + {file = "kiwisolver-1.5.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ff710414307fefa903e0d9bdf300972f892c23477829f49504e59834f4195398"}, + {file = "kiwisolver-1.5.0-cp311-cp311-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6176c1811d9d5a04fa391c490cc44f451e240697a16977f11c6f722efb9041db"}, + {file = "kiwisolver-1.5.0-cp311-cp311-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:50847dca5d197fcbd389c805aa1a1cf32f25d2e7273dc47ab181a517666b68cc"}, + {file = "kiwisolver-1.5.0-cp311-cp311-manylinux_2_39_riscv64.whl", hash = "sha256:01808c6d15f4c3e8559595d6d1fe6411c68e4a3822b4b9972b44473b24f4e679"}, + {file = "kiwisolver-1.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f1f9f4121ec58628c96baa3de1a55a4e3a333c5102c8e94b64e23bf7b2083309"}, + {file = "kiwisolver-1.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b7d335370ae48a780c6e6a6bbfa97342f563744c39c35562f3f367665f5c1de2"}, + {file = "kiwisolver-1.5.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:800ee55980c18545af444d93fdd60c56b580db5cc54867d8cbf8a1dc0829938c"}, + {file = "kiwisolver-1.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:c438f6ca858697c9ab67eb28246c92508af972e114cac34e57a6d4ba17a3ac08"}, + {file = "kiwisolver-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8c63c91f95173f9c2a67c7c526b2cea976828a0e7fced9cdcead2802dc10f8a4"}, + {file = "kiwisolver-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:beb7f344487cdcb9e1efe4b7a29681b74d34c08f0043a327a74da852a6749e7b"}, + {file = "kiwisolver-1.5.0-cp311-cp311-win_arm64.whl", hash = "sha256:ad4ae4ffd1ee9cd11357b4c66b612da9888f4f4daf2f36995eda64bd45370cac"}, + {file = "kiwisolver-1.5.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:4e9750bc21b886308024f8a54ccb9a2cc38ac9fa813bf4348434e3d54f337ff9"}, + {file = "kiwisolver-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:72ec46b7eba5b395e0a7b63025490d3214c11013f4aacb4f5e8d6c3041829588"}, + {file = "kiwisolver-1.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ed3a984b31da7481b103f68776f7128a89ef26ed40f4dc41a2223cda7fb24819"}, + {file = "kiwisolver-1.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bb5136fb5352d3f422df33f0c879a1b0c204004324150cc3b5e3c4f310c9049f"}, + {file = "kiwisolver-1.5.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b2af221f268f5af85e776a73d62b0845fc8baf8ef0abfae79d29c77d0e776aaf"}, + {file = "kiwisolver-1.5.0-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b0f172dc8ffaccb8522d7c5d899de00133f2f1ca7b0a49b7da98e901de87bf2d"}, + {file = "kiwisolver-1.5.0-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6ab8ba9152203feec73758dad83af9a0bbe05001eb4639e547207c40cfb52083"}, + {file = "kiwisolver-1.5.0-cp312-cp312-manylinux_2_39_riscv64.whl", hash = "sha256:cdee07c4d7f6d72008d3f73b9bf027f4e11550224c7c50d8df1ae4a37c1402a6"}, + {file = "kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7c60d3c9b06fb23bd9c6139281ccbdc384297579ae037f08ae90c69f6845c0b1"}, + {file = "kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:e315e5ec90d88e140f57696ff85b484ff68bb311e36f2c414aa4286293e6dee0"}, + {file = "kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:1465387ac63576c3e125e5337a6892b9e99e0627d52317f3ca79e6930d889d15"}, + {file = "kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:530a3fd64c87cffa844d4b6b9768774763d9caa299e9b75d8eca6a4423b31314"}, + {file = "kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1d9daea4ea6b9be74fe2f01f7fbade8d6ffab263e781274cffca0dba9be9eec9"}, + {file = "kiwisolver-1.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:f18c2d9782259a6dc132fdc7a63c168cbc74b35284b6d75c673958982a378384"}, + {file = "kiwisolver-1.5.0-cp312-cp312-win_arm64.whl", hash = "sha256:f7c7553b13f69c1b29a5bde08ddc6d9d0c8bfb84f9ed01c30db25944aeb852a7"}, + {file = "kiwisolver-1.5.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:fd40bb9cd0891c4c3cb1ddf83f8bbfa15731a248fdc8162669405451e2724b09"}, + {file = "kiwisolver-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c0e1403fd7c26d77c1f03e096dc58a5c726503fa0db0456678b8668f76f521e3"}, + {file = "kiwisolver-1.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:dda366d548e89a90d88a86c692377d18d8bd64b39c1fb2b92cb31370e2896bbd"}, + {file = "kiwisolver-1.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:332b4f0145c30b5f5ad9374881133e5aa64320428a57c2c2b61e9d891a51c2f3"}, + {file = "kiwisolver-1.5.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0c50b89ffd3e1a911c69a1dd3de7173c0cd10b130f56222e57898683841e4f96"}, + {file = "kiwisolver-1.5.0-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4db576bb8c3ef9365f8b40fe0f671644de6736ae2c27a2c62d7d8a1b4329f099"}, + {file = "kiwisolver-1.5.0-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0b85aad90cea8ac6797a53b5d5f2e967334fa4d1149f031c4537569972596cb8"}, + {file = "kiwisolver-1.5.0-cp313-cp313-manylinux_2_39_riscv64.whl", hash = "sha256:d36ca54cb4c6c4686f7cbb7b817f66f5911c12ddb519450bbe86707155028f87"}, + {file = "kiwisolver-1.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:38f4a703656f493b0ad185211ccfca7f0386120f022066b018eb5296d8613e23"}, + {file = "kiwisolver-1.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3ac2360e93cb41be81121755c6462cff3beaa9967188c866e5fce5cf13170859"}, + {file = "kiwisolver-1.5.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c95cab08d1965db3d84a121f1c7ce7479bdd4072c9b3dafd8fecce48a2e6b902"}, + {file = "kiwisolver-1.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fc20894c3d21194d8041a28b65622d5b86db786da6e3cfe73f0c762951a61167"}, + {file = "kiwisolver-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7a32f72973f0f950c1920475d5c5ea3d971b81b6f0ec53b8d0a956cc965f22e0"}, + {file = "kiwisolver-1.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:0bf3acf1419fa93064a4c2189ac0b58e3be7872bf6ee6177b0d4c63dc4cea276"}, + {file = "kiwisolver-1.5.0-cp313-cp313-win_arm64.whl", hash = "sha256:fa8eb9ecdb7efb0b226acec134e0d709e87a909fa4971a54c0c4f6e88635484c"}, + {file = "kiwisolver-1.5.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:db485b3847d182b908b483b2ed133c66d88d49cacf98fd278fadafe11b4478d1"}, + {file = "kiwisolver-1.5.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:be12f931839a3bdfe28b584db0e640a65a8bcbc24560ae3fdb025a449b3d754e"}, + {file = "kiwisolver-1.5.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:16b85d37c2cbb3253226d26e64663f755d88a03439a9c47df6246b35defbdfb7"}, + {file = "kiwisolver-1.5.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4432b835675f0ea7414aab3d37d119f7226d24869b7a829caeab49ebda407b0c"}, + {file = "kiwisolver-1.5.0-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b0feb50971481a2cc44d94e88bdb02cdd497618252ae226b8eb1201b957e368"}, + {file = "kiwisolver-1.5.0-cp313-cp313t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:56fa888f10d0f367155e76ce849fa1166fc9730d13bd2d65a2aa13b6f5424489"}, + {file = "kiwisolver-1.5.0-cp313-cp313t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:940dda65d5e764406b9fb92761cbf462e4e63f712ab60ed98f70552e496f3bf1"}, + {file = "kiwisolver-1.5.0-cp313-cp313t-manylinux_2_39_riscv64.whl", hash = "sha256:89fc958c702ee9a745e4700378f5d23fddbc46ff89e8fdbf5395c24d5c1452a3"}, + {file = "kiwisolver-1.5.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9027d773c4ff81487181a925945743413f6069634d0b122d0b37684ccf4f1e18"}, + {file = "kiwisolver-1.5.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:5b233ea3e165e43e35dba1d2b8ecc21cf070b45b65ae17dd2747d2713d942021"}, + {file = "kiwisolver-1.5.0-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:ce9bf03dad3b46408c08649c6fbd6ca28a9fce0eb32fdfffa6775a13103b5310"}, + {file = "kiwisolver-1.5.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:fc4d3f1fb9ca0ae9f97b095963bc6326f1dbfd3779d6679a1e016b9baaa153d3"}, + {file = "kiwisolver-1.5.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f443b4825c50a51ee68585522ab4a1d1257fac65896f282b4c6763337ac9f5d2"}, + {file = "kiwisolver-1.5.0-cp313-cp313t-win_arm64.whl", hash = "sha256:893ff3a711d1b515ba9da14ee090519bad4610ed1962fbe298a434e8c5f8db53"}, + {file = "kiwisolver-1.5.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8df31fe574b8b3993cc61764f40941111b25c2d9fea13d3ce24a49907cd2d615"}, + {file = "kiwisolver-1.5.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:1d49a49ac4cbfb7c1375301cd1ec90169dfeae55ff84710d782260ce77a75a02"}, + {file = "kiwisolver-1.5.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0cbe94b69b819209a62cb27bdfa5dc2a8977d8de2f89dfd97ba4f53ed3af754e"}, + {file = "kiwisolver-1.5.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:80aa065ffd378ff784822a6d7c3212f2d5f5e9c3589614b5c228b311fd3063ac"}, + {file = "kiwisolver-1.5.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e7f886f47ab881692f278ae901039a234e4025a68e6dfab514263a0b1c4ae05"}, + {file = "kiwisolver-1.5.0-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5060731cc3ed12ca3a8b57acd4aeca5bbc2f49216dd0bec1650a1acd89486bcd"}, + {file = "kiwisolver-1.5.0-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7a4aa69609f40fce3cbc3f87b2061f042eee32f94b8f11db707b66a26461591a"}, + {file = "kiwisolver-1.5.0-cp314-cp314-manylinux_2_39_riscv64.whl", hash = "sha256:d168fda2dbff7b9b5f38e693182d792a938c31db4dac3a80a4888de603c99554"}, + {file = "kiwisolver-1.5.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:413b820229730d358efd838ecbab79902fe97094565fdc80ddb6b0a18c18a581"}, + {file = "kiwisolver-1.5.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:5124d1ea754509b09e53738ec185584cc609aae4a3b510aaf4ed6aa047ef9303"}, + {file = "kiwisolver-1.5.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e4415a8db000bf49a6dd1c478bf70062eaacff0f462b92b0ba68791a905861f9"}, + {file = "kiwisolver-1.5.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:d618fd27420381a4f6044faa71f46d8bfd911bd077c555f7138ed88729bfbe79"}, + {file = "kiwisolver-1.5.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5092eb5b1172947f57d6ea7d89b2f29650414e4293c47707eb499ec07a0ac796"}, + {file = "kiwisolver-1.5.0-cp314-cp314-win_amd64.whl", hash = "sha256:d76e2d8c75051d58177e762164d2e9ab92886534e3a12e795f103524f221dd8e"}, + {file = "kiwisolver-1.5.0-cp314-cp314-win_arm64.whl", hash = "sha256:fa6248cd194edff41d7ea9425ced8ca3a6f838bfb295f6f1d6e6bb694a8518df"}, + {file = "kiwisolver-1.5.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:d1ffeb80b5676463d7a7d56acbe8e37a20ce725570e09549fe738e02ca6b7e1e"}, + {file = "kiwisolver-1.5.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:bc4d8e252f532ab46a1de9349e2d27b91fce46736a9eedaa37beaca66f574ed4"}, + {file = "kiwisolver-1.5.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6783e069732715ad0c3ce96dbf21dbc2235ab0593f2baf6338101f70371f4028"}, + {file = "kiwisolver-1.5.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e7c4c09a490dc4d4a7f8cbee56c606a320f9dc28cf92a7157a39d1ce7676a657"}, + {file = "kiwisolver-1.5.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2a075bd7bd19c70cf67c8badfa36cf7c5d8de3c9ddb8420c51e10d9c50e94920"}, + {file = "kiwisolver-1.5.0-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bdd3e53429ff02aa319ba59dfe4ceeec345bf46cf180ec2cf6fd5b942e7975e9"}, + {file = "kiwisolver-1.5.0-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3cdcb35dc9d807259c981a85531048ede628eabcffb3239adf3d17463518992d"}, + {file = "kiwisolver-1.5.0-cp314-cp314t-manylinux_2_39_riscv64.whl", hash = "sha256:70d593af6a6ca332d1df73d519fddb5148edb15cd90d5f0155e3746a6d4fcc65"}, + {file = "kiwisolver-1.5.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:377815a8616074cabbf3f53354e1d040c35815a134e01d7614b7692e4bf8acfa"}, + {file = "kiwisolver-1.5.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:0255a027391d52944eae1dbb5d4cc5903f57092f3674e8e544cdd2622826b3f0"}, + {file = "kiwisolver-1.5.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:012b1eb16e28718fa782b5e61dc6f2da1f0792ca73bd05d54de6cb9561665fc9"}, + {file = "kiwisolver-1.5.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:0e3aafb33aed7479377e5e9a82e9d4bf87063741fc99fc7ae48b0f16e32bdd6f"}, + {file = "kiwisolver-1.5.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e7a116ae737f0000343218c4edf5bd45893bfeaff0993c0b215d7124c9f77646"}, + {file = "kiwisolver-1.5.0-cp314-cp314t-win_amd64.whl", hash = "sha256:1dd9b0b119a350976a6d781e7278ec7aca0b201e1a9e2d23d9804afecb6ca681"}, + {file = "kiwisolver-1.5.0-cp314-cp314t-win_arm64.whl", hash = "sha256:58f812017cd2985c21fbffb4864d59174d4903dd66fa23815e74bbc7a0e2dd57"}, + {file = "kiwisolver-1.5.0-graalpy312-graalpy250_312_native-macosx_10_13_x86_64.whl", hash = "sha256:5ae8e62c147495b01a0f4765c878e9bfdf843412446a247e28df59936e99e797"}, + {file = "kiwisolver-1.5.0-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:f6764a4ccab3078db14a632420930f6186058750df066b8ea2a7106df91d3203"}, + {file = "kiwisolver-1.5.0-graalpy312-graalpy250_312_native-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c31c13da98624f957b0fb1b5bae5383b2333c2c3f6793d9825dd5ce79b525cb7"}, + {file = "kiwisolver-1.5.0-graalpy312-graalpy250_312_native-win_amd64.whl", hash = "sha256:1f1489f769582498610e015a8ef2d36f28f505ab3096d0e16b4858a9ec214f57"}, + {file = "kiwisolver-1.5.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:295d9ffe712caa9f8a3081de8d32fc60191b4b51c76f02f951fd8407253528f4"}, + {file = "kiwisolver-1.5.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:51e8c4084897de9f05898c2c2a39af6318044ae969d46ff7a34ed3f96274adca"}, + {file = "kiwisolver-1.5.0-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b83af57bdddef03c01a9138034c6ff03181a3028d9a1003b301eb1a55e161a3f"}, + {file = "kiwisolver-1.5.0-pp310-pypy310_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bf4679a3d71012a7c2bf360e5cd878fbd5e4fcac0896b56393dec239d81529ed"}, + {file = "kiwisolver-1.5.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:41024ed50e44ab1a60d3fe0a9d15a4ccc9f5f2b1d814ff283c8d01134d5b81bc"}, + {file = "kiwisolver-1.5.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ec4c85dc4b687c7f7f15f553ff26a98bfe8c58f5f7f0ac8905f0ba4c7be60232"}, + {file = "kiwisolver-1.5.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:12e91c215a96e39f57989c8912ae761286ac5a9584d04030ceb3368a357f017a"}, + {file = "kiwisolver-1.5.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:be4a51a55833dc29ab5d7503e7bcb3b3af3402d266018137127450005cdfe737"}, + {file = "kiwisolver-1.5.0-pp311-pypy311_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:daae526907e262de627d8f70058a0f64acc9e2641c164c99c8f594b34a799a16"}, + {file = "kiwisolver-1.5.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:59cd8683f575d96df5bb48f6add94afc055012c29e28124fcae2b63661b9efb1"}, + {file = "kiwisolver-1.5.0.tar.gz", hash = "sha256:d4193f3d9dc3f6f79aaed0e5637f45d98850ebf01f7ca20e69457f3e8946b66a"}, +] + +[[package]] +name = "matplotlib" +version = "3.11.1" +description = "Python plotting package" +optional = false +python-versions = ">=3.11" +groups = ["main"] +files = [ + {file = "matplotlib-3.11.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:b7cf158e7add54a8d51ac9b5a84abd6d4e13ed4951b4f25f1c5139f41c2addb2"}, + {file = "matplotlib-3.11.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d2ace7273b9a5061a3b420918a16fae1f2dc5dfee1abcc13aba71b5d94b1820c"}, + {file = "matplotlib-3.11.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:aee55e9041211bf84302ab55ec3965df18dd90ae19f8b58332a7feaf208bfe83"}, + {file = "matplotlib-3.11.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96f4bdeea33a8d15a071dbfe6d119451b1d719c733ac666d65357082901a9099"}, + {file = "matplotlib-3.11.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b4c78ceb2f11bcac7389d305cda17aeb1f4586a857854ab5780bd3dd8dbfc407"}, + {file = "matplotlib-3.11.1-cp311-cp311-win_amd64.whl", hash = "sha256:7f33a781e12b1e53b278deb2f5373c2e55ec4f10727be3440c0cfb5cda9f944f"}, + {file = "matplotlib-3.11.1-cp311-cp311-win_arm64.whl", hash = "sha256:67e4c3cd578c65ebd81bdc09a1b6592ceafee6dfafe116dc85dfcb647b5bbb18"}, + {file = "matplotlib-3.11.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e15ef41507f3d525f46154ac9e3ae785dacde9f20e593a25de8986267892ef74"}, + {file = "matplotlib-3.11.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:21a67b961a6d597bca54fae826cd20695ba4a6e4d05424a08da6e13e3176fd6b"}, + {file = "matplotlib-3.11.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ba8f811b8ddfac493734d6af0b2dff96919d0c28ca0d641858dab4262777c6ea"}, + {file = "matplotlib-3.11.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c52f7ad20ef476806ed212380b1d54d20310c8b86bdc2c9a68b51f0024a44472"}, + {file = "matplotlib-3.11.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8b14eb22961fe865efb0e4ff167e333e428908b00115a8d800ccb65ee108e481"}, + {file = "matplotlib-3.11.1-cp312-cp312-win_amd64.whl", hash = "sha256:88a2a27dd9691ae448dfae4b26f59036be90c3c28757edd3553a29559d00859f"}, + {file = "matplotlib-3.11.1-cp312-cp312-win_arm64.whl", hash = "sha256:480194afceca4df2f137c2721227d3cba67121fbf4397b69cee7f83714b0a58a"}, + {file = "matplotlib-3.11.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6771b0cd7838c6a857a7209814158c0ad09bfef878db3033dd82d70ad101f191"}, + {file = "matplotlib-3.11.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2abdee5ffa2fe11b2d19f7a5c63b785fb7c28cc46c7bc1814156341d9d1a33e1"}, + {file = "matplotlib-3.11.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b0a19dcf73406d3746d25a5ed42d713604c9a3e024d129b102852b0d941cb9f3"}, + {file = "matplotlib-3.11.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7389b77ed2ab0552f46d9a90b81b7b8e6dfcdc42adc36c37a0865799843e0e3e"}, + {file = "matplotlib-3.11.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c90be0b73568da4f662afac580956a76e308437e641b4a45aa08925eeb67d95f"}, + {file = "matplotlib-3.11.1-cp313-cp313-win_amd64.whl", hash = "sha256:68408341f2312836fbbdf6b3c78047f65b2d8752f5fd221c3e72d348f5b34f8b"}, + {file = "matplotlib-3.11.1-cp313-cp313-win_arm64.whl", hash = "sha256:0c1f44890d435c1b4ef52f701ad5828cb450ea97bcc83918fda6be74965d6cd2"}, + {file = "matplotlib-3.11.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:5e510088c27a89d53580a752f959146893563e63c330e161d159b0fee652af6f"}, + {file = "matplotlib-3.11.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:1524e2bdd48a93557aa47ddcfe9c225dfdd57d5a01a5c49128c20f0632980ee1"}, + {file = "matplotlib-3.11.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:11664c551345553db92e61cae6cf1376f138f8c47cafdf13b64b18f3e3e9e464"}, + {file = "matplotlib-3.11.1-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5e1f8922ba31959cf6a9dfb51be64b7f7bc582801a3957dc0c2f3afcd3537adf"}, + {file = "matplotlib-3.11.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:83235693abde86e5e0129998f80ee39fc7f58e6d56a88fafb28a9278833e9d5f"}, + {file = "matplotlib-3.11.1-cp313-cp313t-win_amd64.whl", hash = "sha256:9a076f4fc5cdc43fdf510f5981418d25c2db4973418d9f22d8bb3dc8045ada78"}, + {file = "matplotlib-3.11.1-cp313-cp313t-win_arm64.whl", hash = "sha256:216fbb93a74add02ddb4cb38ef5348f59ac00b3e84567eaf16598772d40e150a"}, + {file = "matplotlib-3.11.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:30c492d4ba9448595b6fd8708c6725963f8148e25c0d8842948da5b05f0ee8d3"}, + {file = "matplotlib-3.11.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ac104be2768ffdd8655db9e71b768cbb45f2b9aa7b450cf1595e8f65d3822319"}, + {file = "matplotlib-3.11.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6be943cb68bc6660ead58c55b3aa6366cba2ef7feb06460fbcce32360376f19f"}, + {file = "matplotlib-3.11.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5af0dcda57d471440a7b5b623e70e0a61003518443d9098f211a96ecfbbc25be"}, + {file = "matplotlib-3.11.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3d3fd84082b1afbd9398466c81309e20045be20d48fe0fb18c43504d164cbbb2"}, + {file = "matplotlib-3.11.1-cp314-cp314-win_amd64.whl", hash = "sha256:9601a1e90be21e4884c53b4f3dc3ee0544654946f9975258d691f1c2e2f119c6"}, + {file = "matplotlib-3.11.1-cp314-cp314-win_arm64.whl", hash = "sha256:ae30c6109848ac0f9fa36c5d6270938487614c47ba31860bd5361266dabc5685"}, + {file = "matplotlib-3.11.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:dadfe80797174e2984aae3be0b77594a3c72d2c0a40fbd4a0de48d2728caf3ae"}, + {file = "matplotlib-3.11.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:89b193b255f4f6f7948dbcee3691f4f341ab05d9a8874a67b45ddb4182922eda"}, + {file = "matplotlib-3.11.1-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:191163532cdefcb1571ca38a6d7e6474baccde64495783e6ba47aa07ec4b9bbb"}, + {file = "matplotlib-3.11.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9fdf1c818ab05d0e74002091ddaf414478a3a449ec9d51c8976d45be7e3a01e2"}, + {file = "matplotlib-3.11.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b937b9dba5f5f6c1e31c47abe2186c865c0914fd18f2ce0dfc39c9adcef5951d"}, + {file = "matplotlib-3.11.1-cp314-cp314t-win_amd64.whl", hash = "sha256:f2912f647f3fbe1ccf085f91e213936f9101bead81a5e670565b1f1b3712f4fb"}, + {file = "matplotlib-3.11.1-cp314-cp314t-win_arm64.whl", hash = "sha256:54d47b8ae8b579633a3902ca5b4ad6c1e132a5626d64447b2e22a66394e79987"}, + {file = "matplotlib-3.11.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:427258425f9a3fc4ed79a91f9e9b9aaf5a82cb6571e85dc14063cc6fbb993741"}, + {file = "matplotlib-3.11.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:1ac697e591c11b6ad04679a73c2d2f9980fe9d9f0311fb414a2e329706343dfb"}, + {file = "matplotlib-3.11.1-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e4b9ac2f1f607ecda2af90a5232beee2af7582fce1cc30c4b6a1b012dc21ee99"}, + {file = "matplotlib-3.11.1.tar.gz", hash = "sha256:69647db5746941c793d6e445a4cd349323ffb87d9cc958c2ad84a659b4832d30"}, +] + +[package.dependencies] +contourpy = ">=1.0.1" +cycler = ">=0.10" +fonttools = ">=4.28.2" +kiwisolver = ">=1.3.1" +numpy = ">=1.25" +packaging = ">=20.0" +pillow = ">=9" +pyparsing = ">=3" +python-dateutil = ">=2.7" + +[[package]] +name = "numpy" +version = "2.5.1" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.12" +groups = ["main"] +files = [ + {file = "numpy-2.5.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2c889b56fe48b1018f764b0eec8df59ab654e9148aa91faa12596043500de277"}, + {file = "numpy-2.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ab451b59c5643c570974c43aef780703ef1d3b4965d2be07afd530615a9358d1"}, + {file = "numpy-2.5.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:78798bd5b9ad744056af8efa90e3b9ddaa53272a0848a483084a1cc0a13b2dc0"}, + {file = "numpy-2.5.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:2ae0ca40bcb22d6ba59c1dfd5446f49940b0f2d821fde133f10dda11f816b84e"}, + {file = "numpy-2.5.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:61ac47e772e6b8ea489e1d2f441a34c5c3ac17327e7ce294cbdf535795ad4e75"}, + {file = "numpy-2.5.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:59fda5e192b570217ec2580c96f00e9a7e12ef6866a900eb089b62c1a32545ca"}, + {file = "numpy-2.5.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f7119ebff1a9829e9f431a4f9d28e703023bb6b9fe7c8f724467dbfc27c94ab3"}, + {file = "numpy-2.5.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e824c2acf8862052246be5a44c15da1777940c60d010dd2aab897824d9c430f9"}, + {file = "numpy-2.5.1-cp312-cp312-win32.whl", hash = "sha256:08d60c810432eb83360958dea0999ac4cfb94531ea8efcbf0b7f277c2068aeb2"}, + {file = "numpy-2.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:f7d60026c0bdb1380e83bfa7a0419c4577ee4b9a08880afcb6dadeb74c649fa2"}, + {file = "numpy-2.5.1-cp312-cp312-win_arm64.whl", hash = "sha256:17a25e09640602e10bc8de0e6fa2b3fd68eedd84ba6d7842dc8f32f9ab87bd0b"}, + {file = "numpy-2.5.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0bfebd8695f9863592fe744be833a258120b14a9f39da255e8aa8fade2c0ddd1"}, + {file = "numpy-2.5.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:30b44a6b53a7ae63c54c089a8726e5563ed302716c5b7ccc85afade40b0e7ff6"}, + {file = "numpy-2.5.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:6165343f81b56ef8f514f396989e529b61d9dc709b99421b07e9f3e698e2287d"}, + {file = "numpy-2.5.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:4939237038ada79308dda3204ac6462df056b5672b2e25db1149cf873668b3e1"}, + {file = "numpy-2.5.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1c6759f538fb912fc46de0a6b1758ccf7b57bc7c7ebebc23974fdac3de8db0cd"}, + {file = "numpy-2.5.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9726558e8db4a5bf7929a70ae50f63abda4daf0efe810e3bfbab95976f75fc1a"}, + {file = "numpy-2.5.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3935f3b419b244a02732676fa5317a9193cc596a4c0646db07e5b421229ac9f7"}, + {file = "numpy-2.5.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dc932a65ded7ce9013d120845a2514dcccb1a67bfc8deb8d37633762951904a6"}, + {file = "numpy-2.5.1-cp313-cp313-win32.whl", hash = "sha256:4b4ff1608417eb7a59da7b967bbb798cacfe071d2caf526a24281cd562072ed9"}, + {file = "numpy-2.5.1-cp313-cp313-win_amd64.whl", hash = "sha256:6c3fe51bc6a16453d452997053454f309e8e0ed7b42d6b361ce4ac8c32913d74"}, + {file = "numpy-2.5.1-cp313-cp313-win_arm64.whl", hash = "sha256:f7feb014281029e628ba2d5a007407443b06e418b6fe451d1e2adcbc8eba0107"}, + {file = "numpy-2.5.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:7c786fe9a5bbe360022e584c5a34cf6b54265c71bd7ec8ac3d8fec38968071f8"}, + {file = "numpy-2.5.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:32985c896d897419ef8da6917872d80b78ad0ea26d85b23245c7366ffde76d75"}, + {file = "numpy-2.5.1-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:efd736408cc97c79b9e6917338dfc8f06013b2274f992e96b1d9a81a71e2a2c2"}, + {file = "numpy-2.5.1-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:ab84dc6b074fa881cae55bea94cc4f68e285181ba7f32497bf7dee6b1496165b"}, + {file = "numpy-2.5.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:caf3e317d33d60c37986b452613f4ab51246d0691350c03d0cb4a898627f4a95"}, + {file = "numpy-2.5.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:54ad769f17bc2d833b620851989f62054fb9ab93c969d9e1dc3c8e3d56beea21"}, + {file = "numpy-2.5.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c12afb53450fa976d4c681c50a7423729a4c51c0465ed9f32b8a9cabbc472373"}, + {file = "numpy-2.5.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e8c11c405efc5ff6816d5983c96cdfa215bab3428961243af3ff59b228490438"}, + {file = "numpy-2.5.1-cp314-cp314-win32.whl", hash = "sha256:f2479a47f8d5932d1718168a681ad6e536a9df484c83cfcf9de365e164537ace"}, + {file = "numpy-2.5.1-cp314-cp314-win_amd64.whl", hash = "sha256:24d0eb82c0541d3415a33425db64ae439dffccd7b4dbcb30e7c35120205c506a"}, + {file = "numpy-2.5.1-cp314-cp314-win_arm64.whl", hash = "sha256:5a4c988b38d261deeeaad9954e3deb091ad905c94e8bb6708654ef1d97f286b0"}, + {file = "numpy-2.5.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:a33276be12fa045805f477f22482088b66bb758ffbe89a9d21457de863a32e22"}, + {file = "numpy-2.5.1-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:f089d7b00756190aacf1f5d34bdf38c3c430ac82b4f868f8cede73380460fce7"}, + {file = "numpy-2.5.1-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:09e9bfd8d2cf479c7d174804fb3811c53a8e9f20a37444008606b57d6b7a826d"}, + {file = "numpy-2.5.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e68d8dd1e7eba712948f2053a29ec86917bc70ba1358df869d9f06649ef9cf09"}, + {file = "numpy-2.5.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:99d5095fa265a0c4152e7bb12759e14381ef5496152f1ce58f44bdf55c44beb4"}, + {file = "numpy-2.5.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ab87a91b3cc3382b8956095bd8f95e00cf679bb81554339be1a2ba404a1473c1"}, + {file = "numpy-2.5.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:224ca51130ef7da85bea2191625181cb4f337f9cb64b471f10c1a12aa8b60077"}, + {file = "numpy-2.5.1-cp314-cp314t-win32.whl", hash = "sha256:6eab239876581b2b3c5a242281b6007bbdbcd1c7085d7709bb57c5929b11e6bf"}, + {file = "numpy-2.5.1-cp314-cp314t-win_amd64.whl", hash = "sha256:83ce9c80d5b521b0d77ddcbe5447c218d247929b6cc056ca5351342accfff0af"}, + {file = "numpy-2.5.1-cp314-cp314t-win_arm64.whl", hash = "sha256:5a6db61f9aaa57e369905c67d852045d3c4f7126405b29d09b19dec118e9c9cb"}, + {file = "numpy-2.5.1.tar.gz", hash = "sha256:a48a113e6afea91f5608793bafa7ef2ad481fefbda87ec5069f483de61cb9fa3"}, +] + +[[package]] +name = "ollama" +version = "0.6.2" +description = "The official Python client for Ollama." +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "ollama-0.6.2-py3-none-any.whl", hash = "sha256:3ad7daab28e5a973445c36a73882a3ef698c2ebb00e21e308652741577509f7d"}, + {file = "ollama-0.6.2.tar.gz", hash = "sha256:936d55daa684f474364c098611c933626f8d6c7d67065c5b7ae0c477b508b07f"}, +] + +[package.dependencies] +httpx = ">=0.27" +pydantic = ">=2.9" + +[[package]] +name = "outcome" +version = "1.3.0.post0" +description = "Capture the outcome of Python function calls." +optional = false +python-versions = ">=3.7" +groups = ["main"] +files = [ + {file = "outcome-1.3.0.post0-py2.py3-none-any.whl", hash = "sha256:e771c5ce06d1415e356078d3bdd68523f284b4ce5419828922b6871e65eda82b"}, + {file = "outcome-1.3.0.post0.tar.gz", hash = "sha256:9dcf02e65f2971b80047b377468e72a268e15c0af3cf1238e6ff14f7f91143b8"}, +] + +[package.dependencies] +attrs = ">=19.2.0" + +[[package]] +name = "packaging" +version = "26.2" +description = "Core utilities for Python packages" +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "packaging-26.2-py3-none-any.whl", hash = "sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e"}, + {file = "packaging-26.2.tar.gz", hash = "sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661"}, +] + +[[package]] +name = "pillow" +version = "12.3.0" +description = "Python Imaging Library (fork)" +optional = false +python-versions = ">=3.10" +groups = ["main"] +files = [ + {file = "pillow-12.3.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:6c0016e7b354317c4e9e525b937ac8596c38d2d232b419529b9cd7a1cd46e39a"}, + {file = "pillow-12.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bcc33feacfaefce60c12fd500a277533bdc02b10a19f7f6d348763d8140bbba7"}, + {file = "pillow-12.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5594fc43d548a7ed94949d139aa1341b270f1863f11cfd37f5a6c8b778a6b67f"}, + {file = "pillow-12.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f0606c8bf2cdefea14a43530f7657cbbb7ecf1c4222512492ef4a4434a9501ec"}, + {file = "pillow-12.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:85f998ea1848bc6757289e739cfbdda3a04adfd58b02fc018ce54d754a5ce468"}, + {file = "pillow-12.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:25b9b82bb22e6e2b3cd07b39c68b7b862001226cb3dff7130d1cb914121b39ed"}, + {file = "pillow-12.3.0-cp310-cp310-win32.whl", hash = "sha256:37dc8f7bbb66efe481bb60defacef820c950c24713fb44962ed6aa2a50966de1"}, + {file = "pillow-12.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:300557495eb45ebb8aec96c2da9c4be642fbf7cd937278b4013ba894ea8eb0eb"}, + {file = "pillow-12.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:514435a37670e3e5e08f3945b68718b6ed329bb84367777e16f9f4dfe1e61a0f"}, + {file = "pillow-12.3.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:00808c5e14ef63ac5161091d242999076604ff74b883423a11e5d7bbb38bf756"}, + {file = "pillow-12.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37d6d0a00072fd2948eb22bce7e1475f34569d90c87c59f7a2ec59541b77f7a6"}, + {file = "pillow-12.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bcb46e2f9feff8d06323983bd83ed00c201fdcab3d74973e7072a889b3979fcd"}, + {file = "pillow-12.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:23d27a3e0307ec2244cc51e7287b919aa68d097504ebe19df4e76a98a3eea5bd"}, + {file = "pillow-12.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4f883547d4b7f0495ebe7056b0cc2aea76094e7a4abc8e933540f3271df27d9c"}, + {file = "pillow-12.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:236ff70b9312fb68943c703aa842ca6a758abfa45ac187a5e7c1452e96ef72b5"}, + {file = "pillow-12.3.0-cp311-cp311-win32.whl", hash = "sha256:10e41f0fbf1eec8cfd234b8fe17a4caac7c9d0db4c204d3c173a8f9f6ef3232b"}, + {file = "pillow-12.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:8e95e1385e4998ae9694eeaa4730ba5457ff61185b3a55e2e7bea0880aef452a"}, + {file = "pillow-12.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:ebaea975e03d3141d9d3a507df75c9b3ec90fa9d2ffd07567b3a978d9d790b26"}, + {file = "pillow-12.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ba09209fbe443b4acccebe845d8a138b89a8f4fbaeedd44953490b5315d5e965"}, + {file = "pillow-12.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ffd0c5368496f41b0944be820fcb7a838aa6e623d250b01acf2643939c3f99d7"}, + {file = "pillow-12.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d9c7f76c0673154f044e9d78c8655fb4213f6ca31a836df48b40fe5d187717b9"}, + {file = "pillow-12.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:78cb2c6865a35ab8ff8b75fd122f6033b92a62c82801110e48ddd6c936a45d91"}, + {file = "pillow-12.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e491916b378fba47242221bb9ead245211b70d504f495d105d17b14a24b4907c"}, + {file = "pillow-12.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0dd2064cbc55aaec028ef5fbb60fa47bb6c3e7918e07ff17935284b227a9d2df"}, + {file = "pillow-12.3.0-cp312-cp312-win32.whl", hash = "sha256:dbce0b29841537a2fa4a214c2bbf14de3587c9680caa9b4e217568472490b28f"}, + {file = "pillow-12.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:a2b55dd6b2a4c4b7d87ffa56bdb33fdc5fdb9a462173861a7bc097f17d91cb09"}, + {file = "pillow-12.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:331b624368d4f1d069149002f25f44bc61c8919ce8ddb3c45bdad8f6e2d89510"}, + {file = "pillow-12.3.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:21900ce7ba264168cd50defae43cd75d25c833ad4ad6e73ffc5596d12e25ac89"}, + {file = "pillow-12.3.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:4e8c2a84d977f50b9daed6eeaf3baef67d00d5d74d932288f02cb94518ee3ace"}, + {file = "pillow-12.3.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:ae26d61dfa7a47befdc7572b521024e8745f3d809bd95ca9505a7bba9ef849ec"}, + {file = "pillow-12.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7a743ff716f746fc19a9557f60dab1600d4613255f8a7aeb3cdde4db7eb15a66"}, + {file = "pillow-12.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d69141514cc30b774ceea5e3ed3a6635c8d8a96edf664689b890f4089111fb35"}, + {file = "pillow-12.3.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f7401aebd7f581d7f83a439d87d474999317ee099218e5ad25d125290990ba65"}, + {file = "pillow-12.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0847a763afefb695bc912d7c131e7e0632d4edc1d8698f58ddabec8e46b8b6d3"}, + {file = "pillow-12.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:571b9fcb07b97ef3a492028fb3d2dc0993ca23a06138b0315286566d29ef718a"}, + {file = "pillow-12.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:756c768d0c9c2955feb7a56c37ea24aea2e369f8d36a88da270b6a9f19e62b5e"}, + {file = "pillow-12.3.0-cp313-cp313-win32.whl", hash = "sha256:a876864214e136f0eb367788dbd7df045f4806801518e2cfe9e13229cfe06d8f"}, + {file = "pillow-12.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:1cca606cd25738df4ed873d5ad46bbdb3d83b5cbca291f6b4ff13a4df6b0bbe8"}, + {file = "pillow-12.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:b629de27fda84b42cde7edef0d85f13b958b47f6e9bbcbba9b673c562a89bd8b"}, + {file = "pillow-12.3.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:9cf95fe4d0f84c82d282745d9bb08ad9f926efa00be4697e767b814ce40d4330"}, + {file = "pillow-12.3.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:8728f216dcdb6e6d555cf971cb34076139ad74b31fc2c14da4fafc741c5f6217"}, + {file = "pillow-12.3.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:a45650e8ce7fafffd731db8550230db6b0d306d181a90b67d3e6bca2f1990930"}, + {file = "pillow-12.3.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:ba54cfebe86920a559a7c4d6b9050791c20513650a1952ebe3368c7dc70306f8"}, + {file = "pillow-12.3.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:e158cb00350dc278f3b91551101aa7d12415a66ebf2c91d8d5ac14e56ddd3ad0"}, + {file = "pillow-12.3.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e9aeb04d6aef139de265b29683e119b638208f88cf73cdd1658aa07221165321"}, + {file = "pillow-12.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:251bf95b67017e27b13d82f5b326234ca62d70f9cf4c2b9032de2358a3b12c7b"}, + {file = "pillow-12.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fe3cca2e4e8a592be0f269a1ca4835c25199d9f3ce815c8491048f785b0a0198"}, + {file = "pillow-12.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:23aceaa007d6172b02c277f0cd359c79492bbb14f7072b4ede9fbcaf20648130"}, + {file = "pillow-12.3.0-cp314-cp314-win32.whl", hash = "sha256:af8d94b0db561cf68b88a267c5c44b49e134f525d0dc2cb7ed413a66bc23559a"}, + {file = "pillow-12.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:fdafc9cce40277e0f7a0feabce0ee50dd2fa1800f3b38015e51296b5e814048d"}, + {file = "pillow-12.3.0-cp314-cp314-win_arm64.whl", hash = "sha256:e91206ee562682b51b98ef4b26a6ef48fd84e15fd4c4bc5ec768eb641d206838"}, + {file = "pillow-12.3.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:164b31cd1a0490ab6efae01aa5df49da7061be0af1b30e035b6e9a1bfe34ee6e"}, + {file = "pillow-12.3.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5afb51d599ea772b8365ae807ae557f18bccfe46ab261fd1c2a9ed700fc6eb17"}, + {file = "pillow-12.3.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3edce1d53195db527e0191f84b71d02022de0540bf43a16ed734ed7537b07385"}, + {file = "pillow-12.3.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bf16ba1b4d0b6b7c8e534936632270cf70eb00dbe09005bc345b2677b726855c"}, + {file = "pillow-12.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:24870b09b224f7ae3c39ed07d10e819d06f8720bc551847b1d623832b5b0e28d"}, + {file = "pillow-12.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:30f2aa603c41533cc25c05acd0da21636e84a315768feb631c937177db558931"}, + {file = "pillow-12.3.0-cp314-cp314t-win32.whl", hash = "sha256:4b0a7fe987b14c31ebda6083f74f22b561fd3739bc0ac51e019622e3d72668c7"}, + {file = "pillow-12.3.0-cp314-cp314t-win_amd64.whl", hash = "sha256:962864dc93511324d51ddbb5b9f8731bf71675b93ca612a07441896f4688fb8c"}, + {file = "pillow-12.3.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0740a512dc522224c77d9aa5a8d70d8b7d73fb91f2c21125d8d025d3b8990e45"}, + {file = "pillow-12.3.0-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:0feb2e9d6ad6c9e3c06effe9d00f3f1e618a6643273576b016f591e9315a7139"}, + {file = "pillow-12.3.0-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:9e881fca225083806662a5c43d627d215f258ff43c890f831966c7d7ba9c7402"}, + {file = "pillow-12.3.0-cp315-cp315-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:4998562bf62a445225f22e07c896bb04b35b1b1f2eb6d760584c9c51d7a5f78c"}, + {file = "pillow-12.3.0-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:dc624f6bc473dacdf7ef7eb8678d0d08edf15cd94fad6ae5c7d6cc67a4e4902f"}, + {file = "pillow-12.3.0-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:71d6097b330eea8fd15097780c8e89cb1a8ce7838669f48c5bacd6f663dd4701"}, + {file = "pillow-12.3.0-cp315-cp315-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:28ce87c5ab450a9dd970b52e5aca5fe63ed432d18a2eaddd1979a00a1ba24ace"}, + {file = "pillow-12.3.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6b02afb9b97f65fbca5f31db6a2a3ba21aa93030225f150fa3f249717e938fb4"}, + {file = "pillow-12.3.0-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:1182d52bc2d5e5d7d0949503aa7e36d12f42205dc287e4883f407b1988820d39"}, + {file = "pillow-12.3.0-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:e795b7eb908249c4e43c7c99fac7c2c75dab0c43566e37db472a355f63693d71"}, + {file = "pillow-12.3.0-cp315-cp315-win32.whl", hash = "sha256:57b3d78c95ba9059768b10e28b813002261d3f3dfc55cc48b0c988f625175827"}, + {file = "pillow-12.3.0-cp315-cp315-win_amd64.whl", hash = "sha256:fa4ecea169a355be7a3ade2c783e2ed12f0e40d2c5621cda8b3297faf7fbb9f5"}, + {file = "pillow-12.3.0-cp315-cp315-win_arm64.whl", hash = "sha256:877c3f311ff35410f690861c4409e7ccbf0cd2f878e50628a28e5a0bb689e658"}, + {file = "pillow-12.3.0-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:e9871b1ffbfa9656b60aeee92ed5136a5742696006fa322b29ea3d8da0ecc9cf"}, + {file = "pillow-12.3.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:53aa02d20d10c3d814d536aa4e5ac9b84ca0ff5a88377963b085ad6822f93e64"}, + {file = "pillow-12.3.0-cp315-cp315t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:446c34dcc4324b084a53b705127dc15717b22c5e140ae0a3c38349d4efec071e"}, + {file = "pillow-12.3.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cf1845d02ad822a369a49f2bb9345b1614744267682e7a03527dc3bf6eea1777"}, + {file = "pillow-12.3.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:186941b6aef820ad110fb01fb06eb925374dc3a21b17e37ec9a53b250c6fe2d1"}, + {file = "pillow-12.3.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:f13c32a3abd6079a66d9526e18dad9b6d280384d49d7c54040cd57b6424041d9"}, + {file = "pillow-12.3.0-cp315-cp315t-win32.whl", hash = "sha256:1657923d2d45afb66526e5b933e5b3052e6bdea196c90d3abb2424e18c77dae8"}, + {file = "pillow-12.3.0-cp315-cp315t-win_amd64.whl", hash = "sha256:8cd2f7bdda092d99c9fc2fb7391354f306d01443d22785d0cbfafa2e2c8bb418"}, + {file = "pillow-12.3.0-cp315-cp315t-win_arm64.whl", hash = "sha256:06ff022112bc9cbf83b60f8e028d94ad87b60621706487e65f673de61610ab59"}, + {file = "pillow-12.3.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b3c777e849237620b022f7f297dd67705f9f5cf1685f09f02e46f93e92725468"}, + {file = "pillow-12.3.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:b343699e8308bdc51978310e1c959c584e7869cc8c40780058c87da7781a1e94"}, + {file = "pillow-12.3.0-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fbd139c8447d25dd750ab79ee274cc5e1fe80fc56340ab10b18a195e1b6eca3e"}, + {file = "pillow-12.3.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e7e480451b9fa137494bccd3a7d69adbe8ac65a87d97be61e11f1b1050a5bac3"}, + {file = "pillow-12.3.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:04f01d28a6aaff387bf842a13be313df23ba0597a44f1a976c9feb3c6ff4711a"}, + {file = "pillow-12.3.0.tar.gz", hash = "sha256:3b8182a766685eaa002637e28b4ec8d6b18819a0c71f579bf0dbaa5830297cce"}, +] + +[package.extras] +docs = ["furo", "olefile", "sphinx (>=8.2)", "sphinx-autobuild", "sphinx-copybutton", "sphinx-inline-tabs", "sphinxext-opengraph"] +fpx = ["olefile"] +mic = ["olefile"] +test-arrow = ["arro3-compute", "arro3-core", "nanoarrow", "pyarrow"] +tests = ["coverage (>=7.4.2)", "defusedxml", "markdown2", "olefile", "packaging", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "setuptools", "trove-classifiers (>=2024.10.12)"] +xmp = ["defusedxml"] + +[[package]] +name = "pycparser" +version = "3.0" +description = "C parser in Python" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "os_name == \"nt\" and implementation_name != \"pypy\" and implementation_name != \"PyPy\"" +files = [ + {file = "pycparser-3.0-py3-none-any.whl", hash = "sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992"}, + {file = "pycparser-3.0.tar.gz", hash = "sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29"}, +] + +[[package]] +name = "pydantic" +version = "2.13.4" +description = "Data validation using Python type hints" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "pydantic-2.13.4-py3-none-any.whl", hash = "sha256:45a282cde31d808236fd7ea9d919b128653c8b38b393d1c4ab335c62924d9aba"}, + {file = "pydantic-2.13.4.tar.gz", hash = "sha256:c40756b57adaa8b1efeeced5c196f3f3b7c435f90e84ea7f443901bec8099ef6"}, +] + +[package.dependencies] +annotated-types = ">=0.6.0" +pydantic-core = "2.46.4" +typing-extensions = ">=4.14.1" +typing-inspection = ">=0.4.2" + +[package.extras] +email = ["email-validator (>=2.0.0)"] +timezone = ["tzdata ; python_version >= \"3.9\" and platform_system == \"Windows\""] + +[[package]] +name = "pydantic-core" +version = "2.46.4" +description = "Core functionality for Pydantic validation and serialization" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "pydantic_core-2.46.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a396dcc17e5a0b164dbe026896245a4fa9ff402edca1dff0be3d53a517f74de4"}, + {file = "pydantic_core-2.46.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:da4b951fe36dc7c3a1ccb4e3cd1747c3542b8c9ceede8fc86cae054e764485f5"}, + {file = "pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb63e0198ca18aad131c089b9204c23079c3afa95487e561f4c522d519e55aba"}, + {file = "pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f47286a97f0bc9b8859519809077b91b2cefe4ae47fcbf5e466a009c1c5d742b"}, + {file = "pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:905a0ed8ea6f2d61c1738835f99b699348d7857379083e5fc497fa0c967a407c"}, + {file = "pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ea793e075b70290d89d8142074262885d3f7da19634845135751bd6344f73b50"}, + {file = "pydantic_core-2.46.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:395aebd9183f9d112f569aeb5b2214d1a10a33bec8456447f7fbdfa51d38d4cd"}, + {file = "pydantic_core-2.46.4-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:b078afbc25f3a1436c7a1d2cd3e322497ee99615ba97c563566fdf46aff1ee01"}, + {file = "pydantic_core-2.46.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f747929cf940cddb5b3668a390056ddd5ba2e5010615ea2dcf4f9c4f3ab8791d"}, + {file = "pydantic_core-2.46.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:daa27d92c36f24388fe3ad306b174781c747627f134452e4f128ea00ce1fe8c4"}, + {file = "pydantic_core-2.46.4-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:19e51f073cd3df251856a8a4189fbdf1de4012c3ebacfb1884f94f1eb406079f"}, + {file = "pydantic_core-2.46.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c1747f85cee84c26985853c6f3d9bd3e75da5212912443fa111c113b9c246f39"}, + {file = "pydantic_core-2.46.4-cp310-cp310-win32.whl", hash = "sha256:2f84c03c8607173d16b5a854ec68a2f9079ae03237a54fb506d13af47e1d018d"}, + {file = "pydantic_core-2.46.4-cp310-cp310-win_amd64.whl", hash = "sha256:8358a950c8909158e3df31538a7e4edc2d7265a7c54b47f0864d9e5bae9dcebf"}, + {file = "pydantic_core-2.46.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:0e96592440881c74a213e5ad528e2b24d3d4f940de2766bed9010ab1d9e51594"}, + {file = "pydantic_core-2.46.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e0d65b8c354be7fb5f720c3caa8bc940bc2d20ce749c8e06135f07f8ed95dd7c"}, + {file = "pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bfb192b3f4b9e8a89b6277b6ce787564f62cfd272055f6e685726b111dc7826"}, + {file = "pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9037063db01f09b09e237c282b6792bd4da634b5402c4e7f0c61effed7701a04"}, + {file = "pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc010ab034c8c7452522748bf937df58020d256ccae0874463d1f4d01758af8e"}, + {file = "pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8c5dac79fa1614d1e06ca695109c6105923bd9c7d1d6c918d4e637b7e6b32fd3"}, + {file = "pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9fa868638bf362d3d138ea55829cefb3d5f4b0d7f142234382a15e2485dbec4"}, + {file = "pydantic_core-2.46.4-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:17299feefe090f2caa5b8e37222bb5f663e4935a8bfa6931d4102e5df1a9f398"}, + {file = "pydantic_core-2.46.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4c63ebc82684aa89d9a3bcbd13d515b3be44250dc68dd3bd81526c1cb31286c3"}, + {file = "pydantic_core-2.46.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:aaa2a54443eff1950ba5ddc6b6ccda0d9c84a364276a62f969bdf2a390650848"}, + {file = "pydantic_core-2.46.4-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:18e5ceec2ab67e6d5f1a9085e5a24c9c4e2ac4545730bfe668680bca05e555f3"}, + {file = "pydantic_core-2.46.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a0f62d0a58f4e7da165457e995725421e0064f2255d8eccebc49f41bbc23b109"}, + {file = "pydantic_core-2.46.4-cp311-cp311-win32.whl", hash = "sha256:041bde0a48fd37cf71cab1c9d56d3e8625a3793fef1f7dd232b3ff37e978ecda"}, + {file = "pydantic_core-2.46.4-cp311-cp311-win_amd64.whl", hash = "sha256:6f2eeda33a839975441c86a4119e1383c50b47faf0cbb5176985565c6bb02c33"}, + {file = "pydantic_core-2.46.4-cp311-cp311-win_arm64.whl", hash = "sha256:14f4c5d6db102bd796a627bbb3a17b4cf4574b9ae861d8b7c9a9661c6dd3362d"}, + {file = "pydantic_core-2.46.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:3245406455a5d98187ec35530fd772b1d799b26667980872c8d4614991e2c4a2"}, + {file = "pydantic_core-2.46.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:962ccbab7b642487b1d8b7df90ef677e03134cf1fd8880bf698649b22a69371f"}, + {file = "pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8233f2947cf85404441fd7e0085f53b10c93e0ee78611099b5c7237e36aacbf7"}, + {file = "pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3a233125ac121aa3ffba9a2b59edfc4a985a76092dc8279586ab4b71390875e7"}, + {file = "pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b712b53160b79a5850310b912a5ef8e57e56947c8ad690c227f5c9d7e561712"}, + {file = "pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9401557acd873c3a7f3eb9383edef8ac4968f9510e340f4808d427e75667e7b4"}, + {file = "pydantic_core-2.46.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:926c9541b14b12b1681dca8a0b75feb510b06c6341b70a8e500c2fdcff837cce"}, + {file = "pydantic_core-2.46.4-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:56cb4851bcaf3d117eddcef4fe66afd750a50274b0da8e22be256d10e5611987"}, + {file = "pydantic_core-2.46.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c68fcd102d71ea85c5b2dfac3f4f8476eff42a9e078fd5faefff6d145063536b"}, + {file = "pydantic_core-2.46.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b2f69dec1725e79a012d920df1707de5caf7ed5e08f3be4435e25803efc47458"}, + {file = "pydantic_core-2.46.4-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:8d0820e8192167f80d88d64038e609c31452eeca865b4e1d9950a27a4609b00b"}, + {file = "pydantic_core-2.46.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fbdb89b3e1c94a30cc5edfce477c6e6a5dc4d8f84665b455c27582f211a1c72c"}, + {file = "pydantic_core-2.46.4-cp312-cp312-win32.whl", hash = "sha256:9aa768456404a8bf48a4406685ac2bec8e72b62c69313734fa3b73cf33b3a894"}, + {file = "pydantic_core-2.46.4-cp312-cp312-win_amd64.whl", hash = "sha256:e9c26f834c65f5752f3f06cb08cb86a913ceb7274d0db6e267808a708b46bc89"}, + {file = "pydantic_core-2.46.4-cp312-cp312-win_arm64.whl", hash = "sha256:4fc73cb559bdb54b1134a706a2802a4cddd27a0633f5abb7e53056268751ac6a"}, + {file = "pydantic_core-2.46.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:5d5902252db0d3cedf8d4a1bc68f70eeb430f7e4c7104c8c476753519b423008"}, + {file = "pydantic_core-2.46.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c94f0688e7b8d0a67abf40e57a7eaaecd17cc9586706a31b76c031f63df052b4"}, + {file = "pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f027324c56cd5406ca49c124b0db10e56c69064fec039acc571c29020cc87c76"}, + {file = "pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e739fee756ba1010f8bcccb534252e85a35fe45ae92c295a06059ce58b74ccd3"}, + {file = "pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d56801be94b86a9da183e5f3766e6310752b99ff647e38b09a9500d88e46e76"}, + {file = "pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2412e734dcb48da14d4e4006b82b46b74f2518b8a26ee7e58c6844a6cd6d03c4"}, + {file = "pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9551187363ffc0de2a00b2e47c25aeaeb1020b69b668762966df15fc5659dd5a"}, + {file = "pydantic_core-2.46.4-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:0186750b482eefa11d7f435892b09c5c606193ef3375bcf94aa00ae6bfb66262"}, + {file = "pydantic_core-2.46.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5855698a4856556d86e8e6cd8434bc3ac0314ee8e12089ae0e143f64c6256e4e"}, + {file = "pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:cbaf13819775b7f769bf4a1f066cb6df7a28d4480081a589828ef190226881cd"}, + {file = "pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:633147d34cf4550417f12e2b1a0383973bdf5cdfde212cb09e9a581cf10820be"}, + {file = "pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:82cf5301172168103724d49a1444d3378cb20cdee30b116a1bd6031236298a5d"}, + {file = "pydantic_core-2.46.4-cp313-cp313-win32.whl", hash = "sha256:9fa8ae11da9e2b3126c6426f147e0fba88d96d65921799bb30c6abd1cb2c97fb"}, + {file = "pydantic_core-2.46.4-cp313-cp313-win_amd64.whl", hash = "sha256:6b3ace8194b0e5204818c92802dcdca7fc6d88aabbb799d7c795540d9cd6d292"}, + {file = "pydantic_core-2.46.4-cp313-cp313-win_arm64.whl", hash = "sha256:184c081504d17f1c1066e430e117142b2c77d9448a97f7b65c6ac9fd9aee238d"}, + {file = "pydantic_core-2.46.4-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:428e04521a40150c85216fc8b85e8d39fece235a9cf5e383761238c7fa9b96fb"}, + {file = "pydantic_core-2.46.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:23ace664830ee0bfe014a0c7bc248b1f7f25ed7ad103852c317624a1083af462"}, + {file = "pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce5c1d2a8b27468f433ca974829c44060b8097eedc39933e3c206a90ee49c4a9"}, + {file = "pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7283d57845ecf5a163403eb0702dfc220cc4fbdd18919cb5ccea4f95ee1cdab4"}, + {file = "pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8daafc69c93ee8a0204506a3b6b30f586ef54028f52aeeeb5c4cfc5184fd5914"}, + {file = "pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd2213145bcc2ba85884d0ac63d222fece9209678f77b9b4d76f054c561adb28"}, + {file = "pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a5f930472650a82629163023e630d160863fce524c616f4e5186e5de9d9a49b"}, + {file = "pydantic_core-2.46.4-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:c1b3f518abeca3aa13c712fd202306e145abf59a18b094a6bafb2d2bbf59192c"}, + {file = "pydantic_core-2.46.4-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a7dd0b3ee80d90150e3495a3a13ac34dbcbfd4f012996a6a1d8900e91b5c0fb"}, + {file = "pydantic_core-2.46.4-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:3fb702cd90b0446a3a1c5e470bfa0dd23c0233b676a9099ddcc964fa6ca13898"}, + {file = "pydantic_core-2.46.4-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:b8458003118a712e66286df6a707db01c52c0f52f7db8e4a38f0da1d3b94fc4e"}, + {file = "pydantic_core-2.46.4-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:372429a130e469c9cd698925ce5fc50940b7a1336b0d82038e63d5bbc4edc519"}, + {file = "pydantic_core-2.46.4-cp314-cp314-win32.whl", hash = "sha256:85bb3611ff1802f3ee7fdd7dbff26b56f343fb432d57a4728fdd49b6ef35e2f4"}, + {file = "pydantic_core-2.46.4-cp314-cp314-win_amd64.whl", hash = "sha256:811ff8e9c313ab425368bcbb36e5c4ebd7108c2bbf4e4089cfbb0b01eff63fac"}, + {file = "pydantic_core-2.46.4-cp314-cp314-win_arm64.whl", hash = "sha256:bfec22eab3c8cc2ceec0248aec886624116dc079afa027ecc8ad4a7e62010f8a"}, + {file = "pydantic_core-2.46.4-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:af8244b2bef6aaad6d92cda81372de7f8c8d36c9f0c3ea36e827c60e7d9467a0"}, + {file = "pydantic_core-2.46.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5a4330cdbc57162e4b3aa303f588ba752257694c9c9be3e7ebb11b4aca659b5d"}, + {file = "pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29c61fc04a3d840155ff08e475a04809278972fe6aef51e2720554e96367e34b"}, + {file = "pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c50f2528cf200c5eed56faf3f4e22fcd5f38c157a8b78576e6ba3168ec35f000"}, + {file = "pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0cbe8b01f948de4286c74cdd6c667aceb38f5c1e26f0693b3983d9d74887c65e"}, + {file = "pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:617d7e2ca7dcb8c5cf6bcb8c59b8832c94b36196bbf1cbd1bfb56ed341905edd"}, + {file = "pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7027560ee92211647d0d34e3f7cd6f50da56399d26a9c8ad0da286d3869a53f3"}, + {file = "pydantic_core-2.46.4-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:f99626688942fb746e545232e7726926f3be91b5975f8b55327665fafda991c7"}, + {file = "pydantic_core-2.46.4-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fc3e9034a63de20e15e8ade85358bc6efc614008cab72898b4b4952bea0509ff"}, + {file = "pydantic_core-2.46.4-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:97e7cf2be5c77b7d1a9713a05605d49460d02c6078d38d8bef3cbe323c548424"}, + {file = "pydantic_core-2.46.4-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:3bf92c5d0e00fefaab325a4d27828fe6b6e2a21848686b5b60d2d9eeb09d76c6"}, + {file = "pydantic_core-2.46.4-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:3ecbc122d18468d06ca279dc26a8c2e2d5acb10943bb35e36ae92096dc3b5565"}, + {file = "pydantic_core-2.46.4-cp314-cp314t-win32.whl", hash = "sha256:e846ae7835bf0703ae43f534ab79a867146dadd59dc9ca5c8b53d5c8f7c9ef02"}, + {file = "pydantic_core-2.46.4-cp314-cp314t-win_amd64.whl", hash = "sha256:2108ba5c1c1eca18030634489dc544844144ee36357f2f9f780b93e7ddbb44b5"}, + {file = "pydantic_core-2.46.4-cp314-cp314t-win_arm64.whl", hash = "sha256:4fcbe087dbc2068af7eda3aa87634eba216dbda64d1ae73c8684b621d33f6596"}, + {file = "pydantic_core-2.46.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:fd8b3d9fd264be37976686c7f65cd52a83f5e84f4bfd2adf9c1d469676bbb6ae"}, + {file = "pydantic_core-2.46.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9f444c499b3eefd3a92e348059471ea0c3a6e303d9c1cec09fa748fd9f895201"}, + {file = "pydantic_core-2.46.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3447661d99f75a3683a4cf5c87da72f2161964611864dbbeac7fbb118bb4bfc0"}, + {file = "pydantic_core-2.46.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8b9bab013d1c7a79d3501ff86d0bc9c31bf587db4551677b96bec07df78c6b15"}, + {file = "pydantic_core-2.46.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d995260fdf4e1db774581b4900e0f832abe3c7c84996726bbc161b19c8f29e76"}, + {file = "pydantic_core-2.46.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f13a646d65d09fbf1bc6b3a9635d30095c8e7e5cc419ff35ecc563c5fd04cd49"}, + {file = "pydantic_core-2.46.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:432c179df7874eeb73307aad2df0755e1ae0efa61ff0ea89b93e194411ae3928"}, + {file = "pydantic_core-2.46.4-cp39-cp39-manylinux_2_31_riscv64.whl", hash = "sha256:e68b7a074f65a2fd746c52a7ce6142ab7006074ac269ace0c25cd8ba171f8066"}, + {file = "pydantic_core-2.46.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4a05d69cba51d852c5c3e92758653245a50c0b646ced0cf05bd793ed592839d6"}, + {file = "pydantic_core-2.46.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:228ee9bae8bef5b1e97ec58302f80357c37199e0d0a99174e138d28e6957b9d9"}, + {file = "pydantic_core-2.46.4-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:10e17cbb10a330363733efc4d7c4d0dd827ac0909b8f6a6542298fed1ea62f29"}, + {file = "pydantic_core-2.46.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:91a06d2e259ecfbd8c901d70c3c507900458498142b3026a296b7de4d1322cc9"}, + {file = "pydantic_core-2.46.4-cp39-cp39-win32.whl", hash = "sha256:d80ee3d731373b24cebbc10d689ca4ee1875caf0d5703a245db18efd4dd37fc1"}, + {file = "pydantic_core-2.46.4-cp39-cp39-win_amd64.whl", hash = "sha256:3be77f45df024d789a672ae34f8b06fb346c4f9f46ea714956660ea4862e89ac"}, + {file = "pydantic_core-2.46.4-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:14d4edf427bdcf950a8a02d7cb44a08614388dd6e1bdcbf4f67504fa7887da9c"}, + {file = "pydantic_core-2.46.4-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:0ce40cd7b21210e99342afafbd4d0f76d784eb5b1d60f3bdc566be4983c6c73b"}, + {file = "pydantic_core-2.46.4-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:90884113d8b48f760e9587002789ddd741e76ab9f89518cd1e43b1f1a52ec44b"}, + {file = "pydantic_core-2.46.4-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66ce7632c22d837c95301830e111ad0128a32b8207533b60896a96c4915192ea"}, + {file = "pydantic_core-2.46.4-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:1d8ba486450b14f3b1d63bc521d410ec7565e52f887b9fb671791886436a42f7"}, + {file = "pydantic_core-2.46.4-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:3009f12e4e90b7f88b4f9adb1b0c4a3d58fe7820f3238c190047209d148026df"}, + {file = "pydantic_core-2.46.4-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad785e92e6dc634c21555edc8bd6b64957ab844541bcb96a1366c202951ae526"}, + {file = "pydantic_core-2.46.4-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00c603d540afdd6b80eb39f078f33ebd46211f02f33e34a32d9f053bba711de0"}, + {file = "pydantic_core-2.46.4-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:0c563b08bca408dc7f65f700633d8442fffb2421fc47b8101377e9fd65051ff0"}, + {file = "pydantic_core-2.46.4-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:db06ffe51636ffe9ca531fe9023dd64bdd794be8754cb5df57c5498ae5b518a7"}, + {file = "pydantic_core-2.46.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:133878133d271ade3d41d1bfb2a45ec38dbdbda40bc065921c6b04e4630127e2"}, + {file = "pydantic_core-2.46.4-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9bc519fbf2b7578398853d815009ae5e4d4603d12f4e3f91da8c06852d3da3e9"}, + {file = "pydantic_core-2.46.4-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:c7a7bd4e39e8e4c12c39cd480356842b6a8a06e41b23a55a5e3e191718838ddf"}, + {file = "pydantic_core-2.46.4-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:d396ec2b979760aaf3218e76c24e65bd0aca24983298653b3a9d7a45f9e47b30"}, + {file = "pydantic_core-2.46.4-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:86e1a4418c6cd97d60c95c71164158eaf7324fae7b0923264016baa993eba6fc"}, + {file = "pydantic_core-2.46.4-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:d51026d73fcfd93610abc7b27789c26b313920fcfb20e27462d74a7f8b06e983"}, + {file = "pydantic_core-2.46.4.tar.gz", hash = "sha256:62f875393d7f270851f20523dd2e29f082bcc82292d66db2b64ea71f64b6e1c1"}, +] + +[package.dependencies] +typing-extensions = ">=4.14.1" + +[[package]] +name = "pygame-ce" +version = "2.5.8" +description = "Python Game Development" +optional = false +python-versions = ">=3.10" +groups = ["main"] +files = [ + {file = "pygame_ce-2.5.8-cp310-cp310-macosx_10_11_universal2.whl", hash = "sha256:e43021583000ff05657517f1455b6183d69796a39781ef91f82b5b2b869d4156"}, + {file = "pygame_ce-2.5.8-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:514f2c13e008af13cbc45ef93e897af1d192bec35f07f8894212926286e89ef0"}, + {file = "pygame_ce-2.5.8-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:49aca63362d075c6efbf0571380b759c7a87341ae474acd23d897f3307bb9506"}, + {file = "pygame_ce-2.5.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6de2f738e0a6130f70ae47cf8da8845b2f228014f2c71b37477f10fb1febec5a"}, + {file = "pygame_ce-2.5.8-cp310-cp310-win32.whl", hash = "sha256:ceabf943fb485dbcdc497d504bf267463e1d8ec62973a637635a03be312eb215"}, + {file = "pygame_ce-2.5.8-cp310-cp310-win_amd64.whl", hash = "sha256:15a408aa324c7d3f465a80595a0cf2525c74ef147479a7b37322dbc1d99b8edf"}, + {file = "pygame_ce-2.5.8-cp311-cp311-macosx_10_11_universal2.whl", hash = "sha256:9e98223c8874177c8441923a8f60da76b1de9d7f2450602a4c7ef24c15e84f1a"}, + {file = "pygame_ce-2.5.8-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a7b2a54548926eaf535ac574cfa6528f96bd1e2f524a20fea514b2922dd68bcc"}, + {file = "pygame_ce-2.5.8-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:ff283d1bee65e208cf2f0da7f2f4e3d0993d1787938898de2872fbefab1f786b"}, + {file = "pygame_ce-2.5.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:33e1b5a78cd6d25c2c8f00c09cdc0ba8000eec81b53dc7d8d7323d8319691d69"}, + {file = "pygame_ce-2.5.8-cp311-cp311-win32.whl", hash = "sha256:b919b49b8a41564f7d0ad43f6dc97a66f29d3956fb592581f4abd62442644c9c"}, + {file = "pygame_ce-2.5.8-cp311-cp311-win_amd64.whl", hash = "sha256:0f75f6cf17607e380687aa5551c46aa830c8037b2950c71e48be8891ddc737da"}, + {file = "pygame_ce-2.5.8-cp311-cp311-win_arm64.whl", hash = "sha256:8e7931bd6b8ffc1474e7b3d5717e18bf8ff3eed95ab9042f1b9a0907e9ff6519"}, + {file = "pygame_ce-2.5.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0ae2141c81595b4b13b780d325b9ea0016c6647f8b3a6004278b00765a96664d"}, + {file = "pygame_ce-2.5.8-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e401643af9455cb69f8cb77050c325f290314da0051e9ab82c5ccaf8017c314a"}, + {file = "pygame_ce-2.5.8-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:6d4839f127b1b66f1dfe7e0dca3d2233b6f3a63077690081d1996e24087c6055"}, + {file = "pygame_ce-2.5.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bf9c8b4376077efec6ae31443172ae98545f278d0e4426852e81c28ab1f5d7c2"}, + {file = "pygame_ce-2.5.8-cp312-cp312-win32.whl", hash = "sha256:91d2434d8cbdb7cd04c9b37e76a8154641da25f4e274265806407f495fe6e889"}, + {file = "pygame_ce-2.5.8-cp312-cp312-win_amd64.whl", hash = "sha256:2cfe8afe1e7955780f0bd4f01d65f1b4903f561407052081cfcec31e80957c3c"}, + {file = "pygame_ce-2.5.8-cp312-cp312-win_arm64.whl", hash = "sha256:6c48a3ad5f7102e076055a3c817c12e932ee5c9b831080db2ea9754236b0490d"}, + {file = "pygame_ce-2.5.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:56441a9bb75c2461750dc0e6e4a46e3833b3cf6339bfbaf16f93ecac037510f3"}, + {file = "pygame_ce-2.5.8-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e3183bc0d808e739ca2400df45a5bfae10704ccbcacab0f04f9adc9027e86427"}, + {file = "pygame_ce-2.5.8-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:841aecccb498419367936bea0b1b0c6e9d635dc81c41ef26ec1769158f1ab871"}, + {file = "pygame_ce-2.5.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5bb966b610e161a8f6d908b4c62ef3a1f3e922bc7bed73bd70a3e15dc780b90e"}, + {file = "pygame_ce-2.5.8-cp313-cp313-win32.whl", hash = "sha256:cab944d76af71e707803856b4db984ca90d9d6453e470e89771ed963c11ed912"}, + {file = "pygame_ce-2.5.8-cp313-cp313-win_amd64.whl", hash = "sha256:f495b0eb7a5c54c59da58e964bc7f68073c3f43cf307729fd48309104a04c190"}, + {file = "pygame_ce-2.5.8-cp313-cp313-win_arm64.whl", hash = "sha256:dea22b4d4c418bbd0bd9853ae797ecfa882436d2684ceb6063ba8b520adc8500"}, + {file = "pygame_ce-2.5.8-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:7ec4efa6b57a194f5ad51b92211cc74b485320df951b0cc870235b2b889b9b6d"}, + {file = "pygame_ce-2.5.8-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:bb91d0bb0b5e2a4da61910d752769d4580cacffb4b7338cee57c932351c67e7b"}, + {file = "pygame_ce-2.5.8-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:68bd9c4ac42bb2549c034d56399404f16c87c56714db721ed975a759798a3d16"}, + {file = "pygame_ce-2.5.8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0027bd2255cbb39789d9c7ff95a5f040f56d1cfeb09504497447c0ee06169a24"}, + {file = "pygame_ce-2.5.8-cp314-cp314-win32.whl", hash = "sha256:c5285d444e4b789ef95522bbd2b90433163ad2b89e0ae4891236fde88a027fbd"}, + {file = "pygame_ce-2.5.8-cp314-cp314-win_amd64.whl", hash = "sha256:b4c2e28c201240199356952e6bd0221969d2eb8a1a15c3454d77db209bad7891"}, + {file = "pygame_ce-2.5.8-cp314-cp314-win_arm64.whl", hash = "sha256:b23034594412456504822d3088cf5f292f63bbe415eac29735340a59999e4116"}, + {file = "pygame_ce-2.5.8-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:0a4e0804d53bae8d9aa5192fc2259b40dd084b48ea273dd7dd6e1c12b73303c4"}, + {file = "pygame_ce-2.5.8-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d7f03d38b3693c014dd47d4e281620b6756669129e545af1cd608a9484582846"}, + {file = "pygame_ce-2.5.8-cp315-cp315-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:d084b79535f3529aa157edd9401f4f33e5082f318d287029291d6596bb225105"}, + {file = "pygame_ce-2.5.8-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d9cbf6e2648ae6d76aa8ece82187d240300cfd9f4c90860e1e466f78cf0ab14a"}, + {file = "pygame_ce-2.5.8-cp315-cp315-win32.whl", hash = "sha256:312a01ff5439a0bd2e55b56683518454da4cbe4cad493d0580e9c49f6aacc2d8"}, + {file = "pygame_ce-2.5.8-cp315-cp315-win_amd64.whl", hash = "sha256:5b789aa7e4239be025c9de8428c2c422f0811f0e3dd702b574d836fd9ae040eb"}, + {file = "pygame_ce-2.5.8-cp315-cp315-win_arm64.whl", hash = "sha256:28c4fed3870e3edf72ea7ea359bb5f64c55db0fb9cb3bdb26b4b674b4b4bcff4"}, + {file = "pygame_ce-2.5.8-pp311-pypy311_pp73-macosx_10_15_universal2.whl", hash = "sha256:0aa908c9fce4d508205e0b9cdc0f7338066da63322f6bcaa9a9c8aff9155a87e"}, + {file = "pygame_ce-2.5.8-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:894faf17699ea7f14eabd9161ef532c1d248e40f568dab9240fc68b4c1ea85dc"}, + {file = "pygame_ce-2.5.8-pp311-pypy311_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:0d0c4b2b38e1946ea7a7c625ea317e237573e8731e4a56055eb4361b3c2daa0f"}, + {file = "pygame_ce-2.5.8-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9ea02f653f76d496870766e1fb8419b6a6aebd81d40265057672f1f6d63d3509"}, + {file = "pygame_ce-2.5.8-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:f2f2f1c03dc8d4460779f9e55f959a7c7e523101b3530f60f3208e5ca65a6216"}, + {file = "pygame_ce-2.5.8.tar.gz", hash = "sha256:3c8e69088ead310037972c391306ea58e74d7296b35d1890067749235fd554ba"}, +] + +[[package]] +name = "pygetwindow" +version = "0.0.9" +description = "A simple, cross-platform module for obtaining GUI information on application's windows." +optional = false +python-versions = "*" +groups = ["main"] +files = [ + {file = "PyGetWindow-0.0.9.tar.gz", hash = "sha256:17894355e7d2b305cd832d717708384017c1698a90ce24f6f7fbf0242dd0a688"}, +] + +[package.dependencies] +pyrect = "*" + +[[package]] +name = "pyobjc" +version = "12.2.1" +description = "Python<->ObjC Interoperability Module" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc-12.2.1-py3-none-any.whl", hash = "sha256:edbbf9e2e249cd2fa660422c7d72e9fe5be1438deab38c64238b26f4c9db9421"}, + {file = "pyobjc-12.2.1.tar.gz", hash = "sha256:0b2cf49d24213e7604620c31863e7b4e42770c4442c10e59b18ad951cd200cd3"}, +] + +[package.dependencies] +pyobjc-core = "12.2.1" +pyobjc-framework-Accessibility = {version = "12.2.1", markers = "platform_release >= \"20.0\""} +pyobjc-framework-Accounts = {version = "12.2.1", markers = "platform_release >= \"12.0\""} +pyobjc-framework-AddressBook = "12.2.1" +pyobjc-framework-AdServices = {version = "12.2.1", markers = "platform_release >= \"20.0\""} +pyobjc-framework-AdSupport = {version = "12.2.1", markers = "platform_release >= \"18.0\""} +pyobjc-framework-AppleScriptKit = "12.2.1" +pyobjc-framework-AppleScriptObjC = {version = "12.2.1", markers = "platform_release >= \"10.0\""} +pyobjc-framework-ApplicationServices = "12.2.1" +pyobjc-framework-AppTrackingTransparency = {version = "12.2.1", markers = "platform_release >= \"20.0\""} +pyobjc-framework-ARKit = {version = "12.2.1", markers = "platform_release >= \"25.0\""} +pyobjc-framework-AudioVideoBridging = {version = "12.2.1", markers = "platform_release >= \"12.0\""} +pyobjc-framework-AuthenticationServices = {version = "12.2.1", markers = "platform_release >= \"19.0\""} +pyobjc-framework-AutomaticAssessmentConfiguration = {version = "12.2.1", markers = "platform_release >= \"19.0\""} +pyobjc-framework-Automator = "12.2.1" +pyobjc-framework-AVFoundation = {version = "12.2.1", markers = "platform_release >= \"11.0\""} +pyobjc-framework-AVKit = {version = "12.2.1", markers = "platform_release >= \"13.0\""} +pyobjc-framework-AVRouting = {version = "12.2.1", markers = "platform_release >= \"22.0\""} +pyobjc-framework-BackgroundAssets = {version = "12.2.1", markers = "platform_release >= \"22.0\""} +pyobjc-framework-BrowserEngineKit = {version = "12.2.1", markers = "platform_release >= \"23.4\""} +pyobjc-framework-BusinessChat = {version = "12.2.1", markers = "platform_release >= \"18.0\""} +pyobjc-framework-CalendarStore = {version = "12.2.1", markers = "platform_release >= \"9.0\""} +pyobjc-framework-CallKit = {version = "12.2.1", markers = "platform_release >= \"20.0\""} +pyobjc-framework-Carbon = "12.2.1" +pyobjc-framework-CFNetwork = "12.2.1" +pyobjc-framework-Cinematic = {version = "12.2.1", markers = "platform_release >= \"23.0\""} +pyobjc-framework-ClassKit = {version = "12.2.1", markers = "platform_release >= \"20.0\""} +pyobjc-framework-CloudKit = {version = "12.2.1", markers = "platform_release >= \"14.0\""} +pyobjc-framework-Cocoa = "12.2.1" +pyobjc-framework-Collaboration = {version = "12.2.1", markers = "platform_release >= \"9.0\""} +pyobjc-framework-ColorSync = {version = "12.2.1", markers = "platform_release >= \"17.0\""} +pyobjc-framework-CompositorServices = {version = "12.2.1", markers = "platform_release >= \"25.0\""} +pyobjc-framework-Contacts = {version = "12.2.1", markers = "platform_release >= \"15.0\""} +pyobjc-framework-ContactsUI = {version = "12.2.1", markers = "platform_release >= \"15.0\""} +pyobjc-framework-CoreAudio = "12.2.1" +pyobjc-framework-CoreAudioKit = "12.2.1" +pyobjc-framework-CoreBluetooth = {version = "12.2.1", markers = "platform_release >= \"14.0\""} +pyobjc-framework-CoreData = "12.2.1" +pyobjc-framework-CoreHaptics = {version = "12.2.1", markers = "platform_release >= \"19.0\""} +pyobjc-framework-CoreLocation = {version = "12.2.1", markers = "platform_release >= \"10.0\""} +pyobjc-framework-CoreMedia = {version = "12.2.1", markers = "platform_release >= \"11.0\""} +pyobjc-framework-CoreMediaIO = {version = "12.2.1", markers = "platform_release >= \"11.0\""} +pyobjc-framework-CoreMIDI = "12.2.1" +pyobjc-framework-CoreML = {version = "12.2.1", markers = "platform_release >= \"17.0\""} +pyobjc-framework-CoreMotion = {version = "12.2.1", markers = "platform_release >= \"19.0\""} +pyobjc-framework-CoreServices = "12.2.1" +pyobjc-framework-CoreSpotlight = {version = "12.2.1", markers = "platform_release >= \"17.0\""} +pyobjc-framework-CoreText = "12.2.1" +pyobjc-framework-CoreWLAN = {version = "12.2.1", markers = "platform_release >= \"10.0\""} +pyobjc-framework-CryptoTokenKit = {version = "12.2.1", markers = "platform_release >= \"14.0\""} +pyobjc-framework-DataDetection = {version = "12.2.1", markers = "platform_release >= \"21.0\""} +pyobjc-framework-DeviceCheck = {version = "12.2.1", markers = "platform_release >= \"19.0\""} +pyobjc-framework-DeviceDiscoveryExtension = {version = "12.2.1", markers = "platform_release >= \"24.0\""} +pyobjc-framework-DictionaryServices = {version = "12.2.1", markers = "platform_release >= \"9.0\""} +pyobjc-framework-DiscRecording = "12.2.1" +pyobjc-framework-DiscRecordingUI = "12.2.1" +pyobjc-framework-DiskArbitration = "12.2.1" +pyobjc-framework-DVDPlayback = "12.2.1" +pyobjc-framework-EventKit = {version = "12.2.1", markers = "platform_release >= \"12.0\""} +pyobjc-framework-ExceptionHandling = "12.2.1" +pyobjc-framework-ExecutionPolicy = {version = "12.2.1", markers = "platform_release >= \"19.0\""} +pyobjc-framework-ExtensionKit = {version = "12.2.1", markers = "platform_release >= \"22.0\""} +pyobjc-framework-ExternalAccessory = {version = "12.2.1", markers = "platform_release >= \"17.0\""} +pyobjc-framework-FileProvider = {version = "12.2.1", markers = "platform_release >= \"19.0\""} +pyobjc-framework-FileProviderUI = {version = "12.2.1", markers = "platform_release >= \"19.0\""} +pyobjc-framework-FinderSync = {version = "12.2.1", markers = "platform_release >= \"14.0\""} +pyobjc-framework-FSEvents = {version = "12.2.1", markers = "platform_release >= \"9.0\""} +pyobjc-framework-FSKit = {version = "12.2.1", markers = "platform_release >= \"24.4\""} +pyobjc-framework-GameCenter = {version = "12.2.1", markers = "platform_release >= \"12.0\""} +pyobjc-framework-GameController = {version = "12.2.1", markers = "platform_release >= \"13.0\""} +pyobjc-framework-GameKit = {version = "12.2.1", markers = "platform_release >= \"12.0\""} +pyobjc-framework-GameplayKit = {version = "12.2.1", markers = "platform_release >= \"15.0\""} +pyobjc-framework-GameSave = {version = "12.2.1", markers = "platform_release >= \"25.0\""} +pyobjc-framework-HealthKit = {version = "12.2.1", markers = "platform_release >= \"22.0\""} +pyobjc-framework-ImageCaptureCore = {version = "12.2.1", markers = "platform_release >= \"10.0\""} +pyobjc-framework-InputMethodKit = {version = "12.2.1", markers = "platform_release >= \"9.0\""} +pyobjc-framework-InstallerPlugins = "12.2.1" +pyobjc-framework-InstantMessage = {version = "12.2.1", markers = "platform_release >= \"9.0\""} +pyobjc-framework-Intents = {version = "12.2.1", markers = "platform_release >= \"16.0\""} +pyobjc-framework-IntentsUI = {version = "12.2.1", markers = "platform_release >= \"21.0\""} +pyobjc-framework-IOBluetooth = "12.2.1" +pyobjc-framework-IOBluetoothUI = "12.2.1" +pyobjc-framework-IOSurface = {version = "12.2.1", markers = "platform_release >= \"10.0\""} +pyobjc-framework-iTunesLibrary = {version = "12.2.1", markers = "platform_release >= \"10.0\""} +pyobjc-framework-KernelManagement = {version = "12.2.1", markers = "platform_release >= \"20.0\""} +pyobjc-framework-LatentSemanticMapping = "12.2.1" +pyobjc-framework-LaunchServices = "12.2.1" +pyobjc-framework-libdispatch = {version = "12.2.1", markers = "platform_release >= \"12.0\""} +pyobjc-framework-libxpc = {version = "12.2.1", markers = "platform_release >= \"12.0\""} +pyobjc-framework-LinkPresentation = {version = "12.2.1", markers = "platform_release >= \"19.0\""} +pyobjc-framework-LocalAuthentication = {version = "12.2.1", markers = "platform_release >= \"14.0\""} +pyobjc-framework-LocalAuthenticationEmbeddedUI = {version = "12.2.1", markers = "platform_release >= \"21.0\""} +pyobjc-framework-MailKit = {version = "12.2.1", markers = "platform_release >= \"21.0\""} +pyobjc-framework-MapKit = {version = "12.2.1", markers = "platform_release >= \"13.0\""} +pyobjc-framework-MediaAccessibility = {version = "12.2.1", markers = "platform_release >= \"13.0\""} +pyobjc-framework-MediaExtension = {version = "12.2.1", markers = "platform_release >= \"24.0\""} +pyobjc-framework-MediaLibrary = {version = "12.2.1", markers = "platform_release >= \"13.0\""} +pyobjc-framework-MediaPlayer = {version = "12.2.1", markers = "platform_release >= \"16.0\""} +pyobjc-framework-MediaToolbox = {version = "12.2.1", markers = "platform_release >= \"13.0\""} +pyobjc-framework-Metal = {version = "12.2.1", markers = "platform_release >= \"15.0\""} +pyobjc-framework-MetalFX = {version = "12.2.1", markers = "platform_release >= \"22.0\""} +pyobjc-framework-MetalKit = {version = "12.2.1", markers = "platform_release >= \"15.0\""} +pyobjc-framework-MetalPerformanceShaders = {version = "12.2.1", markers = "platform_release >= \"17.0\""} +pyobjc-framework-MetalPerformanceShadersGraph = {version = "12.2.1", markers = "platform_release >= \"20.0\""} +pyobjc-framework-MetricKit = {version = "12.2.1", markers = "platform_release >= \"21.0\""} +pyobjc-framework-MLCompute = {version = "12.2.1", markers = "platform_release >= \"20.0\""} +pyobjc-framework-ModelIO = {version = "12.2.1", markers = "platform_release >= \"15.0\""} +pyobjc-framework-MultipeerConnectivity = {version = "12.2.1", markers = "platform_release >= \"14.0\""} +pyobjc-framework-NaturalLanguage = {version = "12.2.1", markers = "platform_release >= \"18.0\""} +pyobjc-framework-NetFS = {version = "12.2.1", markers = "platform_release >= \"10.0\""} +pyobjc-framework-Network = {version = "12.2.1", markers = "platform_release >= \"18.0\""} +pyobjc-framework-NetworkExtension = {version = "12.2.1", markers = "platform_release >= \"15.0\""} +pyobjc-framework-NotificationCenter = {version = "12.2.1", markers = "platform_release >= \"14.0\""} +pyobjc-framework-OpenDirectory = {version = "12.2.1", markers = "platform_release >= \"10.0\""} +pyobjc-framework-OSAKit = "12.2.1" +pyobjc-framework-OSLog = {version = "12.2.1", markers = "platform_release >= \"19.0\""} +pyobjc-framework-PassKit = {version = "12.2.1", markers = "platform_release >= \"20.0\""} +pyobjc-framework-PencilKit = {version = "12.2.1", markers = "platform_release >= \"19.0\""} +pyobjc-framework-PHASE = {version = "12.2.1", markers = "platform_release >= \"21.0\""} +pyobjc-framework-Photos = {version = "12.2.1", markers = "platform_release >= \"15.0\""} +pyobjc-framework-PhotosUI = {version = "12.2.1", markers = "platform_release >= \"15.0\""} +pyobjc-framework-PreferencePanes = "12.2.1" +pyobjc-framework-PubSub = {version = "12.2.1", markers = "platform_release >= \"9.0\" and platform_release < \"18.0\""} +pyobjc-framework-PushKit = {version = "12.2.1", markers = "platform_release >= \"19.0\""} +pyobjc-framework-Quartz = "12.2.1" +pyobjc-framework-QuickLookThumbnailing = {version = "12.2.1", markers = "platform_release >= \"19.0\""} +pyobjc-framework-ReplayKit = {version = "12.2.1", markers = "platform_release >= \"20.0\""} +pyobjc-framework-SafariServices = {version = "12.2.1", markers = "platform_release >= \"16.0\""} +pyobjc-framework-SafetyKit = {version = "12.2.1", markers = "platform_release >= \"22.0\""} +pyobjc-framework-SceneKit = {version = "12.2.1", markers = "platform_release >= \"11.0\""} +pyobjc-framework-ScreenCaptureKit = {version = "12.2.1", markers = "platform_release >= \"21.4\""} +pyobjc-framework-ScreenSaver = "12.2.1" +pyobjc-framework-ScreenTime = {version = "12.2.1", markers = "platform_release >= \"20.0\""} +pyobjc-framework-ScriptingBridge = {version = "12.2.1", markers = "platform_release >= \"9.0\""} +pyobjc-framework-SearchKit = "12.2.1" +pyobjc-framework-Security = "12.2.1" +pyobjc-framework-SecurityFoundation = "12.2.1" +pyobjc-framework-SecurityInterface = "12.2.1" +pyobjc-framework-SecurityUI = {version = "12.2.1", markers = "platform_release >= \"24.4\""} +pyobjc-framework-SensitiveContentAnalysis = {version = "12.2.1", markers = "platform_release >= \"23.0\""} +pyobjc-framework-ServiceManagement = {version = "12.2.1", markers = "platform_release >= \"10.0\""} +pyobjc-framework-SharedWithYou = {version = "12.2.1", markers = "platform_release >= \"22.0\""} +pyobjc-framework-SharedWithYouCore = {version = "12.2.1", markers = "platform_release >= \"22.0\""} +pyobjc-framework-ShazamKit = {version = "12.2.1", markers = "platform_release >= \"21.0\""} +pyobjc-framework-Social = {version = "12.2.1", markers = "platform_release >= \"12.0\""} +pyobjc-framework-SoundAnalysis = {version = "12.2.1", markers = "platform_release >= \"19.0\""} +pyobjc-framework-Speech = {version = "12.2.1", markers = "platform_release >= \"19.0\""} +pyobjc-framework-SpriteKit = {version = "12.2.1", markers = "platform_release >= \"13.0\""} +pyobjc-framework-StoreKit = {version = "12.2.1", markers = "platform_release >= \"11.0\""} +pyobjc-framework-Symbols = {version = "12.2.1", markers = "platform_release >= \"23.0\""} +pyobjc-framework-SyncServices = "12.2.1" +pyobjc-framework-SystemConfiguration = "12.2.1" +pyobjc-framework-SystemExtensions = {version = "12.2.1", markers = "platform_release >= \"19.0\""} +pyobjc-framework-ThreadNetwork = {version = "12.2.1", markers = "platform_release >= \"22.0\""} +pyobjc-framework-UniformTypeIdentifiers = {version = "12.2.1", markers = "platform_release >= \"20.0\""} +pyobjc-framework-UserNotifications = {version = "12.2.1", markers = "platform_release >= \"18.0\""} +pyobjc-framework-UserNotificationsUI = {version = "12.2.1", markers = "platform_release >= \"20.0\""} +pyobjc-framework-VideoSubscriberAccount = {version = "12.2.1", markers = "platform_release >= \"18.0\""} +pyobjc-framework-VideoToolbox = {version = "12.2.1", markers = "platform_release >= \"12.0\""} +pyobjc-framework-Virtualization = {version = "12.2.1", markers = "platform_release >= \"20.0\""} +pyobjc-framework-Vision = {version = "12.2.1", markers = "platform_release >= \"17.0\""} +pyobjc-framework-WebKit = "12.2.1" + +[package.extras] +allbindings = ["pyobjc-core (==12.2.1)", "pyobjc-framework-ARKit (==12.2.1)", "pyobjc-framework-AVFoundation (==12.2.1)", "pyobjc-framework-AVKit (==12.2.1)", "pyobjc-framework-AVRouting (==12.2.1)", "pyobjc-framework-Accessibility (==12.2.1)", "pyobjc-framework-Accounts (==12.2.1)", "pyobjc-framework-AdServices (==12.2.1)", "pyobjc-framework-AdSupport (==12.2.1)", "pyobjc-framework-AddressBook (==12.2.1)", "pyobjc-framework-AppTrackingTransparency (==12.2.1)", "pyobjc-framework-AppleScriptKit (==12.2.1)", "pyobjc-framework-AppleScriptObjC (==12.2.1)", "pyobjc-framework-ApplicationServices (==12.2.1)", "pyobjc-framework-AudioVideoBridging (==12.2.1)", "pyobjc-framework-AuthenticationServices (==12.2.1)", "pyobjc-framework-AutomaticAssessmentConfiguration (==12.2.1)", "pyobjc-framework-Automator (==12.2.1)", "pyobjc-framework-BackgroundAssets (==12.2.1)", "pyobjc-framework-BrowserEngineKit (==12.2.1)", "pyobjc-framework-BusinessChat (==12.2.1)", "pyobjc-framework-CFNetwork (==12.2.1)", "pyobjc-framework-CalendarStore (==12.2.1)", "pyobjc-framework-CallKit (==12.2.1)", "pyobjc-framework-Carbon (==12.2.1)", "pyobjc-framework-Cinematic (==12.2.1)", "pyobjc-framework-ClassKit (==12.2.1)", "pyobjc-framework-CloudKit (==12.2.1)", "pyobjc-framework-Cocoa (==12.2.1)", "pyobjc-framework-Collaboration (==12.2.1)", "pyobjc-framework-ColorSync (==12.2.1)", "pyobjc-framework-CompositorServices (==12.2.1)", "pyobjc-framework-Contacts (==12.2.1)", "pyobjc-framework-ContactsUI (==12.2.1)", "pyobjc-framework-CoreAudio (==12.2.1)", "pyobjc-framework-CoreAudioKit (==12.2.1)", "pyobjc-framework-CoreBluetooth (==12.2.1)", "pyobjc-framework-CoreData (==12.2.1)", "pyobjc-framework-CoreHaptics (==12.2.1)", "pyobjc-framework-CoreLocation (==12.2.1)", "pyobjc-framework-CoreMIDI (==12.2.1)", "pyobjc-framework-CoreML (==12.2.1)", "pyobjc-framework-CoreMedia (==12.2.1)", "pyobjc-framework-CoreMediaIO (==12.2.1)", "pyobjc-framework-CoreMotion (==12.2.1)", "pyobjc-framework-CoreServices (==12.2.1)", "pyobjc-framework-CoreSpotlight (==12.2.1)", "pyobjc-framework-CoreText (==12.2.1)", "pyobjc-framework-CoreWLAN (==12.2.1)", "pyobjc-framework-CryptoTokenKit (==12.2.1)", "pyobjc-framework-DVDPlayback (==12.2.1)", "pyobjc-framework-DataDetection (==12.2.1)", "pyobjc-framework-DeviceCheck (==12.2.1)", "pyobjc-framework-DeviceDiscoveryExtension (==12.2.1)", "pyobjc-framework-DictionaryServices (==12.2.1)", "pyobjc-framework-DiscRecording (==12.2.1)", "pyobjc-framework-DiscRecordingUI (==12.2.1)", "pyobjc-framework-DiskArbitration (==12.2.1)", "pyobjc-framework-EventKit (==12.2.1)", "pyobjc-framework-ExceptionHandling (==12.2.1)", "pyobjc-framework-ExecutionPolicy (==12.2.1)", "pyobjc-framework-ExtensionKit (==12.2.1)", "pyobjc-framework-ExternalAccessory (==12.2.1)", "pyobjc-framework-FSEvents (==12.2.1)", "pyobjc-framework-FSKit (==12.2.1)", "pyobjc-framework-FileProvider (==12.2.1)", "pyobjc-framework-FileProviderUI (==12.2.1)", "pyobjc-framework-FinderSync (==12.2.1)", "pyobjc-framework-GameCenter (==12.2.1)", "pyobjc-framework-GameController (==12.2.1)", "pyobjc-framework-GameKit (==12.2.1)", "pyobjc-framework-GameSave (==12.2.1)", "pyobjc-framework-GameplayKit (==12.2.1)", "pyobjc-framework-HealthKit (==12.2.1)", "pyobjc-framework-IOBluetooth (==12.2.1)", "pyobjc-framework-IOBluetoothUI (==12.2.1)", "pyobjc-framework-IOSurface (==12.2.1)", "pyobjc-framework-ImageCaptureCore (==12.2.1)", "pyobjc-framework-InputMethodKit (==12.2.1)", "pyobjc-framework-InstallerPlugins (==12.2.1)", "pyobjc-framework-InstantMessage (==12.2.1)", "pyobjc-framework-Intents (==12.2.1)", "pyobjc-framework-IntentsUI (==12.2.1)", "pyobjc-framework-KernelManagement (==12.2.1)", "pyobjc-framework-LatentSemanticMapping (==12.2.1)", "pyobjc-framework-LaunchServices (==12.2.1)", "pyobjc-framework-LinkPresentation (==12.2.1)", "pyobjc-framework-LocalAuthentication (==12.2.1)", "pyobjc-framework-LocalAuthenticationEmbeddedUI (==12.2.1)", "pyobjc-framework-MLCompute (==12.2.1)", "pyobjc-framework-MailKit (==12.2.1)", "pyobjc-framework-MapKit (==12.2.1)", "pyobjc-framework-MediaAccessibility (==12.2.1)", "pyobjc-framework-MediaExtension (==12.2.1)", "pyobjc-framework-MediaLibrary (==12.2.1)", "pyobjc-framework-MediaPlayer (==12.2.1)", "pyobjc-framework-MediaToolbox (==12.2.1)", "pyobjc-framework-Metal (==12.2.1)", "pyobjc-framework-MetalFX (==12.2.1)", "pyobjc-framework-MetalKit (==12.2.1)", "pyobjc-framework-MetalPerformanceShaders (==12.2.1)", "pyobjc-framework-MetalPerformanceShadersGraph (==12.2.1)", "pyobjc-framework-MetricKit (==12.2.1)", "pyobjc-framework-ModelIO (==12.2.1)", "pyobjc-framework-MultipeerConnectivity (==12.2.1)", "pyobjc-framework-NaturalLanguage (==12.2.1)", "pyobjc-framework-NetFS (==12.2.1)", "pyobjc-framework-Network (==12.2.1)", "pyobjc-framework-NetworkExtension (==12.2.1)", "pyobjc-framework-NotificationCenter (==12.2.1)", "pyobjc-framework-OSAKit (==12.2.1)", "pyobjc-framework-OSLog (==12.2.1)", "pyobjc-framework-OpenDirectory (==12.2.1)", "pyobjc-framework-PHASE (==12.2.1)", "pyobjc-framework-PassKit (==12.2.1)", "pyobjc-framework-PencilKit (==12.2.1)", "pyobjc-framework-Photos (==12.2.1)", "pyobjc-framework-PhotosUI (==12.2.1)", "pyobjc-framework-PreferencePanes (==12.2.1)", "pyobjc-framework-PubSub (==12.2.1)", "pyobjc-framework-PushKit (==12.2.1)", "pyobjc-framework-Quartz (==12.2.1)", "pyobjc-framework-QuickLookThumbnailing (==12.2.1)", "pyobjc-framework-ReplayKit (==12.2.1)", "pyobjc-framework-SafariServices (==12.2.1)", "pyobjc-framework-SafetyKit (==12.2.1)", "pyobjc-framework-SceneKit (==12.2.1)", "pyobjc-framework-ScreenCaptureKit (==12.2.1)", "pyobjc-framework-ScreenSaver (==12.2.1)", "pyobjc-framework-ScreenTime (==12.2.1)", "pyobjc-framework-ScriptingBridge (==12.2.1)", "pyobjc-framework-SearchKit (==12.2.1)", "pyobjc-framework-Security (==12.2.1)", "pyobjc-framework-SecurityFoundation (==12.2.1)", "pyobjc-framework-SecurityInterface (==12.2.1)", "pyobjc-framework-SecurityUI (==12.2.1)", "pyobjc-framework-SensitiveContentAnalysis (==12.2.1)", "pyobjc-framework-ServiceManagement (==12.2.1)", "pyobjc-framework-SharedWithYou (==12.2.1)", "pyobjc-framework-SharedWithYouCore (==12.2.1)", "pyobjc-framework-ShazamKit (==12.2.1)", "pyobjc-framework-Social (==12.2.1)", "pyobjc-framework-SoundAnalysis (==12.2.1)", "pyobjc-framework-Speech (==12.2.1)", "pyobjc-framework-SpriteKit (==12.2.1)", "pyobjc-framework-StoreKit (==12.2.1)", "pyobjc-framework-Symbols (==12.2.1)", "pyobjc-framework-SyncServices (==12.2.1)", "pyobjc-framework-SystemConfiguration (==12.2.1)", "pyobjc-framework-SystemExtensions (==12.2.1)", "pyobjc-framework-ThreadNetwork (==12.2.1)", "pyobjc-framework-UniformTypeIdentifiers (==12.2.1)", "pyobjc-framework-UserNotifications (==12.2.1)", "pyobjc-framework-UserNotificationsUI (==12.2.1)", "pyobjc-framework-VideoSubscriberAccount (==12.2.1)", "pyobjc-framework-VideoToolbox (==12.2.1)", "pyobjc-framework-Virtualization (==12.2.1)", "pyobjc-framework-Vision (==12.2.1)", "pyobjc-framework-WebKit (==12.2.1)", "pyobjc-framework-iTunesLibrary (==12.2.1)", "pyobjc-framework-libdispatch (==12.2.1)", "pyobjc-framework-libxpc (==12.2.1)"] + +[[package]] +name = "pyobjc-core" +version = "12.2.1" +description = "Python<->ObjC Interoperability Module" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_core-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:aa5c889961d79d7704f17eeb27f80ee791335819c1bb14babeff7b9ea665b5f0"}, + {file = "pyobjc_core-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:24b76a63caf0b5369d4a377c7c0438cd70df81539057af3db839bfaa3579e04a"}, + {file = "pyobjc_core-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a64232bb27ed101d4adc7d42b0e64a6d3331aac7bee7861c037a6777a163f10b"}, + {file = "pyobjc_core-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:af101222762665a4125157906cb4b23f5d5a63d3851d5e0504f72a1eaaa2cfd2"}, + {file = "pyobjc_core-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:efe465e3ecc6fc73f7c7622620345d134a8d34564ab1c29d8247e45f4ed55071"}, + {file = "pyobjc_core-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:2b8fc0531c27277325e113ac00b8a72a82e6145f0a88175b9425d8de814ff69a"}, + {file = "pyobjc_core-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:9bef500f979e22d54f9da3aaebf6a48f873234b324858bd69256055a318955c7"}, + {file = "pyobjc_core-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:047c226eeb58a2993ace5e8904e71cc9426ee20d064c617f8fbf32717d37093e"}, + {file = "pyobjc_core-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:1188613805336270279570467e4455b74cb6c0f60913ac74c917ee1c37cfaecb"}, + {file = "pyobjc_core-12.2.1.tar.gz", hash = "sha256:7a7b9b018402342cf32bf1956366896350fbe5c0478cb3ef59778f77abed7f07"}, +] + +[[package]] +name = "pyobjc-framework-accessibility" +version = "12.2.1" +description = "Wrappers for the framework Accessibility on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"20.0\"" +files = [ + {file = "pyobjc_framework_accessibility-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e0422e40d207f4fd04ba9d3b097f42bd4d9f6ac76b398e47b5b8ccb0f295d024"}, + {file = "pyobjc_framework_accessibility-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b2064190604ed1ecfb05fc6a0fd04b7ceb2d9d3ebd02d6899607b5635ac9b12d"}, + {file = "pyobjc_framework_accessibility-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a906f4d6447a6394f10fc7d77cfb755815fb07cdb97c9e3018bd7c528600df3f"}, + {file = "pyobjc_framework_accessibility-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d6814e863cc1a29e62d9ec97f7a9535598e46748b9d734cf0b903d190fe0e224"}, + {file = "pyobjc_framework_accessibility-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:5213d57f9b1d6a7b452af78f904e3eed1b4372e9a850e772cf275177038c8512"}, + {file = "pyobjc_framework_accessibility-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:cd6d0740f72f99bea723b3ea0b3fc9c8a4bb15965ecaeca6b534dd5c5c766048"}, + {file = "pyobjc_framework_accessibility-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:327885b50b9d7a46844c063330ee8e6d76d1e68916e9eb92a8ad00657baee014"}, + {file = "pyobjc_framework_accessibility-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:6b229742dc42a337b32314563bb6d2ff8aafdb1ff1c951e86db5918412351437"}, + {file = "pyobjc_framework_accessibility-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:97d564e2c7e7b12aaa2acfaa1a22c50b6606d0198f4beb1a641b46f50d2ee8d3"}, + {file = "pyobjc_framework_accessibility-12.2.1.tar.gz", hash = "sha256:1e0ad06b5b6ae623f443d15c11780f97908d5c41fdb79532e96c6a4a76066fd8"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-Quartz = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-accounts" +version = "12.2.1" +description = "Wrappers for the framework Accounts on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"12.0\"" +files = [ + {file = "pyobjc_framework_accounts-12.2.1-py2.py3-none-any.whl", hash = "sha256:b86cba0f2a9219a1c57aba6c0f0973f7a06f10bf9ccd39b74fdb567f9b34a041"}, + {file = "pyobjc_framework_accounts-12.2.1.tar.gz", hash = "sha256:6e6d603e10182238cd77596380262a38cbb0a9141d1eca6bf522b2213c6d6751"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-addressbook" +version = "12.2.1" +description = "Wrappers for the framework AddressBook on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_addressbook-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:859be4a66e09548dfda796757b106a44965e288707fc1a0f0cd1b60796933c85"}, + {file = "pyobjc_framework_addressbook-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9daf115aa1225ebc1d7946a82a7b553ddd4158dc82705e60bb8ca9ae2bb38788"}, + {file = "pyobjc_framework_addressbook-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1bd586c3aa24345cc9e1cf31a8860cda1298cb92a70fe73b05bdf31cb69edcb2"}, + {file = "pyobjc_framework_addressbook-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ca9a94a3d27cf9b9ae22ac8fc48bfce392757b283419ac38567eeac73b6f8ffc"}, + {file = "pyobjc_framework_addressbook-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:32a21916f38dff86226c37e0478dd86e8e5fa070403f8ca27dedf5b48f30a059"}, + {file = "pyobjc_framework_addressbook-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:687c1752dd0a3b649444839453c51c3f7ad9b540f04ad6d5e68d94678700d524"}, + {file = "pyobjc_framework_addressbook-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:6578aaa8015b4e2db6139081efef3ff1c87b9d8b7a2b2ffbd99964b2f0f232e6"}, + {file = "pyobjc_framework_addressbook-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:73e3b8c88f839a00648b9ce5a35ef184bdd78075ecebeb5e8d6210cf07d7c8fd"}, + {file = "pyobjc_framework_addressbook-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:1adc06442fea100f8524282891d8358d621b8906bad30cbd61552e5edf92dcb7"}, + {file = "pyobjc_framework_addressbook-12.2.1.tar.gz", hash = "sha256:bb113fd5bcae93da00d67bf870704d2cfb73da49c4a281249d8a5abf9809aa91"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-adservices" +version = "12.2.1" +description = "Wrappers for the framework AdServices on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"20.0\"" +files = [ + {file = "pyobjc_framework_adservices-12.2.1-py2.py3-none-any.whl", hash = "sha256:631eaa86145179631624788ac1ee485fc79c2f9de347ab7d0cb3ea3413cd0cb1"}, + {file = "pyobjc_framework_adservices-12.2.1.tar.gz", hash = "sha256:6668fbef1b383c5cafae8479f4a8b53e824bd4d568611a53a3075e8c6dc4e39a"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-adsupport" +version = "12.2.1" +description = "Wrappers for the framework AdSupport on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"18.0\"" +files = [ + {file = "pyobjc_framework_adsupport-12.2.1-py2.py3-none-any.whl", hash = "sha256:46a18c775a12565efbe46fbd0258ed63aa74002773362ff7d5e5be525013b221"}, + {file = "pyobjc_framework_adsupport-12.2.1.tar.gz", hash = "sha256:c659ac447b1bb3b1a54add100d72932cfd50482384a97c22926d281c9d97a6c0"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-applescriptkit" +version = "12.2.1" +description = "Wrappers for the framework AppleScriptKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_applescriptkit-12.2.1-py2.py3-none-any.whl", hash = "sha256:db6a0aae4d9421068ed8a0838c509e3a7858813975dde40c40ef1dcc15328d1d"}, + {file = "pyobjc_framework_applescriptkit-12.2.1.tar.gz", hash = "sha256:fa3a55933ec090aebc695f3575a5afe8a2d37015162cd30e6c00948748d08f83"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-applescriptobjc" +version = "12.2.1" +description = "Wrappers for the framework AppleScriptObjC on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"10.0\"" +files = [ + {file = "pyobjc_framework_applescriptobjc-12.2.1-py2.py3-none-any.whl", hash = "sha256:59a3f7668b1f88707c06ae1cd263856ac29c2bf1650a9dbfa21288e0baebe298"}, + {file = "pyobjc_framework_applescriptobjc-12.2.1.tar.gz", hash = "sha256:c60b751a6c20148f23eb1d556aa36612c7e39b14e0bd87abaea53744ff8eabc9"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-applicationservices" +version = "12.2.1" +description = "Wrappers for the framework ApplicationServices on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_applicationservices-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:9fb187b7176e61983e1c4760bba951fd9b3fc539dca4f05998d33628e7539121"}, + {file = "pyobjc_framework_applicationservices-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:dabec481217b0d0c1ea835e9fef6b0681381b14b3f16a30d4a9d801ee3852dd2"}, + {file = "pyobjc_framework_applicationservices-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f519ced13888d03410cd7da1f08fc56ee2944099e607216cef7ca26ecfdef61b"}, + {file = "pyobjc_framework_applicationservices-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8749290f796e6cca341d443769b79329dde5d157bcc4413c1f7fdb68ea4a8e48"}, + {file = "pyobjc_framework_applicationservices-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:9ee11677fbd6a0987234814c7dde88ffd11242e8c1f76952e6654ea07f2370ac"}, + {file = "pyobjc_framework_applicationservices-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:a1c0ee536cb8bd7f5a811165ec323a9207b1e8dad9534fe2081f767fb90b0411"}, + {file = "pyobjc_framework_applicationservices-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0d55dd5be19e4a1363662bc8b48894d45714d07f0ee3958665fc9ea7df0f61b7"}, + {file = "pyobjc_framework_applicationservices-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:e91c84238b2f68f608473854bcabb8770f15ad837e7561d217f24a1e482e42be"}, + {file = "pyobjc_framework_applicationservices-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:09bfa27765d4c74155323fd8185b7aba6d639ce06c0a9f00ee2d9e7dce3d7800"}, + {file = "pyobjc_framework_applicationservices-12.2.1.tar.gz", hash = "sha256:048ea663c9ac75c44a15dc7d5b8d78cbb4c97bf1c76e83835e8d5498e184001f"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-CoreText = ">=12.2.1" +pyobjc-framework-Quartz = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-apptrackingtransparency" +version = "12.2.1" +description = "Wrappers for the framework AppTrackingTransparency on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"20.0\"" +files = [ + {file = "pyobjc_framework_apptrackingtransparency-12.2.1-py2.py3-none-any.whl", hash = "sha256:29fb3e38e124932eb566a8427dc0db759eba63396cf530862b081432316ff863"}, + {file = "pyobjc_framework_apptrackingtransparency-12.2.1.tar.gz", hash = "sha256:3eff48469eb07e4637408f410ce2690711f5c3de2fbfaa8844daa718ed3479f7"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-arkit" +version = "12.2.1" +description = "Wrappers for the framework ARKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"25.0\"" +files = [ + {file = "pyobjc_framework_arkit-12.2.1-py2.py3-none-any.whl", hash = "sha256:2834c497fe9f6cbfcdfdcb0202945b7ad36708438afbc71c77186ce3fb972366"}, + {file = "pyobjc_framework_arkit-12.2.1.tar.gz", hash = "sha256:ed4f67b1594a427b66ab751657ce6183a93a07ba32d3ba3bbefd7e0b4f6bf64d"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-audiovideobridging" +version = "12.2.1" +description = "Wrappers for the framework AudioVideoBridging on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"12.0\"" +files = [ + {file = "pyobjc_framework_audiovideobridging-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d88209b5fe94e0c7e3744a661bd8a98071073404ae97230db7d4fa7ad7a0a99c"}, + {file = "pyobjc_framework_audiovideobridging-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c0a62ec1acbf2182e272272a73e16cdc9a8de38d87a6f178c07ede661b01902b"}, + {file = "pyobjc_framework_audiovideobridging-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8a96bac7a308bed774a5332069ea013e999fa269d58ea67b67ef31dfde705186"}, + {file = "pyobjc_framework_audiovideobridging-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ceebe03b803be2684412050afc9e661d1e9fc7857ca34f27beff3a11b2cad773"}, + {file = "pyobjc_framework_audiovideobridging-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:271d3a0a46cc13437b27c790bc7a5fd9dba8f445a743c243de2b41cc2b396aef"}, + {file = "pyobjc_framework_audiovideobridging-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:ce46d2afc7cc5dacea90dc671c1981d8366239d0aa83f06c0bd7ccb5e8218f19"}, + {file = "pyobjc_framework_audiovideobridging-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:622afa4c3a12878746d10994ef7536d6c81fba75123b3969613ff23da771e36c"}, + {file = "pyobjc_framework_audiovideobridging-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:9770aad1e6f915fd162ff2f867c21114b134a0341d1ceed7fa067d3b02d47c38"}, + {file = "pyobjc_framework_audiovideobridging-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:81fbcaff1304d1aac41a5a661736d7f8ddd31b3b1352bc1fe471906956997b38"}, + {file = "pyobjc_framework_audiovideobridging-12.2.1.tar.gz", hash = "sha256:7b6890ebfb1d346988dad7ff20182373c5c15026b1f9a50f64f654b4ff255e76"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-authenticationservices" +version = "12.2.1" +description = "Wrappers for the framework AuthenticationServices on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"19.0\"" +files = [ + {file = "pyobjc_framework_authenticationservices-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:73ef0a6157059cd33d53ae19d1e3c818f5068849f850774a6b0534e12236e9a3"}, + {file = "pyobjc_framework_authenticationservices-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d1c679a6625ab639c42a2ea9e69d9b1d13c639effb2fec92176e107f53d4b90"}, + {file = "pyobjc_framework_authenticationservices-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ac2f78923734fb477ec4de4a2bea243ae418b33675c2ee62bf12ae333b31dad8"}, + {file = "pyobjc_framework_authenticationservices-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a3ec1ff47578c7163718aed572fb5d4902f2e33df0b178b01c00797b75802225"}, + {file = "pyobjc_framework_authenticationservices-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:19194a7266ed75d9d083cf7e8b3d8ac3b241ae259d8c6cd3b4f68bda70751522"}, + {file = "pyobjc_framework_authenticationservices-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:b5b5f66e21df6bf856406dbc984c6400f23b43aef4f22603c7685bf074dc749a"}, + {file = "pyobjc_framework_authenticationservices-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:90e7c3595fabaf1f905473a553f33572d3bb7d53decc323c18df0a7a2e6c4660"}, + {file = "pyobjc_framework_authenticationservices-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:d431787ad7a9718ab7468411e279ab56e59967744dad6b998be623e3fe9df0dc"}, + {file = "pyobjc_framework_authenticationservices-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:fd0592d7257eeb47cf398f4a579a617e977a5b949440a60a34f130c0d811d071"}, + {file = "pyobjc_framework_authenticationservices-12.2.1.tar.gz", hash = "sha256:da70cd842a41276e6f9958b1d3e227a3de452e696c56f8e2b439add45e578665"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-automaticassessmentconfiguration" +version = "12.2.1" +description = "Wrappers for the framework AutomaticAssessmentConfiguration on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"19.0\"" +files = [ + {file = "pyobjc_framework_automaticassessmentconfiguration-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0da513d180cc3575fea017b67301e7f7527e123462fa55a241f92a578f5435f4"}, + {file = "pyobjc_framework_automaticassessmentconfiguration-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2fa2291aec48dc6ef7ea1233399427f8cb15c3ec28ed937a8f0f0739c06361d5"}, + {file = "pyobjc_framework_automaticassessmentconfiguration-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:742f022d3a43478e6d322ea1d2d608080263de75456b5bae7a465a9f463089bf"}, + {file = "pyobjc_framework_automaticassessmentconfiguration-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c4c233d052d699cf6db479dd8ac0a741fe920e192adc716121c8f4ff3f0ce864"}, + {file = "pyobjc_framework_automaticassessmentconfiguration-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:90942b9e126b67f151f0965ca84e00795724a96971195e910137dff2c6c0a20b"}, + {file = "pyobjc_framework_automaticassessmentconfiguration-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:d1117a6d3481c8e5ec9f984d201c356598e116daaa0a5db6341c7f52a30e0d4e"}, + {file = "pyobjc_framework_automaticassessmentconfiguration-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:aa564494b074a5020e27b307d73cf695cc9256284996304d9e5d22cf8efb9629"}, + {file = "pyobjc_framework_automaticassessmentconfiguration-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:5fea5ebc25b053b979536f1b40d19ad9ea80457f47e3df475709b5ab8cf9d7bc"}, + {file = "pyobjc_framework_automaticassessmentconfiguration-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:170a62e3635f1ddec3e1ec82694ed7330f3ac659ac7ffefc4cee4770d3cc3242"}, + {file = "pyobjc_framework_automaticassessmentconfiguration-12.2.1.tar.gz", hash = "sha256:6888ec9846d04cb7983525d9a134b838044d9857182fe5404224c3071f4cc64f"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-automator" +version = "12.2.1" +description = "Wrappers for the framework Automator on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_automator-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2e3d227418f23c30e8f284db99dce259d02813a85291e16129dd47b661ffdb72"}, + {file = "pyobjc_framework_automator-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c512602073fbb51e5c2c442628029ca7eb1d19a0c53632dbe9aa1b0c47454868"}, + {file = "pyobjc_framework_automator-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:275dad426c9cee7b683fa5f800e2779b565d1a1e75cb82bb79ad2289ed802f56"}, + {file = "pyobjc_framework_automator-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:b74cc160c2f751885d70b6db4d02506468ee4b149672ce06cace88484d8fa769"}, + {file = "pyobjc_framework_automator-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:c41866f4068789acf653416e61ed914279f0d83e12f62b3d5c7eea658df8dbb2"}, + {file = "pyobjc_framework_automator-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:6c6c203c6468df9d958a2e2c5283518b862e87cf1b5db867471ccbb8d0cb9dd0"}, + {file = "pyobjc_framework_automator-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:dc742dc85b078fcd40f4a6e68f4d712791245b2c64ade046c78661680cec57b1"}, + {file = "pyobjc_framework_automator-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:146fa43a474585ec27f7edb70513c1b75c4fae53b4f8bf971e7a45f1d37c093c"}, + {file = "pyobjc_framework_automator-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:3da3eac88bd2c1615040eefb6df7f98b8dc120eee08a27b86c5bfee5f295edc5"}, + {file = "pyobjc_framework_automator-12.2.1.tar.gz", hash = "sha256:6ea468966d911292d73f52672603eee50bb4a3d651094f63de25dd6d5818d347"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-avfoundation" +version = "12.2.1" +description = "Wrappers for the framework AVFoundation on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"11.0\"" +files = [ + {file = "pyobjc_framework_avfoundation-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8af3928933f29ff977663f2c402cb4edc0ba3496d273be4b1400b74e2e103f14"}, + {file = "pyobjc_framework_avfoundation-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d3ce4b2bb2ae51ad5c27f1d2f2a623bef8b443bccc34423b5149df010f9f501c"}, + {file = "pyobjc_framework_avfoundation-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f372800274df35f8d964cad0ad6da7636f1b6720e802e28e5a6bc1f16f16f135"}, + {file = "pyobjc_framework_avfoundation-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:9291848b0f0f66031bd3af2549e1e0cdf43e4872b9c562bd29f0239c6ef2b75f"}, + {file = "pyobjc_framework_avfoundation-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:3e92a8502d389469b1307a6a2c386f20d2e77878c7e35e3e14120596b47eb205"}, + {file = "pyobjc_framework_avfoundation-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:043aedd86adbc0a3bfe8f76d1a1ce920539e47b5dd5d965358f93e0063c9a53d"}, + {file = "pyobjc_framework_avfoundation-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:50e2b65e5c3845eb8ad0d37868a7f040656fe69e6c03f4282670e7dc52ed7a4a"}, + {file = "pyobjc_framework_avfoundation-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:3f74e199c933df54020b972b985af5a5d2e63134278ea02dfd81923976500794"}, + {file = "pyobjc_framework_avfoundation-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:1ec2fdfe6eee51f12e7d933e0109ea8ad553acf4301c01f46b79d0a9d378d705"}, + {file = "pyobjc_framework_avfoundation-12.2.1.tar.gz", hash = "sha256:2735e4f1c345d2b533541577e292f3ad2f75d19200eff99f1a2db16d78b4f1a3"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-CoreAudio = ">=12.2.1" +pyobjc-framework-CoreMedia = ">=12.2.1" +pyobjc-framework-Quartz = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-avkit" +version = "12.2.1" +description = "Wrappers for the framework AVKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"13.0\"" +files = [ + {file = "pyobjc_framework_avkit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b0a0b8a0d3a7292d6411ecab298f7448876fae61c22f6d41a4339f3c191ce69f"}, + {file = "pyobjc_framework_avkit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5114a50272cc0afb7df802329b498fd4e8340adf5fc0614a251264b09ce3bb14"}, + {file = "pyobjc_framework_avkit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f8514a6ca882e55738bf5c2c8fd498b4920b3344481ca6747b32526fe99ac7c4"}, + {file = "pyobjc_framework_avkit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7743cd8455031f2580188d6428411516bd927fef619b3764c1450379f030ea75"}, + {file = "pyobjc_framework_avkit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:9dce2ef4ecb2dd97fecdb25eccf2c1506b5406699e5cf50c3124dc231e6729c0"}, + {file = "pyobjc_framework_avkit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:eba6105589792316b40ce2b23f4957d0185130daf482c37708424b5e61a5a7bf"}, + {file = "pyobjc_framework_avkit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:2424165d424359a2eaa4f593fe71864c2aa167efa476226fa0be2d07676be967"}, + {file = "pyobjc_framework_avkit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:3cf369d8a7afc4585a6abdc8f13fc7bc41da3cba36459fcd9cd3b7fa8f7968d9"}, + {file = "pyobjc_framework_avkit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:fc3994a696f550393558dc974b7c8f72dd8ca43cf645e5c755f7d5ac167dc93d"}, + {file = "pyobjc_framework_avkit-12.2.1.tar.gz", hash = "sha256:9180734ba1ef34000ee0463727dbb73624cc4610a298447c8200aa8a7515e0b6"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-Quartz = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-avrouting" +version = "12.2.1" +description = "Wrappers for the framework AVRouting on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"22.0\"" +files = [ + {file = "pyobjc_framework_avrouting-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:56cfdd0b438ca5fa3e6495a063c5c3a98d21b30e136c908ed8340b846630bad5"}, + {file = "pyobjc_framework_avrouting-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ccdd40b590221f2db3969bfc84782cb720163647b2e8aa4c6c623c59a4e07740"}, + {file = "pyobjc_framework_avrouting-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:4e31a7399fc04d8cdc63f2cd26809dc670acfd6bed4674288df4622c18123a43"}, + {file = "pyobjc_framework_avrouting-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2678d7f058cde4156c6c78cc87d71636c432071d0eee10c0d4263a21e6ef23f3"}, + {file = "pyobjc_framework_avrouting-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:00401319b0fc450af6ea673af2733543b5e4a4e85b53a8ba15e42106f77a645f"}, + {file = "pyobjc_framework_avrouting-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:849822d569032704d68d28eb6395c8e7bffac6966c9212066f5939e1844df5bb"}, + {file = "pyobjc_framework_avrouting-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:58b73bb613e6c7dc26c76a6ae2ab759dd58207847c333d9b1d0fa384bd2fbd61"}, + {file = "pyobjc_framework_avrouting-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:1e112761fdaf8fa4558d908aa70b71b2ac1c3d867dd87217eaec7b2c884ac792"}, + {file = "pyobjc_framework_avrouting-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:835f4c32a2ee715e1ce9b694e448279bad9c1912e23725323acb0f5d8b968716"}, + {file = "pyobjc_framework_avrouting-12.2.1.tar.gz", hash = "sha256:8fd237f7a5c8d905f194fcdfeb6771e69c7106fc544c24e9725d952505f0fdc7"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-backgroundassets" +version = "12.2.1" +description = "Wrappers for the framework BackgroundAssets on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"22.0\"" +files = [ + {file = "pyobjc_framework_backgroundassets-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0742738cbf4531b17eeb2236d81f020b8c3771e75d332a042e1ac2451d74dad0"}, + {file = "pyobjc_framework_backgroundassets-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:071058cbf4a83f11d5abf39d04fb2e449938eb2c2180d4c9f4dd0568577c6c2d"}, + {file = "pyobjc_framework_backgroundassets-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:dac0d3a65a95ea886598f381080c4efffc3acfabcca3e692550fbe615627db7e"}, + {file = "pyobjc_framework_backgroundassets-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bd07fcd0324ba4c6ba00c0eb3af6832f102e51895afd1933fe9c0c2efe9b9734"}, + {file = "pyobjc_framework_backgroundassets-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:2730c6e01c16d9c42cc46b0c23d37b3ce9de70cd0a93a2f712f44a84bd786bb0"}, + {file = "pyobjc_framework_backgroundassets-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:9b4cd5797eeaae395ab00da89a141396a3f8c29bed13481ca52cbd66eba07406"}, + {file = "pyobjc_framework_backgroundassets-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:e315f1e22c54603dfd7a924a916cee4975c444ed097e34c5e4f2667e50ddc471"}, + {file = "pyobjc_framework_backgroundassets-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:16573c33421d45b7eb5354c7ce1d2e21141404c93d3500cf4702ab37e1372dee"}, + {file = "pyobjc_framework_backgroundassets-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:b848dfe93b3afddae60c5bd9b6b899c51f89591faebe3e7788b37928aead2d5b"}, + {file = "pyobjc_framework_backgroundassets-12.2.1.tar.gz", hash = "sha256:771fc7a45a10a4b4afb5465b1528958078f456629b63c36a7a43505f93acbaea"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-browserenginekit" +version = "12.2.1" +description = "Wrappers for the framework BrowserEngineKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"23.4\"" +files = [ + {file = "pyobjc_framework_browserenginekit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:af55aef42bd8dc15f7a88e4b788252ace487dbb1810f29ff6a55abd62c39ffcf"}, + {file = "pyobjc_framework_browserenginekit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ca3005e7b6bbeb790c9604eae3ff1f3f1bb6aa9e524a9b36606904147f0c2596"}, + {file = "pyobjc_framework_browserenginekit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a57b1e941107346d8b948201501654541ed40a361dac81c20c154d428b8a0c37"}, + {file = "pyobjc_framework_browserenginekit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:eb7148c7f32c98d40046eb3338f7ceb1ab055edb122065a7b37cbc84865aa41a"}, + {file = "pyobjc_framework_browserenginekit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:52b212f57572e5d3b31b2dafcbe6e1e47c4af025cb396aba90ac74101ae0e717"}, + {file = "pyobjc_framework_browserenginekit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:0b55960a96fe709ba9362638e794a887afd8c66ebcd75ccb758b4bf87233a249"}, + {file = "pyobjc_framework_browserenginekit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:2884addef8f1f987cc625f4f123dde6e8e3eaf58915bc2452aa4090c24388338"}, + {file = "pyobjc_framework_browserenginekit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:a20ca22bd18a0d773cd483499761690cf00a6241a5a3186dd407e52ce054a36d"}, + {file = "pyobjc_framework_browserenginekit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:ca3a58c7be5463c65566d2b41d18cf5b9f0a1f70f27540c1a108e74d2487f1e3"}, + {file = "pyobjc_framework_browserenginekit-12.2.1.tar.gz", hash = "sha256:6e07b9582fb7e9b9a9ea40280d5815e4130cd0f9194fdc6bdd3a3bc07d6d2f85"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-CoreAudio = ">=12.2.1" +pyobjc-framework-CoreMedia = ">=12.2.1" +pyobjc-framework-Quartz = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-businesschat" +version = "12.2.1" +description = "Wrappers for the framework BusinessChat on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"18.0\"" +files = [ + {file = "pyobjc_framework_businesschat-12.2.1-py2.py3-none-any.whl", hash = "sha256:61ef7e7fb1846a1731c7e7268e032ed6fd2e6df3de195c6c35d4df4c81e18801"}, + {file = "pyobjc_framework_businesschat-12.2.1.tar.gz", hash = "sha256:2847c422d202fb8e1eb892c7151b2251b2880a5e6618b7affbdec2b5521a6072"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-calendarstore" +version = "12.2.1" +description = "Wrappers for the framework CalendarStore on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"9.0\"" +files = [ + {file = "pyobjc_framework_calendarstore-12.2.1-py2.py3-none-any.whl", hash = "sha256:d144a2e2b2566b2954f0e365bf7592ccd17cb459165805ed73c6ed8d0feb2ede"}, + {file = "pyobjc_framework_calendarstore-12.2.1.tar.gz", hash = "sha256:5659f2d59dd49423d3880295cd4b395a61c0b7aea8db654e63dab6dd32d28dee"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-callkit" +version = "12.2.1" +description = "Wrappers for the framework CallKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"20.0\"" +files = [ + {file = "pyobjc_framework_callkit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4950ebb651243765d205e051b5057542624476c2a5e3c21828e490de1cc8062e"}, + {file = "pyobjc_framework_callkit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c3ebce966fc18c2d1a0aa36899f4c33c10b190e8b310d03649a65f61e437b91e"}, + {file = "pyobjc_framework_callkit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e259627de99e751d2f05f39d135281a58f75a18d3c5ba9dda27c6bf88bc673a4"}, + {file = "pyobjc_framework_callkit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:afeea8cf2d302994481ebc4e7889168138b2ba82892496866135ad666023e1ed"}, + {file = "pyobjc_framework_callkit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:9cc081df5897d0253c4924ff6da6f7c5c03ab6bca07302c99eea6e26738050a4"}, + {file = "pyobjc_framework_callkit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:3c0bea7ed9c38d1c5e4a5ebf01a99b93e3eb9cee83ed3de1c3386ce2294bde55"}, + {file = "pyobjc_framework_callkit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:b26b5ab9f54dcfd629458a85d53288595df40aac2c51df0493c9e03967f9cf29"}, + {file = "pyobjc_framework_callkit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:40d424890b084261ffb8f17f68b815c4724e529d985b88281eb48c76a325c148"}, + {file = "pyobjc_framework_callkit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:446f8c3bc014ebea37e191539971b1dc39f10a259db0e7d552e738249ae43252"}, + {file = "pyobjc_framework_callkit-12.2.1.tar.gz", hash = "sha256:66dfbb864c6aa253ff90ac91cdc23dc7158dee8eb76b1764126f2eae59e771a8"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-carbon" +version = "12.2.1" +description = "Wrappers for the framework Carbon on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_carbon-12.2.1-py2.py3-none-any.whl", hash = "sha256:603cf2bced196dd90d6400bcbca32ab573166fc4058193bfbd7c1bd95cdefd4c"}, + {file = "pyobjc_framework_carbon-12.2.1.tar.gz", hash = "sha256:a14ca4a45e697c2d187753bc851f3bb49d5bcf66d4ef1d2363fd9962417d8638"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-cfnetwork" +version = "12.2.1" +description = "Wrappers for the framework CFNetwork on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_cfnetwork-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:810e87ee2e0a9aa525c56c5f619de6b42c0f022b46247b6b44cb881a8cea86b2"}, + {file = "pyobjc_framework_cfnetwork-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:045913bd2535281a16be306fe87e0cd419a98273f44abb7e7058d67d71083324"}, + {file = "pyobjc_framework_cfnetwork-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f9be16c691c6f1f58e91551c9e67069abcbf3d5e9a789b1b95b1f84620f0308f"}, + {file = "pyobjc_framework_cfnetwork-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e8efd441705148fc715c18e57c30c68da001465d2c443decbc56bd4417a8725a"}, + {file = "pyobjc_framework_cfnetwork-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:d040fd88f3b8e60f7c35096b0901cb6f05c0c5a7f0c90af783fab5547bed3061"}, + {file = "pyobjc_framework_cfnetwork-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:d9a9399799d5889b0746860c1ebc569b813e3fe836d80d19080901a966094121"}, + {file = "pyobjc_framework_cfnetwork-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:828d104edb558be33667ce3fa9cc37a853839fadcb10bed7017709b0511d8801"}, + {file = "pyobjc_framework_cfnetwork-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:89725cfeeb24fb277be2944c81f2f6f9dedd4da25c4af26a3d7b4aadeb421734"}, + {file = "pyobjc_framework_cfnetwork-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:eedf28c9e2b69607e646b775bf2149835bdafac9133847c561e00e0c87e0e9e9"}, + {file = "pyobjc_framework_cfnetwork-12.2.1.tar.gz", hash = "sha256:cadc9f65a97c20cf839259229c34ecdb5b54a3ade816c43374a1eb25d3900925"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-cinematic" +version = "12.2.1" +description = "Wrappers for the framework Cinematic on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"23.0\"" +files = [ + {file = "pyobjc_framework_cinematic-12.2.1-py2.py3-none-any.whl", hash = "sha256:73720492fc29eee04cbbeae701dd21c5ddd56dc4e19e59b2af520b8f53a129a3"}, + {file = "pyobjc_framework_cinematic-12.2.1.tar.gz", hash = "sha256:cd251ded9393ff4a993a3689d4d3ce7ba3926e7f884f9cd333cf9610338ac28b"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-AVFoundation = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-CoreMedia = ">=12.2.1" +pyobjc-framework-Metal = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-classkit" +version = "12.2.1" +description = "Wrappers for the framework ClassKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"20.0\"" +files = [ + {file = "pyobjc_framework_classkit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:9c1006c28ee2be95e68beb9afba1505690ff7a01ffee586e08e4e8d53061d6fa"}, + {file = "pyobjc_framework_classkit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:63b2669246b0545c0c8357cc73294fac902bfc8a69617b3012395dac974c0ec1"}, + {file = "pyobjc_framework_classkit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f39c78209ad615bb1ef54a3b78b56438aa734bb01143d954ab29d9cee59ec34d"}, + {file = "pyobjc_framework_classkit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:b96d7b6416e954be53ac4fc1908bad22c6609d116dd50ef1f25f057bf8274625"}, + {file = "pyobjc_framework_classkit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:d689fb7bcf0120963b0d4518399c2440a4bf95378e9841289835846008bebac2"}, + {file = "pyobjc_framework_classkit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:ad7e412ab76fc061b0ac40d98bee454cb4e211ca4ac8d0615a42d2e585ff927e"}, + {file = "pyobjc_framework_classkit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0cf34015821023ea317bad59087c44bb63c3e8be14177904f7204bd1e53cf8a1"}, + {file = "pyobjc_framework_classkit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:5b65626323c4e8fd51b85b0474a4a2c10fc4eca097857406837ca1570310fb34"}, + {file = "pyobjc_framework_classkit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:6a71f9152dc08502fb299d664afde0936682e60b4023a887fcec6eb485dbe91d"}, + {file = "pyobjc_framework_classkit-12.2.1.tar.gz", hash = "sha256:2f14c6056486b274e487deabf2ce94ccf17db5df6cd332617592ff2d306d7b5c"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-cloudkit" +version = "12.2.1" +description = "Wrappers for the framework CloudKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"14.0\"" +files = [ + {file = "pyobjc_framework_cloudkit-12.2.1-py2.py3-none-any.whl", hash = "sha256:4badd0d3b9d78fab900415a2b0319579c5be3a30fa99e631a9065f3768076e35"}, + {file = "pyobjc_framework_cloudkit-12.2.1.tar.gz", hash = "sha256:7d3810347fe8de6171d8a4377916750b4ba3bfa874b5f8e5bd0ca6e62d2c4f43"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Accounts = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-CoreData = ">=12.2.1" +pyobjc-framework-CoreLocation = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-cocoa" +version = "12.2.1" +description = "Wrappers for the Cocoa frameworks on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_cocoa-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:05443c1494532779cccff83e9792fdd6f0a4800cac56620132bf28e0bf966e9d"}, + {file = "pyobjc_framework_cocoa-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:dc6da84f4fc62cc25463bbb85e77a57b8d5ac6caf9a60702daf2edb601332f15"}, + {file = "pyobjc_framework_cocoa-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:28b9b8bab1c36efb94744786918752d0c1842f5fbb67e7d5ca97b5f736512080"}, + {file = "pyobjc_framework_cocoa-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:3b74a78fa7803e547b32e5e8ec1b49987b52fe318383e793bc6cd49b80efbd9f"}, + {file = "pyobjc_framework_cocoa-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:dc2eaca2f13c7bcd8e41e51a372e47825dea9dd3126108760eed7ba883d2945c"}, + {file = "pyobjc_framework_cocoa-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:b386c324d64ae565c1f6b7dfb77be68f640a1c7c23caa6966ab661131f519561"}, + {file = "pyobjc_framework_cocoa-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:a6c584e2af0813cb2f6103b184e632665a26f58c1bd5b08ffd6e95a19c617f7b"}, + {file = "pyobjc_framework_cocoa-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:b6023657b8d6cc049a21bd6b4752425f2f53c42f9f0b02d64c7608cc484bf103"}, + {file = "pyobjc_framework_cocoa-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:c685ccd8e266a07cf912a2c5a13b1f2eff2a868a1aff163b4801b4687bd425e1"}, + {file = "pyobjc_framework_cocoa-12.2.1.tar.gz", hash = "sha256:b94b37fe5730e5ae1fb0052912cd174e6ec329b0bfba4a012ae5db1014b5864b"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-collaboration" +version = "12.2.1" +description = "Wrappers for the framework Collaboration on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"9.0\"" +files = [ + {file = "pyobjc_framework_collaboration-12.2.1-py2.py3-none-any.whl", hash = "sha256:03404e679dc77314ea94029c8e54dae25424194b5f39751fb6fa0eca4af99fdf"}, + {file = "pyobjc_framework_collaboration-12.2.1.tar.gz", hash = "sha256:d293b191823cf8c5cc17e74279e640312961a9226da97e6258580d1b6085e1e4"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-colorsync" +version = "12.2.1" +description = "Wrappers for the framework ColorSync on Mac OS X" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"17.0\"" +files = [ + {file = "pyobjc_framework_colorsync-12.2.1-py2.py3-none-any.whl", hash = "sha256:0bafd1bfdf77687910e4a6f01c640ec47def060fb88e3abaddf4cd7e7d469e87"}, + {file = "pyobjc_framework_colorsync-12.2.1.tar.gz", hash = "sha256:1e682586a319f49d3ee3c93e54a527a1ff93de06f653e77c0c4ff4d9671469f9"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-compositorservices" +version = "12.2.1" +description = "Wrappers for the framework CompositorServices on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"25.0\"" +files = [ + {file = "pyobjc_framework_compositorservices-12.2.1-py2.py3-none-any.whl", hash = "sha256:1c1cc5ca97e060afe2125b338651d5143f8f6b40e17748116dedc334449773d0"}, + {file = "pyobjc_framework_compositorservices-12.2.1.tar.gz", hash = "sha256:683b765077ce3bf9b680bfce23124ace85208738ff3c14768e1ca80fd78c1565"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-Metal = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-contacts" +version = "12.2.1" +description = "Wrappers for the framework Contacts on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"15.0\"" +files = [ + {file = "pyobjc_framework_contacts-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a95f1cc61c2a36b310230976f49d8ec8cf7cf7a8eb81b038f25410bea99a7c50"}, + {file = "pyobjc_framework_contacts-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:01fea11ba777721add31ccff3497334eb0fde7ba1c69cf2c845a85e1515d5c18"}, + {file = "pyobjc_framework_contacts-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9e31c635d1a8ed48d0e3332120d0eafa6a5d40b30fe4832aaa700fa03fe14c8d"}, + {file = "pyobjc_framework_contacts-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:93facd1772971b6d88243fa28781498ab5f479c0fe286f8c03870f93c515b517"}, + {file = "pyobjc_framework_contacts-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:d0f73ff7f92986b5920155e9cb16bc74cf049e166e6bc2a7df1621135b4e6d79"}, + {file = "pyobjc_framework_contacts-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:31d0906bce2e5c348a1453ac390d9e255ce547ca763e93875ea3582deba69070"}, + {file = "pyobjc_framework_contacts-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:85ec30abb7b27655c715e3b2e01ed6229e24b7f14f235e6c04fb77afedad3983"}, + {file = "pyobjc_framework_contacts-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:d21bce70f97cb4b5da7cfb35da64897ce69f96ffbecacfe64364ce220b74d075"}, + {file = "pyobjc_framework_contacts-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:536a46a5a55040142a2cba108ac48045f6da266a042f2fa0ec2bf4b7f8bc1e34"}, + {file = "pyobjc_framework_contacts-12.2.1.tar.gz", hash = "sha256:b009f1e85d672e659c30cefbba02a1825b4ca2b604e65826445fb8620159725e"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-contactsui" +version = "12.2.1" +description = "Wrappers for the framework ContactsUI on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"15.0\"" +files = [ + {file = "pyobjc_framework_contactsui-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4c7901389587d903e2e1dfcf9ab5cc7cb189457cc90f423793ac418599003ae5"}, + {file = "pyobjc_framework_contactsui-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:92fcf91334dbad85da45d66b12e8ff9105e3ba6a204b07342463318f31758fb9"}, + {file = "pyobjc_framework_contactsui-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1a447f3143759dc545a0a8caf23b3f6b5d4a27d50451046093a01f478a81bd8b"}, + {file = "pyobjc_framework_contactsui-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1cbdefbc77830205ca9e63360cad08562d7b97789a792e98ab2108c018f10768"}, + {file = "pyobjc_framework_contactsui-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:78452b5171a32d206a13d46ab7fdae60d87dd49802f531ced8646e6c71c25c57"}, + {file = "pyobjc_framework_contactsui-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:61d2a2df53a8bbdeadc552684a556c6ff7d4537c73333aa5629274eda2b99508"}, + {file = "pyobjc_framework_contactsui-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:81684620b41bedcef5423ea84337acd2e874c7ab7c2328b2f4f8d5df70daaffd"}, + {file = "pyobjc_framework_contactsui-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:3ecfb26a90b0b99231f433775ecda78bc461833e80212f8aa7f4f5d33dd1fe40"}, + {file = "pyobjc_framework_contactsui-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:26acfebc03d264ff938da39ef33dbd1e09ab2c422245d146f14aafca78189894"}, + {file = "pyobjc_framework_contactsui-12.2.1.tar.gz", hash = "sha256:6ddfaf3d3f159bc4bb8ccd65414e94b4b6539a5588e84efb01838b19e3b1ba0b"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-Contacts = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-coreaudio" +version = "12.2.1" +description = "Wrappers for the framework CoreAudio on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_coreaudio-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5081583ecc89aff5e1d6655677822f67033795dcbd3db6d8b2e0fa53a3d9085d"}, + {file = "pyobjc_framework_coreaudio-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:214ce41d1ac3743377f607326d3ff70494dd6f75b2c575fe9c99d3890c545dee"}, + {file = "pyobjc_framework_coreaudio-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:41a0d8c3b3957f35f17370071aeef94e176d07c9e2130d0aeeb4b260117acd52"}, + {file = "pyobjc_framework_coreaudio-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6fb46bc090edcaefeb70be2c179071e7a758e3375aebd3338b11773e371c3dce"}, + {file = "pyobjc_framework_coreaudio-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:d05e5fd58c1e5f48e7767b1f6182cf36ee9bff38568544d51f468b25ad90e334"}, + {file = "pyobjc_framework_coreaudio-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:efb79709371f29139f44adc36bd6c32d5a3a0ff3ffd0c5f3f372275cef893b18"}, + {file = "pyobjc_framework_coreaudio-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:9c06b9d7ee3b2a76dd171de519f571d09bdebd85f40b5960d16f711395513cdd"}, + {file = "pyobjc_framework_coreaudio-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:51be22e4fac73ba4b26ee34c457ac94f56218e4e9c1494f8f4e7dfe9dbb6a15f"}, + {file = "pyobjc_framework_coreaudio-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:18717e6e106556fd4ffd0bdf6a6dae796fc9100c6b373e664437604dd0b9e94d"}, + {file = "pyobjc_framework_coreaudio-12.2.1.tar.gz", hash = "sha256:7dfbf1851523aed453af43a628e057d8950d6e020574aa497a2e4f559b6383c8"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-coreaudiokit" +version = "12.2.1" +description = "Wrappers for the framework CoreAudioKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_coreaudiokit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88397f66edce76f03437678e6c6b18a52e0b03b06382c97444bd0ef09d3dd31a"}, + {file = "pyobjc_framework_coreaudiokit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c36db7e1c6606cd8dc3d50a503f596774d554476729dd5870d05c52aa2de4da1"}, + {file = "pyobjc_framework_coreaudiokit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:fbc5f8f3b46645b1051658be8b172c85ed700a649ba3c4bcf68a5b8d3c09ecee"}, + {file = "pyobjc_framework_coreaudiokit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f6f4a3b5fac21170cce2f7585117c3fcce873ead84b4fe7e294dc823bff242dc"}, + {file = "pyobjc_framework_coreaudiokit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:dbc7d4ef4d7af452ba45c14e5324c11865e170b3b15f35d9431c97431b208f58"}, + {file = "pyobjc_framework_coreaudiokit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:90610d5af81a071db7508df7a0dcc06ca2a95602f11dd7205f591bc4690e134f"}, + {file = "pyobjc_framework_coreaudiokit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:f997becd046c41e2da1a4e9f67715a13344f8546364de973dede6bf47a85b798"}, + {file = "pyobjc_framework_coreaudiokit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:78673312ebc806c4c635ca5906dab7c109d8346f058159cc6efa2be879244aab"}, + {file = "pyobjc_framework_coreaudiokit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:173b58fce17e83aee72adeebeb5cc5a994184cabd1d5c25a6e4ba9902ae3e6b6"}, + {file = "pyobjc_framework_coreaudiokit-12.2.1.tar.gz", hash = "sha256:61a5b796f8296ca5cb4779ec19391ad3a37f35c0c689a401d6e8d41cbe936f08"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-CoreAudio = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-corebluetooth" +version = "12.2.1" +description = "Wrappers for the framework CoreBluetooth on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"14.0\"" +files = [ + {file = "pyobjc_framework_corebluetooth-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:41dd9c9b4390e7316d189ba32d624ce933f7b25d351268b6e8cbea44f65e55f5"}, + {file = "pyobjc_framework_corebluetooth-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f11df7052fa2d0524a9dadbc9c578fd3b8f3a350431edfa4ffa9e0a74b6faa32"}, + {file = "pyobjc_framework_corebluetooth-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2f8d2ed65c0e98ba044b6a7fc2f9a290a5c579a28d33a57c642f8617ccbcca0f"}, + {file = "pyobjc_framework_corebluetooth-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:30a26eef36c250fc14e73335641e24f764b32b7e42bae945a5d8a1c2347040b5"}, + {file = "pyobjc_framework_corebluetooth-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:756933b9ce6160a986c8877ab667659fa2d8e15aff28d0981b5284fbdd1ea735"}, + {file = "pyobjc_framework_corebluetooth-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:2a2e6d56f51e4ca3e3b9766ef34150a9a7ce5f0cf4f9ee879ec10923af58e97e"}, + {file = "pyobjc_framework_corebluetooth-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:50d7e4245dbdc8789dcc1f11fca2e633aa126a298b09db62f8216531fe107ee2"}, + {file = "pyobjc_framework_corebluetooth-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:c8d126c56b71c25218be186930a1b41739f83e931726a52e3298beeb170c5e5b"}, + {file = "pyobjc_framework_corebluetooth-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:81023518feb75e9b2b676b28198955c51ae00548cf23c73c524c7101263b68db"}, + {file = "pyobjc_framework_corebluetooth-12.2.1.tar.gz", hash = "sha256:7dbb285295097205bebbcb11f55161e5faa02111108fb7b17536176e31971eb0"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-coredata" +version = "12.2.1" +description = "Wrappers for the framework CoreData on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_coredata-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:429e386e10a463cf8b7e80cdf516d1c0f50a71697238cd34640e5625838dd3e9"}, + {file = "pyobjc_framework_coredata-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:382594752f87fba5b6804619507d54ab4b6d2b54b520bfa291b06003e36c4646"}, + {file = "pyobjc_framework_coredata-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:53093b9a500e82794b142bfe3c844414e46ccc2b2f9e1f5a998243646be59725"}, + {file = "pyobjc_framework_coredata-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a8353dbe4cb0cc6d5313d23e47ed6c00bfc5161c84777d1d3e21048522822feb"}, + {file = "pyobjc_framework_coredata-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:7be973a5f2f5646a64d4c25175ec7ca2584f3ccd2c8bea4c2abc702ca61884c5"}, + {file = "pyobjc_framework_coredata-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:e3f12941b0b83c66c3e7d9845bc14ed8d215c2975f55098deee56e22477b93e5"}, + {file = "pyobjc_framework_coredata-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:cb6c3b1f70301b2201e84b12adfac93c8f47c7678f35d56ae4f63100dc4e438a"}, + {file = "pyobjc_framework_coredata-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:698b5591c622b6ce451851fe393fe7e9a0a1148830659f500e577d06ea470781"}, + {file = "pyobjc_framework_coredata-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:dabebe6ac3cdda4563635c781b0ab5e65e4f04e76e636dade0996a58ea66b311"}, + {file = "pyobjc_framework_coredata-12.2.1.tar.gz", hash = "sha256:f357447b7955cfe5391dac4fe003b79ded307f4f00712dcfaec3d3ecfca30824"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-corehaptics" +version = "12.2.1" +description = "Wrappers for the framework CoreHaptics on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"19.0\"" +files = [ + {file = "pyobjc_framework_corehaptics-12.2.1-py2.py3-none-any.whl", hash = "sha256:d19505e9e38136f50fc551ad0e1849afd1656dce068c82018ad669d01128f8c9"}, + {file = "pyobjc_framework_corehaptics-12.2.1.tar.gz", hash = "sha256:73ce1afcb0174add11fd6f05cc67d8a371802ce8e94ba9d4f65c7cee0f392b0f"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-corelocation" +version = "12.2.1" +description = "Wrappers for the framework CoreLocation on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"10.0\"" +files = [ + {file = "pyobjc_framework_corelocation-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f8571fc9247dfbda6e485e3f68d78f8368b2e3197bc15f8eb6c188bf3d45f618"}, + {file = "pyobjc_framework_corelocation-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:cc3f7d0a9dd54b99faf7020205b16576466aff70c7babe2a905b8818a0c1d80d"}, + {file = "pyobjc_framework_corelocation-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:683b6eb23db94ae6ca48e58089c4a9641fd90b1137e54c147ad56ed6db4bb570"}, + {file = "pyobjc_framework_corelocation-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:9f336ab0f9289d1909bf86cdd798ac4308166f6e90eecf07452d21182b9a7cba"}, + {file = "pyobjc_framework_corelocation-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:ca3b36828b4324c058ccc289b33cbdb7986bf879719d99a735c3abcd1ceb6ad1"}, + {file = "pyobjc_framework_corelocation-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:407336ce4e2c4d4d61b486cf64a4672a0048523b9412db8d3a1d1d5b3eaa53bf"}, + {file = "pyobjc_framework_corelocation-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:80423af235cfc73a719451e326631e743662d9c03821d227647d9fdb596a6401"}, + {file = "pyobjc_framework_corelocation-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:8e1a2e5cdf5175b01cdda52a8d7dd5daec0afe08a5a0c7a359c2a2f93b66109f"}, + {file = "pyobjc_framework_corelocation-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:304db40687dd383fc787b795be9e8825f33c4fabf58b9a7d5582377eef173311"}, + {file = "pyobjc_framework_corelocation-12.2.1.tar.gz", hash = "sha256:10b3c206049b70cbab0f98b37bcd91ad97de5ab57041b18a60ab702629009a31"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-coremedia" +version = "12.2.1" +description = "Wrappers for the framework CoreMedia on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"11.0\"" +files = [ + {file = "pyobjc_framework_coremedia-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:97a7b4bc2b53ad207648b4f187e6a7f00a45684db992803bef9aaf5931e0b572"}, + {file = "pyobjc_framework_coremedia-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:38e03a92a7fdf43162faadf354a8497ae764e3b3be26a8ffb107ed5d743cac76"}, + {file = "pyobjc_framework_coremedia-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:fd0e25bc704dd91882bc29d682880c42f712b39bdfe3d3168780d24a9d9eaf26"}, + {file = "pyobjc_framework_coremedia-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:45878f686ce8ea1735ce382b34ef3a5852cafe0ae2a27a49c08701f4c3ab830b"}, + {file = "pyobjc_framework_coremedia-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:9f2b30ef288c9f2fa1599a1cc5868f8cd949c7138a7f15244c7a6884afcef273"}, + {file = "pyobjc_framework_coremedia-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:84e9fb3f7b6420fc3865a5812604c63546b5777f4999e0e0e830a9a0816e8743"}, + {file = "pyobjc_framework_coremedia-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:541d64d2fc7576054bdc3508a94f37671e81e5ca1582e16ebec2c0e05dd75412"}, + {file = "pyobjc_framework_coremedia-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:2a355770b66b4caf99560c11af44dfeca53066ece75807fc6a391a16369ccc72"}, + {file = "pyobjc_framework_coremedia-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:5536453ba631227810a1141fb1761149244bd6d0e7cd4b12477be3b164f5bb11"}, + {file = "pyobjc_framework_coremedia-12.2.1.tar.gz", hash = "sha256:71b45f7cd52bd997d836c15a0e1016db90815a219dc87fd20435a6f08b87df7b"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-coremediaio" +version = "12.2.1" +description = "Wrappers for the framework CoreMediaIO on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"11.0\"" +files = [ + {file = "pyobjc_framework_coremediaio-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:59eb9122717d0b390e4c0084d76560559f740133a150df8fdeac0161fb60e40e"}, + {file = "pyobjc_framework_coremediaio-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7525dff27f84f7cc007d2077787835cdf094ed925235e4f179bd6558a889b008"}, + {file = "pyobjc_framework_coremediaio-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:c60ecc49fa18a53c5bcf7f844554d5e24883d2b7d5537923dfe4e8512069a6a0"}, + {file = "pyobjc_framework_coremediaio-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:30cfc0e30b46d67668114d7d2bf0a66196928ad84db77d34a1615d3f1b661c46"}, + {file = "pyobjc_framework_coremediaio-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:1dc37de0633e2daff4ae14640cec68e1b2c2d3b11f866f36961704abdfdabc38"}, + {file = "pyobjc_framework_coremediaio-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:599dfff52ef5a7886753fef44b1226d939b1f44c02d7a9790fe40e1f792b9b81"}, + {file = "pyobjc_framework_coremediaio-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:ae6485b88b13953a6485dd3b9afe6a99b538e3fab3c72c590a943c5173348268"}, + {file = "pyobjc_framework_coremediaio-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:0cb44d84412d737f103cb06b5b400e376ba8869da0d31326e5d040861831342e"}, + {file = "pyobjc_framework_coremediaio-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:cb6043694fddba0889861e8321cba422fd3d90f0e95ad716826e67246d86bb96"}, + {file = "pyobjc_framework_coremediaio-12.2.1.tar.gz", hash = "sha256:edfd070544857b8e1d2ae55ed7c7eac9f513b4cd7c03ee79615c7d524e362d62"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-coremidi" +version = "12.2.1" +description = "Wrappers for the framework CoreMIDI on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_coremidi-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:179be5fc429e9f64fb1cf9be9406bb764d6852afcdce777dadbca10fd8488451"}, + {file = "pyobjc_framework_coremidi-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f8c42d469332e3e1811f69fb0dfbcc9ff5d98e3ee08348ccbcec90bd1bcd8288"}, + {file = "pyobjc_framework_coremidi-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ab57adc4104135ae0373781b055ceabd9ac45db48e171502fcce48317b5c8d51"}, + {file = "pyobjc_framework_coremidi-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:b6596d9062221097164f8adb445530aca398f6abee0111178cefe37474ab8d2c"}, + {file = "pyobjc_framework_coremidi-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:25ad1c67e2e50b67d0569f832ae8531c2a9261a6740a1b88d311fda5211f6130"}, + {file = "pyobjc_framework_coremidi-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:05b0da253ee7ebd2bbcc40f2893cd6f78ac50c5da07d256faecc7ef0746fbb7f"}, + {file = "pyobjc_framework_coremidi-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:7e76daa635b57659efc30ebb9cffa6e86beacda76a690120183961fcc5cdfada"}, + {file = "pyobjc_framework_coremidi-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:98fdb11eff3ce6ebc5841b91fadbfcfb5d41dd49bc0f1b4b0f55918e5f6a9959"}, + {file = "pyobjc_framework_coremidi-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:7cc1e3ac498ddd3cb2424ae003fdb06911c9aaea2e5f4544b14497cb512812f9"}, + {file = "pyobjc_framework_coremidi-12.2.1.tar.gz", hash = "sha256:d9744001102f935646997136c3d7d0562088bafa1837e5ccc439b5c8ee9e032e"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-coreml" +version = "12.2.1" +description = "Wrappers for the framework CoreML on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"17.0\"" +files = [ + {file = "pyobjc_framework_coreml-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3d04c58b18ce9a136ea9184f604658d50b8753ad4634638ac50e360298a3eb81"}, + {file = "pyobjc_framework_coreml-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:711be8528b0cbbc49b5bd4669309f0ad0de6ed76499ffb706b0dd2f1b294293f"}, + {file = "pyobjc_framework_coreml-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ca06f106c8d0e2e818212e6cfe9270bd333983ffd086be7b474fc9df34cbc5cc"}, + {file = "pyobjc_framework_coreml-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:4c9299321ced92439c203342183fdaa47aa8f125b6ef831c55bcc91a69e196e9"}, + {file = "pyobjc_framework_coreml-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:1ff65a16661abcc7c2dfe90e87b821d596bc17d1fed44c3a7ba36bd60b002a99"}, + {file = "pyobjc_framework_coreml-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:554b423411890d26a03628bb43f848d45656980b4cd43e8f91f84b52347f0b66"}, + {file = "pyobjc_framework_coreml-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:6e2d71048e80c27c7c0fdd01b9ec5d309c873cb2c4da64578f13d842298a9186"}, + {file = "pyobjc_framework_coreml-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:52dbdd00da500253ed8b21193ee0a4ba5c45e155fbe0d64448ba2c6666552f36"}, + {file = "pyobjc_framework_coreml-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:d1cda08f258e30f5c92925d377a35bf5cd4a244911a4fb2196505431d2462ed8"}, + {file = "pyobjc_framework_coreml-12.2.1.tar.gz", hash = "sha256:ef3c2b6a160891b44173235603d10174929656b9c206d6f2f443fe2aa903c2cb"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-coremotion" +version = "12.2.1" +description = "Wrappers for the framework CoreMotion on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"19.0\"" +files = [ + {file = "pyobjc_framework_coremotion-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0cb2451d4770078955f3eb17fcefa075c1290ff0599557e4f9e0cbb2b2e3bceb"}, + {file = "pyobjc_framework_coremotion-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:71a33f6e33b47c132178bd7bcf8fdc0ff2e7dbc66bb0db01ec2bcc322910eb66"}, + {file = "pyobjc_framework_coremotion-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:05388142cc892b95e40fb626748a4af0816b285bf33f1fb3b8a856b964581433"}, + {file = "pyobjc_framework_coremotion-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d18a90639934e0d4379cc6e632095cda1287c03054be73d79cb3eb680909445a"}, + {file = "pyobjc_framework_coremotion-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:848aa8c0d0af9beb909f28f7aa6555b62646ff34a73873f8820d330c3c3e5578"}, + {file = "pyobjc_framework_coremotion-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:0caa15ddd0a25ed2cff27b28918ec690e1031ad62db8af5c4b0ec1957448aa10"}, + {file = "pyobjc_framework_coremotion-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:7596619951228890658833c6a7bbd50b7287b501feae31d774cf7e699e9f8f9e"}, + {file = "pyobjc_framework_coremotion-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:6ccbc65ed88f23f0824dac41a321558dedd8ddacb3b6c967d19801c5418a7811"}, + {file = "pyobjc_framework_coremotion-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:0acd45e02a10a8e7f3fc6b2829740c9c18fc4c2adddf263e117a97c46105222a"}, + {file = "pyobjc_framework_coremotion-12.2.1.tar.gz", hash = "sha256:21fd319d7313b9b03f062239f1c09e324969d5da0fe74842c92a2724381bf78e"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-coreservices" +version = "12.2.1" +description = "Wrappers for the framework CoreServices on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_coreservices-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:af82be82d59b4f88eecd7e35fba0b54336e902ee1484aa90f49e66e6dacc4b84"}, + {file = "pyobjc_framework_coreservices-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ceec41060d4027c935069f109f85de5e5025cf9b78e5f141b9c29f797396a144"}, + {file = "pyobjc_framework_coreservices-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:cf31f1d6e477414b7c5bd831df5864744a558eec5b055155fe6929ef1070d371"}, + {file = "pyobjc_framework_coreservices-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:b911d08cf4e9fab5fd0992dc525bec02cc925102a42b2bdd4b77dd6a7b8ce70d"}, + {file = "pyobjc_framework_coreservices-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:aad43d280da1ba8f7a815de1935957f3f61b80eda15c5cac35cdf6a1b20f69ee"}, + {file = "pyobjc_framework_coreservices-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:cbb369619aefb556f0a0d06fd667ebb2ac4235fb2bb453454dda1571801e259c"}, + {file = "pyobjc_framework_coreservices-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:38fdc91789137af9e22a7bcea0ecdcb9d1d35ebb1c66c58af91973bf9727dcfc"}, + {file = "pyobjc_framework_coreservices-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:628aa9ed4c1da2bc2d155b29609de2ac6197bbe41d7f8eb0a594fb2d5d6570dd"}, + {file = "pyobjc_framework_coreservices-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:d87eb0f15224925d860c8332cf579b998db850cf0d4f7a611872915bf9271bfc"}, + {file = "pyobjc_framework_coreservices-12.2.1.tar.gz", hash = "sha256:b4f052acd7346afa6f5441d32a19faaf080c3441cfaafad40c9b9a485b664554"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-FSEvents = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-corespotlight" +version = "12.2.1" +description = "Wrappers for the framework CoreSpotlight on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"17.0\"" +files = [ + {file = "pyobjc_framework_corespotlight-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e6109b3997a32ba271df61135f931ef2d791c54bdfbdb25c6e05c8ed5f6bf2e5"}, + {file = "pyobjc_framework_corespotlight-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d5f9202b197d3863ac163a7b5eb3def8cea1bd58a7b7c930d53824300044be0e"}, + {file = "pyobjc_framework_corespotlight-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:09b40a5982ca77c4b7119cb69765de4f7f565721bd3bfc724cfa9703abf15dc3"}, + {file = "pyobjc_framework_corespotlight-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:76b6315e724f81d62af09673b78ae4e3370b58b8ed639a1a9d2dcb2621a044b2"}, + {file = "pyobjc_framework_corespotlight-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:3591127a7958299406f592027de570d5c8b6eb40a7a0667b912562a42007e67a"}, + {file = "pyobjc_framework_corespotlight-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:154fe491f217eb0e107ba37403b1856263f288ed801b10ede193df427cf15c57"}, + {file = "pyobjc_framework_corespotlight-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0da2cb26b9449cfe7f629c4f241319b2eaf083643e63125bda38135943132b4d"}, + {file = "pyobjc_framework_corespotlight-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:53e8ab09ee1e4a2c0e20daf43a782ca381379ec5ee30224c561c62a3acd59766"}, + {file = "pyobjc_framework_corespotlight-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:98ba3d15bcb028bd44425f1910c29c92245b69218cd340e8e35eaef535d609a9"}, + {file = "pyobjc_framework_corespotlight-12.2.1.tar.gz", hash = "sha256:85d6080ff2f3a02593650eeb799d667be66383e8cd947abfec5e8ef8fd10d18b"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-coretext" +version = "12.2.1" +description = "Wrappers for the framework CoreText on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_coretext-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ae7eb1943fb8f1acf9fefdd76fe74751d05beaf4dff1c989cf9237b117a66d6e"}, + {file = "pyobjc_framework_coretext-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:02a448675d28005fdb88fb3c585572b02871e9e5d4d08f88334ec937ea5de6e7"}, + {file = "pyobjc_framework_coretext-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ac2ead13dfa4379a1566129d0e8a8ea778a2bcac9ac360a583360fd4f1ba39c6"}, + {file = "pyobjc_framework_coretext-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:5c5a3c6e2d905a17efb15572dad97ce582feeab5c3b92537015445e0e0bb46de"}, + {file = "pyobjc_framework_coretext-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:5c979058c77df8cd3dac5fd7db4c484f9886fbe09e2687bfaf269a856f631f78"}, + {file = "pyobjc_framework_coretext-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:d0b3b0467a23dbc2a39d0839e7100cc98b429fb7d52a471bd65477f46bb4c9e5"}, + {file = "pyobjc_framework_coretext-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:3d4a92fa657180cd0e900b98535da4f0f4d8c76a7077730a507e50d52d2853e3"}, + {file = "pyobjc_framework_coretext-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:7a17034fd0a08cf58323b7234a385ce0ec355509d414df69e3f8f88df26de1fc"}, + {file = "pyobjc_framework_coretext-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:28980144af75598654f6997b2bbb427885f4f5df90aa4d840f452ba5778ab155"}, + {file = "pyobjc_framework_coretext-12.2.1.tar.gz", hash = "sha256:af740e784d7c592c34025ec7165f4f6c1a69b5a2d9075f06e41e4f77c212aed2"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-Quartz = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-corewlan" +version = "12.2.1" +description = "Wrappers for the framework CoreWLAN on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"10.0\"" +files = [ + {file = "pyobjc_framework_corewlan-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:61a0cf8f5c260603a4dfa2937e3a2e53a4cf6a9e15694be780ea8cc4445b8d53"}, + {file = "pyobjc_framework_corewlan-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2bd1d9aca137990eb8120725962091eb03e5604c8d3431915127826790356ec3"}, + {file = "pyobjc_framework_corewlan-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a7a980cd8eb5f879923afbe92bf088e585968b3cd3448b9f4a16d5158b59e6ec"}, + {file = "pyobjc_framework_corewlan-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6c9597a5d8b9c7c9b01c28fc6fc6ccc4ec7ea2de83296d5f3f950fbd9c39b448"}, + {file = "pyobjc_framework_corewlan-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:8d91fd2396ddf71c8df01e36fc9b49a87a63de77220b39eb858f955cc2ebd593"}, + {file = "pyobjc_framework_corewlan-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:e4ac75fcb3a8533c6e65d21871aef8ac52db4e322d038bfc38183667bae6b8ec"}, + {file = "pyobjc_framework_corewlan-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:7be48cb7492740d33c3cdfd3e42e527ec2d8feb9ff67f082471e4b2db636e140"}, + {file = "pyobjc_framework_corewlan-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:ea678d0a91bc5db8a3b80cebf016631883e7e8b0b2ac8b9cdddc97adc7031fa5"}, + {file = "pyobjc_framework_corewlan-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:85016f24b0a0e4ea538f74203e22371aecde961d8f849883096576245afb94c4"}, + {file = "pyobjc_framework_corewlan-12.2.1.tar.gz", hash = "sha256:9a7ae402a55710392570a736a2bbe15f372325f941fb7074e682f75e4866c3fe"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-cryptotokenkit" +version = "12.2.1" +description = "Wrappers for the framework CryptoTokenKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"14.0\"" +files = [ + {file = "pyobjc_framework_cryptotokenkit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c49396022718616bdbf7939186095db3073ed8559eb84c52c66f21e332191265"}, + {file = "pyobjc_framework_cryptotokenkit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:60ab58babe44175a17aca22f49a2a4d18c24ec0987b1cbf68b5cd1a627e26830"}, + {file = "pyobjc_framework_cryptotokenkit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bd2084fc176f32f5900a17da4d3b05c9563e43521c5df3c8563caef1ebb9f194"}, + {file = "pyobjc_framework_cryptotokenkit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ad53981b7f6d0f8114579c7b93b46fd8ead341663df9ccd845f79633f66b4c79"}, + {file = "pyobjc_framework_cryptotokenkit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:7177828df64d96737d523a5b2ec28d5d5b171dcc1045c486b1e460234519244f"}, + {file = "pyobjc_framework_cryptotokenkit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:91fe788acab20a8066f05062410193952cb249d0d0acbbe675f08caf6f4993f7"}, + {file = "pyobjc_framework_cryptotokenkit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:b5db6a890938f049c977d6a62f4db167c80a3146f753e98e67796ce6a49c5809"}, + {file = "pyobjc_framework_cryptotokenkit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:2e4306ffe83327219910d72e3c2524d4a6e4a02d64f39bf7b31a3613903b5e70"}, + {file = "pyobjc_framework_cryptotokenkit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:8914647c0556f61a0330b8becf5e42a5c23107f8fbf6acb10f51c0d0b68f3e6f"}, + {file = "pyobjc_framework_cryptotokenkit-12.2.1.tar.gz", hash = "sha256:f5ad2a333ff4ba77d2ba901257836b13c1c93e62342dc092fe57dd67a97ceee7"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-datadetection" +version = "12.2.1" +description = "Wrappers for the framework DataDetection on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"21.0\"" +files = [ + {file = "pyobjc_framework_datadetection-12.2.1-py2.py3-none-any.whl", hash = "sha256:c18b746a420e33d13689cbe64635249c492d3b58044089c5c8d6366b7bb46ed4"}, + {file = "pyobjc_framework_datadetection-12.2.1.tar.gz", hash = "sha256:b1059f9bcfab5a96606dfdde663f41dd8c23a33f8bc8c00371d68796476981cc"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-devicecheck" +version = "12.2.1" +description = "Wrappers for the framework DeviceCheck on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"19.0\"" +files = [ + {file = "pyobjc_framework_devicecheck-12.2.1-py2.py3-none-any.whl", hash = "sha256:085c91137b1583bcd62787a2788adc7a51b24d8c61fb7848fb607ce3bc49553f"}, + {file = "pyobjc_framework_devicecheck-12.2.1.tar.gz", hash = "sha256:f67a745b89cd2f3e307cabee018a509aff0561e3f747eb4dbfe84498f7f2ca90"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-devicediscoveryextension" +version = "12.2.1" +description = "Wrappers for the framework DeviceDiscoveryExtension on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"24.0\"" +files = [ + {file = "pyobjc_framework_devicediscoveryextension-12.2.1-py2.py3-none-any.whl", hash = "sha256:6e4dcee2810968bf1b076d3718ce037f65d770533534806866ad8391f9806bfb"}, + {file = "pyobjc_framework_devicediscoveryextension-12.2.1.tar.gz", hash = "sha256:ccec236e790304c0bb880035b7f14738346c90d18cc4cb77b35169aa1035051e"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-dictionaryservices" +version = "12.2.1" +description = "Wrappers for the framework DictionaryServices on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"9.0\"" +files = [ + {file = "pyobjc_framework_dictionaryservices-12.2.1-py2.py3-none-any.whl", hash = "sha256:2b9d3d09fc085d913f670e3069b6a88d35b76a03a5f37ce8636b47382dbb028d"}, + {file = "pyobjc_framework_dictionaryservices-12.2.1.tar.gz", hash = "sha256:631560760d58fe89af8332adee6dcaee35867cf13f4607f7b5c36e85fa4c1db9"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-CoreServices = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-discrecording" +version = "12.2.1" +description = "Wrappers for the framework DiscRecording on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_discrecording-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b1276a4559efdfdbff63c3bc05ef7952974bceb4e633b2a1b9807d3d7f900df1"}, + {file = "pyobjc_framework_discrecording-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b589f3aca1bc9dfb07ce9743b2a97ae4f0d0b6b5fc7f01fc5386db580b92e4cd"}, + {file = "pyobjc_framework_discrecording-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ed929553896338cc0e5109c9b67c121dee2049e62735de94522795708d1b61e6"}, + {file = "pyobjc_framework_discrecording-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8f6a590c94c53d6d0975b54218cf018f9660f145fe686992d377fbd7b9861706"}, + {file = "pyobjc_framework_discrecording-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:dc5557015d2df515bfc75e96b287d1209b59afa2ce1a4566af32e9b8b49e2318"}, + {file = "pyobjc_framework_discrecording-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:439fc5b5b930ae7246c06a053748cdd0962db377d1493dd9fbec130939ff4a19"}, + {file = "pyobjc_framework_discrecording-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:5e0ad242013ed977c12a69beaef66b7c8e3cf24af5f802261da8241205ef15cf"}, + {file = "pyobjc_framework_discrecording-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:43bb79f284648b07187ce01b3e6b55b1271951b438eb99eea9fcf39c008a80c6"}, + {file = "pyobjc_framework_discrecording-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:18a68340d2090a707620f82038d68edd800f5d7806d566605e80104d12068dd5"}, + {file = "pyobjc_framework_discrecording-12.2.1.tar.gz", hash = "sha256:2616daba51f50b8c6989d38d502ca98ed3ce53aee6b01c9457534267cbb1a4e2"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-discrecordingui" +version = "12.2.1" +description = "Wrappers for the framework DiscRecordingUI on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_discrecordingui-12.2.1-py2.py3-none-any.whl", hash = "sha256:a29bf02898481e6ee02a38ae932a35b9c6a4f68fe9c890504db18e94d15cfa45"}, + {file = "pyobjc_framework_discrecordingui-12.2.1.tar.gz", hash = "sha256:1cf9e9e028c619f932ecf3ec0efc91227840bf6c6492c788cde91dc5c3744da6"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-DiscRecording = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-diskarbitration" +version = "12.2.1" +description = "Wrappers for the framework DiskArbitration on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_diskarbitration-12.2.1-py2.py3-none-any.whl", hash = "sha256:8fdde0943ca7499a246294d678b4f01c3f7c7569da19b029eeb31e4e9f01519c"}, + {file = "pyobjc_framework_diskarbitration-12.2.1.tar.gz", hash = "sha256:b79a44c8a7791109371bb6aa78ee970c7cf0ee6a6ecdaf92ae3b9dcc4f57f469"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-dvdplayback" +version = "12.2.1" +description = "Wrappers for the framework DVDPlayback on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_dvdplayback-12.2.1-py2.py3-none-any.whl", hash = "sha256:56d737c2a1ffb1076d280b84906adc8091c055fcf6670367a902f38ea4877367"}, + {file = "pyobjc_framework_dvdplayback-12.2.1.tar.gz", hash = "sha256:cc715bce5edceaec078e3b39141a660cb4ca2fbe0afdf133bd2c531c170e45a6"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-eventkit" +version = "12.2.1" +description = "Wrappers for the framework Accounts on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"12.0\"" +files = [ + {file = "pyobjc_framework_eventkit-12.2.1-py2.py3-none-any.whl", hash = "sha256:8efb71afaf9a97450ba701a6fee7de79e0cdefe6d71b5f6724e87b2fd68c5bd4"}, + {file = "pyobjc_framework_eventkit-12.2.1.tar.gz", hash = "sha256:2528a61da2fed7d71933d7e5407414176cfcac2e03fdba4633633f0d646c75fa"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-exceptionhandling" +version = "12.2.1" +description = "Wrappers for the framework ExceptionHandling on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_exceptionhandling-12.2.1-py2.py3-none-any.whl", hash = "sha256:b1d33ccb5ded605f2c92240c5719b64c45505f4c0dbc42b7d8595223b395540c"}, + {file = "pyobjc_framework_exceptionhandling-12.2.1.tar.gz", hash = "sha256:aef051e1afda09853289f66d4e6c1b58cd924656afc2a1bec05b15e22e20e5f1"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-executionpolicy" +version = "12.2.1" +description = "Wrappers for the framework ExecutionPolicy on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"19.0\"" +files = [ + {file = "pyobjc_framework_executionpolicy-12.2.1-py2.py3-none-any.whl", hash = "sha256:493340d7311f6294feb93327c75675fff24859ad9bb3b87c0ce8d339850c4c93"}, + {file = "pyobjc_framework_executionpolicy-12.2.1.tar.gz", hash = "sha256:898d38b19e805e12da317930474f49a9f944f7e2335a9dc9c1644ecdd079d12e"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-extensionkit" +version = "12.2.1" +description = "Wrappers for the framework ExtensionKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"22.0\"" +files = [ + {file = "pyobjc_framework_extensionkit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2f281797ec4ee34f2bcd6a3d824e26b74f4710dd920200b709ff27585939bd2b"}, + {file = "pyobjc_framework_extensionkit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:047ebbbfdd61369dc8796a5754cc9b3a50104ccae1d4392f48d8f73ee9b6f859"}, + {file = "pyobjc_framework_extensionkit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9279dbc7e75f28b9b6553d351e48475fbf3841f9a30f4b503fe03e18c0ccb074"}, + {file = "pyobjc_framework_extensionkit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e29f5860aa6acb53582c2742e477922067b959046c1998ed7fd962898fd78855"}, + {file = "pyobjc_framework_extensionkit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b8dae4aa09e327a44b12c2e5c49250e3439fd98fd8eabd08ae97d4b71180aee2"}, + {file = "pyobjc_framework_extensionkit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:cb00d24a9a3b2284f9f5bdd2b65ca1e25f5743012e728b751109d66f28efb3c5"}, + {file = "pyobjc_framework_extensionkit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:1307a42439c28e55081e47729dc04ec1de33693fb13df38381914b849580fa51"}, + {file = "pyobjc_framework_extensionkit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:3599ba37400750fbca5a3500c7ecdf19f0df30182c9e9e50a51c0c0e12ee5cb5"}, + {file = "pyobjc_framework_extensionkit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:ee7853b036f2a7c52a35ec0d6b155c8c2a36ec6c5bf2e3a35318a8eee66f9564"}, + {file = "pyobjc_framework_extensionkit-12.2.1.tar.gz", hash = "sha256:9b8dea5867436ecfeefc7edb4cd8358c8e7741d31693047f1321e15dfc533540"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-externalaccessory" +version = "12.2.1" +description = "Wrappers for the framework ExternalAccessory on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"17.0\"" +files = [ + {file = "pyobjc_framework_externalaccessory-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:906122469bcf04243395afb807bd0a2924b911e2f2447e4f1fb4ddebf492b7d8"}, + {file = "pyobjc_framework_externalaccessory-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:787ea43ded7a7f5621cabc3578a7414298dbfd62c73c8418ddceb720c23388de"}, + {file = "pyobjc_framework_externalaccessory-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:47635ff739691b8446079b5018c71585dbf33c2d5eff6a34279efb0868caf432"}, + {file = "pyobjc_framework_externalaccessory-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c61d2d3ee83d4c0fbe4ef427041fc911c0f168bc7f10f9b7ff9d502e1a9995c8"}, + {file = "pyobjc_framework_externalaccessory-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:7cdaae96e146ffb1def2b14a0890555e4147ec77924fca241fb2361f93a36b31"}, + {file = "pyobjc_framework_externalaccessory-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:f13955be8d9f6f2e5922600d2063f765fb070bb3b4a2f2c0ef8ec21024d39ece"}, + {file = "pyobjc_framework_externalaccessory-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:16a269b33442580121353739ae128fa0dddd5c59f59705ee57b836932b750ad7"}, + {file = "pyobjc_framework_externalaccessory-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:505ae95af4e8abc67016d26d59d2521b94ba3e6948b849d2cd85069dec31d044"}, + {file = "pyobjc_framework_externalaccessory-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:d2d3a2dba827c5054832142faec0793ea50e3dd869aa33df54c777a9e03557eb"}, + {file = "pyobjc_framework_externalaccessory-12.2.1.tar.gz", hash = "sha256:49658d55b3401c03ef3523ab3b8e2ed082739e971a0070d81b16d06441ac8d03"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-fileprovider" +version = "12.2.1" +description = "Wrappers for the framework FileProvider on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"19.0\"" +files = [ + {file = "pyobjc_framework_fileprovider-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:696b72f0902caf46f9110f5c6cb058f28329a89fce31fb349fe58dfe5f5ea585"}, + {file = "pyobjc_framework_fileprovider-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9fe7f23dc7bb3bb0a045ec443ff7a55eaf3e4007b2d9a99a79ff201c9536c58e"}, + {file = "pyobjc_framework_fileprovider-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:772d963f342af3d2853e4b5a14788b0f72e3c25c457c301e27d8bcdefdbaca01"}, + {file = "pyobjc_framework_fileprovider-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:95f7de1b2a048ac0edd1e02479b13956704b49521fabbd8e94e59564999204b2"}, + {file = "pyobjc_framework_fileprovider-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:fe700e447f54a6bca8fdd13a4c21bb93d26665cb4598b958e099d1aca870b109"}, + {file = "pyobjc_framework_fileprovider-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:3bb8b09153e836d3a6223868a55762e5db42830bf58394c1785a90f20c044cef"}, + {file = "pyobjc_framework_fileprovider-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:d62ac3e6dab2087831f9bbb778adb1def9362aacf630cebd2afba16debf1a151"}, + {file = "pyobjc_framework_fileprovider-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:b3592ee88ee6b328a990ed6e70f51a5396ff92f26f25e9a5a706c139d91de546"}, + {file = "pyobjc_framework_fileprovider-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:a23ac3e9c43894d7fc88e375b1f48f7d8695cf7d0e036d1ecbfdec1596e13a27"}, + {file = "pyobjc_framework_fileprovider-12.2.1.tar.gz", hash = "sha256:fd94e8941de50b6bc94ab8fbbf0f4605eca0602e4bd48088b8d6c1162115b506"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-fileproviderui" +version = "12.2.1" +description = "Wrappers for the framework FileProviderUI on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"19.0\"" +files = [ + {file = "pyobjc_framework_fileproviderui-12.2.1-py2.py3-none-any.whl", hash = "sha256:2ff2f939ece56f06eae58b9494743941e40500b042a0cf3a64dcf78179d3d79a"}, + {file = "pyobjc_framework_fileproviderui-12.2.1.tar.gz", hash = "sha256:40d02bcb15e324af6c624c85f1d65d83f81f31dd72136b0e5ec87440dc0fba4c"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-FileProvider = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-findersync" +version = "12.2.1" +description = "Wrappers for the framework FinderSync on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"14.0\"" +files = [ + {file = "pyobjc_framework_findersync-12.2.1-py2.py3-none-any.whl", hash = "sha256:5b91a226b72a4c83a7ab5bf7e59164d59185021a396bd5804712ba8a55949db0"}, + {file = "pyobjc_framework_findersync-12.2.1.tar.gz", hash = "sha256:be3d41c9b836a53f24473e064ade6bd9ac071cc483377547cb6603e5a0de5d90"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-fsevents" +version = "12.2.1" +description = "Wrappers for the framework FSEvents on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_fsevents-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:eccc2a9d66f9ba5f4f49f40f18f984759dc406f09ecd77ca3a4070479e01d6d9"}, + {file = "pyobjc_framework_fsevents-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e78bd73365c3c0c42b3adfedbc8a66a7056ea16b84dea9f8af43635f931e48be"}, + {file = "pyobjc_framework_fsevents-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:5e863d5b188b4a7bccdda0cc1993b451768ca7425dd866a90a79857d459a2052"}, + {file = "pyobjc_framework_fsevents-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:11552274cdaa97ffa23aa1cb167a6cb03a4b0923330bb75e4757fdd38b61a796"}, + {file = "pyobjc_framework_fsevents-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:11d13fc2b3bcaa2a746b1f28b95ce9fa9d9078a7da61d6cb4a2f6bc7c163f108"}, + {file = "pyobjc_framework_fsevents-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:c2b0df089a87971ea2bcc8ecf36696943a9358bb6704780308fc4b392375a8f1"}, + {file = "pyobjc_framework_fsevents-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:7b47592f5ff58553aa2d9365aa7bba89b4bff3f3f2059fb7e0c3811712814219"}, + {file = "pyobjc_framework_fsevents-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:b198330738637152999ba90ea49a744ecfcb0d64b1176dfdb6aed90bcd4ab926"}, + {file = "pyobjc_framework_fsevents-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:81f19060ae21a378b6e6c20cdf0ca1955199af45f3c3423b83dae53d2abb8c4c"}, + {file = "pyobjc_framework_fsevents-12.2.1.tar.gz", hash = "sha256:f78c98f68bc643794668a9484fc348ef3e98df359db7d8726cada35310af93b4"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-fskit" +version = "12.2.1" +description = "Wrappers for the framework FSKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"24.4\"" +files = [ + {file = "pyobjc_framework_fskit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a3e8de696fb30ff20cbe3a97158d2d56ca04bb7a96ffe5e258db4136d9ce71ca"}, + {file = "pyobjc_framework_fskit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:29cda74aaa693513121805726bf458d2a2b60008216f363709c8d224dd0afaea"}, + {file = "pyobjc_framework_fskit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:27deb130e5c3dab34689724a2da275ad83c579bc29da63904e0d2438b4d24ff9"}, + {file = "pyobjc_framework_fskit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:b6094592998da2b3f61fd6a6599064e722ed91ef8a53e27b0c0cd080575cbb75"}, + {file = "pyobjc_framework_fskit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:58f9c31ad24af40b7f37000c31c684a4be1c2057345a921cb0fe57b111d62063"}, + {file = "pyobjc_framework_fskit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:375ac21b3c028d772bd37aa4fb669aca11f6bd9d6015526f172acd0ace3cc88e"}, + {file = "pyobjc_framework_fskit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:5992fb9c6e0b2b25ed322299a5cba1b239fa198712aa1a6f4e5ba00060350b12"}, + {file = "pyobjc_framework_fskit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:f8dd8367162fa1048321183725c4117a0aa6bc1a54be9e289d03f64ba77c1916"}, + {file = "pyobjc_framework_fskit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:f6f13449364bc465c9cc5d45c1280aeae9fec9f777d962a0604d456aec0bc6ba"}, + {file = "pyobjc_framework_fskit-12.2.1.tar.gz", hash = "sha256:2607cef80fabe2394b30e1e3c10dc942c709afdbe7baacd3f86112b38add942b"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-gamecenter" +version = "12.2.1" +description = "Wrappers for the framework GameCenter on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"12.0\"" +files = [ + {file = "pyobjc_framework_gamecenter-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3b2f12f6122ad3872a675edd48784060a992794366b7a698ebaa2355e25968f1"}, + {file = "pyobjc_framework_gamecenter-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5aeb41658a2f0f3bc6b5a069f1c74324e3c37f662d54fbc458b0f6894581c006"}, + {file = "pyobjc_framework_gamecenter-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e144d257b9461f8195512fb4b1a1cfd4cc0d603583ea039af7127a951ea7ad76"}, + {file = "pyobjc_framework_gamecenter-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:618fd07d19d715f172338a0d906f5a9e3dff67d3913e47d9033c0e7e4a6f5e88"}, + {file = "pyobjc_framework_gamecenter-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:8929a2ca38c79debb975bcd4bb15b0a3bde93f367f90e05cc530badeeae82b54"}, + {file = "pyobjc_framework_gamecenter-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:a4e8056403464b3ae14a8ecb8ad7024ad6d5672af9cc189436f709952f071e4d"}, + {file = "pyobjc_framework_gamecenter-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0e42fdbf26cde6d8e302d61a2f318de0d33c90060f2a8848722cf5ef0cb2f4c8"}, + {file = "pyobjc_framework_gamecenter-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:b6dbe68dc2e7b7882ba82c295e913999d441caa9c23c868db3a28b351e20909c"}, + {file = "pyobjc_framework_gamecenter-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:5f61afc1269cee0518b7104c05131a6a652cf19ee2dd97471335c4943e0aac34"}, + {file = "pyobjc_framework_gamecenter-12.2.1.tar.gz", hash = "sha256:70fff5b1c0ac9d622709b4deb8e0bdf47cfa43591f1438ce2c6099abd93bbfde"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-gamecontroller" +version = "12.2.1" +description = "Wrappers for the framework GameController on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"13.0\"" +files = [ + {file = "pyobjc_framework_gamecontroller-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:97b6e8d9d27b7e129c67114797f0f74939a052253d9dafa32f698acf4a9e3a24"}, + {file = "pyobjc_framework_gamecontroller-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ef83260973e620207b35bd3a4d68333d76c2e5463f0ca8405efd8327d27f8946"}, + {file = "pyobjc_framework_gamecontroller-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:68d074ef1fbe4feb258e622f58764e79accd006ee39e069f8c50252b0657dff0"}, + {file = "pyobjc_framework_gamecontroller-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:94af74d0229d5ef06e71d2d005a56018930827435778c946cf28ee98914bd0fa"}, + {file = "pyobjc_framework_gamecontroller-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:bb5704a35e501b8902e6210f1f11c7d7f55954dd906847cd6da2390b7176d357"}, + {file = "pyobjc_framework_gamecontroller-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:3602c85180be0bc1bcade88f802848e4649850115ba180923c8211311be62430"}, + {file = "pyobjc_framework_gamecontroller-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:6a53c426ea670e45027a599c50112af2c4d557ac74e53d553a0f78167f5d7aba"}, + {file = "pyobjc_framework_gamecontroller-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:c78519ed3422c5dee9be57a48242b81b482d5339528c7f1362e86efa7231307d"}, + {file = "pyobjc_framework_gamecontroller-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:6a63603e317168ae229af7ae7e5ed38644f32732127bdbb6e698bf6e787deb3e"}, + {file = "pyobjc_framework_gamecontroller-12.2.1.tar.gz", hash = "sha256:d40667869da0ef5d9905b4b3c365e275f731758bc0b09f10f7dfba579b1ee7d0"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-gamekit" +version = "12.2.1" +description = "Wrappers for the framework GameKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"12.0\"" +files = [ + {file = "pyobjc_framework_gamekit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd502bd1e8251c1b7a17d802034be0df7cab8b9aca090676868109c198e5ddd1"}, + {file = "pyobjc_framework_gamekit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7015d24515e6c069c1cd15c7f2921961c4b9bedc037c3475d068b3a9ce40d03e"}, + {file = "pyobjc_framework_gamekit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d29a5ee705be7eb0e0fe46bd319462f8bb2f08c8761d65f0e22957f35b6db72a"}, + {file = "pyobjc_framework_gamekit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7fbfa5eeb6c97183aa65f88a8d904bffe79b56db2352dc03ac0a1104c8a6cc56"}, + {file = "pyobjc_framework_gamekit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:21b5ca685cfcc64ed05f5dd7a07b6ee852a6bebe251980185e795cc7117fa949"}, + {file = "pyobjc_framework_gamekit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:a95830e02163542dba2a4573062b151e298932cdfeef2cf48cc2cc63fca97e7e"}, + {file = "pyobjc_framework_gamekit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:a4f7fc8e01c9d80edf3d7792f2c35c2eedf67246d12242eea2b480863b642708"}, + {file = "pyobjc_framework_gamekit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:239aadec9465eafba7be40293192b79ac572dd0f97c41f3b5c1a2574f85be22a"}, + {file = "pyobjc_framework_gamekit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:b1a9873076cb61f19e792b5a87adb852b21353f6dea675a34c03512de18ecae6"}, + {file = "pyobjc_framework_gamekit-12.2.1.tar.gz", hash = "sha256:e5e90dfa0eba5215406710d636c08ee9aa4ba886d9e0bf11849247b161aef1da"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-Quartz = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-gameplaykit" +version = "12.2.1" +description = "Wrappers for the framework GameplayKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"15.0\"" +files = [ + {file = "pyobjc_framework_gameplaykit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:349a8c77ad13dfa5eecc45e954cec8d8e1d873cb0e9ab16a65a865b536dcf62e"}, + {file = "pyobjc_framework_gameplaykit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3cfd99b4a37df41a72f7b15fbbd00abecb11021745bae4876e2d8517f75317a5"}, + {file = "pyobjc_framework_gameplaykit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e1ef41d991e29358a26c92916bcedf722568e50ee66eab3088d2e88b9d77d9e3"}, + {file = "pyobjc_framework_gameplaykit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:3b51b11e20066f10532c225262d05fa6711e49685f5ecd9519b6c12ef69efa68"}, + {file = "pyobjc_framework_gameplaykit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:95b06ed97e4e636140c5d28f507a298974413b501599cdcd2bb80fbc8fb85ae1"}, + {file = "pyobjc_framework_gameplaykit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:a29a178fe0a64eeb959e1bb719248f7e9e44704b2b0a2f03b4ec6d951750f64c"}, + {file = "pyobjc_framework_gameplaykit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:9a4810ad39a1d6729ac164803513043dde33842c19e91c158e645379aab5f873"}, + {file = "pyobjc_framework_gameplaykit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:f8af54bedd499db1daa54174c0badcb48162601ecb71bfd97c4f7fe77d3ce007"}, + {file = "pyobjc_framework_gameplaykit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:720523342cdd978704fd2fea21312f8256d837dd64af2a04c683fbd2daa48995"}, + {file = "pyobjc_framework_gameplaykit-12.2.1.tar.gz", hash = "sha256:6ef81407e241016853cfdc6e580503d2d75a452ab0028f5c83390f102685c853"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-SpriteKit = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-gamesave" +version = "12.2.1" +description = "Wrappers for the framework GameSave on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"25.0\"" +files = [ + {file = "pyobjc_framework_gamesave-12.2.1-py2.py3-none-any.whl", hash = "sha256:5d632ea0b62ef55b1b0f62e8ab6b9800bc14ca78f5a1bb629c95b28376b82379"}, + {file = "pyobjc_framework_gamesave-12.2.1.tar.gz", hash = "sha256:d317d37f2716194e61cc91e855d6054c3c2b7ceaa82aaeff9c688d9f2cc43a42"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-healthkit" +version = "12.2.1" +description = "Wrappers for the framework HealthKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"22.0\"" +files = [ + {file = "pyobjc_framework_healthkit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:328bce901eb8f2f55c8b764abc0b387992ef3b8a27e1a02fc8d658742a3d490c"}, + {file = "pyobjc_framework_healthkit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e4d0da98b552ba33532f37ab718bb3b77e15d3c0c1ab426e6d01522d2d256244"}, + {file = "pyobjc_framework_healthkit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2c945edc98952bd7d1abad876ed7e36c3442ea6e6c1ec6718ab7554b8a47fba1"}, + {file = "pyobjc_framework_healthkit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:0408b552eb98319d83a106b25944d645dbe9927dff0ce9c701c25d472672aa63"}, + {file = "pyobjc_framework_healthkit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:15d6a4a80a85e29d38371e98f70656a6b378cadbd9430579b9c15a46b81a0a2d"}, + {file = "pyobjc_framework_healthkit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:d8a44d60387e7e2d54e1d7b613ef93e5701837799bfd962d8d7df08b060d43d7"}, + {file = "pyobjc_framework_healthkit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:9e6fa59e078ca6c4df56eb987a2c6267ef094b5c6a4b386865535da6e3ac2f05"}, + {file = "pyobjc_framework_healthkit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:f2d2278f3966c7ddf1f828461f11a94373ac3f25a6d052254a2fb0761cf62ea4"}, + {file = "pyobjc_framework_healthkit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:849a6abf2c895db3dd160fcf31b63c229eabbff5cdacabebc0f63e8e49f3c7b9"}, + {file = "pyobjc_framework_healthkit-12.2.1.tar.gz", hash = "sha256:d0a8c956746e8705edbe76a046e8c17ab6d7ae2603d8436e4477d30573acb457"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-imagecapturecore" +version = "12.2.1" +description = "Wrappers for the framework ImageCaptureCore on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"10.0\"" +files = [ + {file = "pyobjc_framework_imagecapturecore-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:fc347400caf54f01b512bb21d6e9d693537fe7515a65a0281efa34c09eb9e3d5"}, + {file = "pyobjc_framework_imagecapturecore-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7d083a0b180b833cc06b6d5419d657b9b96629f24def0c666147acd95ec6c2d4"}, + {file = "pyobjc_framework_imagecapturecore-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:34165b84443a98ce8b7f12c12603cfbebe09bacc06f33ae1ed3774b649d0cec7"}, + {file = "pyobjc_framework_imagecapturecore-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8f6882e96cf748096fce49adcddeb882090cb1adb9c6699d1b869866053365d9"}, + {file = "pyobjc_framework_imagecapturecore-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b6339dd78448762e1c017698b32736b809048ae3b0e51d1c625c03f47e59de52"}, + {file = "pyobjc_framework_imagecapturecore-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:f6ab44c9e3005b1a30de18af8aacd65b8f1a4117ea1017efc72157b3e53914e6"}, + {file = "pyobjc_framework_imagecapturecore-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:900ccad9c3ab452017bd3a184ecc7a866d1a8fc599c2e704fa8b62d7f75539c2"}, + {file = "pyobjc_framework_imagecapturecore-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:ca3bff1d31e453b182c7ff7e91e6cf14e6564ff772371a5d53956204f903278e"}, + {file = "pyobjc_framework_imagecapturecore-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:fb11ecc92fc4e1df467d662afa1a26c89c026daa44b270fe324045b9e38d5c6d"}, + {file = "pyobjc_framework_imagecapturecore-12.2.1.tar.gz", hash = "sha256:c1568be8cc0fd06046f7e344634951b3c02af3ad4f8a35fe1e2fecd9547b7042"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-inputmethodkit" +version = "12.2.1" +description = "Wrappers for the framework InputMethodKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"9.0\"" +files = [ + {file = "pyobjc_framework_inputmethodkit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8fee1c7da58c934eb8fd754de493e17b834034d4b8266233f670197c1fbfb87c"}, + {file = "pyobjc_framework_inputmethodkit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ade69fed2930f32434707a39825665bdedb944e835c030c624da5e3a898e2b75"}, + {file = "pyobjc_framework_inputmethodkit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:5c979473f54fa344cefc91525b2f7caadb682da7f7cc93f2bf49ba730569f05c"}, + {file = "pyobjc_framework_inputmethodkit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2fb01dfa2c624beafc25c9520806eaf2cc3212c7180a6623a1436d84e84ad84d"}, + {file = "pyobjc_framework_inputmethodkit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:8d02da4d81146258fae8f2571b47df41a912b0e1f84bb38384e1a4d858feaf28"}, + {file = "pyobjc_framework_inputmethodkit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:9b7754bcf52aa753cbb616eaab5834f13b8ef4bdd163c89ad2f921e8fc89c05a"}, + {file = "pyobjc_framework_inputmethodkit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:017c2b316fa6f4477b4395b21a276e2caef8a4c558411110271b267bdd1a2276"}, + {file = "pyobjc_framework_inputmethodkit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:ea2503ebbae052622c2fada50f445766906757b4ddccde3c2e66993703fb0393"}, + {file = "pyobjc_framework_inputmethodkit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:05886f2ab68f06693cd5c5c6f8a99a37ddebcd5a085d98ebbfc8b001b31a122d"}, + {file = "pyobjc_framework_inputmethodkit-12.2.1.tar.gz", hash = "sha256:008d792827ea1b11a051f4871c99c720ca5430395078158f082846cab43b04e1"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-installerplugins" +version = "12.2.1" +description = "Wrappers for the framework InstallerPlugins on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_installerplugins-12.2.1-py2.py3-none-any.whl", hash = "sha256:aef22bff292d3b8fb9cb655f868d041dcc76d3d6b47d3022557fe3f657c28c69"}, + {file = "pyobjc_framework_installerplugins-12.2.1.tar.gz", hash = "sha256:118ee84e6e7f6f7913ade58818bfd2c12e2078ff7f6090e4941df1e739c8685d"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-instantmessage" +version = "12.2.1" +description = "Wrappers for the framework InstantMessage on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"9.0\"" +files = [ + {file = "pyobjc_framework_instantmessage-12.2.1-py2.py3-none-any.whl", hash = "sha256:42c7be0357b1d4e808b40c7d212f5d807e1901a87e0cbb6a215bd0232f87374d"}, + {file = "pyobjc_framework_instantmessage-12.2.1.tar.gz", hash = "sha256:80d31bca02459c6d2364605b51a8064d0fbe3e7dba085b5b8ac59ee98157710c"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-Quartz = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-intents" +version = "12.2.1" +description = "Wrappers for the framework Intents on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"16.0\"" +files = [ + {file = "pyobjc_framework_intents-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0493027193f298ef11208c12a4e8aac8cacbd0c89e3d28899a979151a05cd6b5"}, + {file = "pyobjc_framework_intents-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b6e0687c4dd12ebfd8f057364b2fa7367d324957d514747d8dd109083486d422"}, + {file = "pyobjc_framework_intents-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:440fb3b4f2ffe3184f3fc8ba0abba83a3a59ba63dad12a5bb2b6792eab8722eb"}, + {file = "pyobjc_framework_intents-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c21cf1db00b8c997d3e6cfde53ec135ddee5b03138cf184deb842dbc925c1286"}, + {file = "pyobjc_framework_intents-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:21ed7ca804106bb1a606c070a081d59dc93fb23bd570a802518a8ed36357c275"}, + {file = "pyobjc_framework_intents-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8fcc3326ed27b800a5da3e8634cdddd6506efd0c73a95f5e624f3dc963516baf"}, + {file = "pyobjc_framework_intents-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:1b4dc0c62df523a3391dc43c754cc9a4cae7334342785c882be0fa76b2ea22c6"}, + {file = "pyobjc_framework_intents-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:bba9340e7ec61747a5545d4fe569d77a3c10e870d1ec06a9e17412c29a1fdd07"}, + {file = "pyobjc_framework_intents-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:18a726d52b4a24f6a274c094b1abb5cd757d1f29946a8058c85a32bc0857dab0"}, + {file = "pyobjc_framework_intents-12.2.1.tar.gz", hash = "sha256:579a36b1c2dae423ecf8f7fc02fc8a2a3d079366a073903ba323d40adeeabc2a"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-intentsui" +version = "12.2.1" +description = "Wrappers for the framework Intents on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"21.0\"" +files = [ + {file = "pyobjc_framework_intentsui-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:871a0e95563aa5d32cd98358f715adeed388418336f7e2033693e552804673f3"}, + {file = "pyobjc_framework_intentsui-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ecd53ed0f5f234d690985bee9eba1ee94f34b7d206f2d375fbcf6691fa446e84"}, + {file = "pyobjc_framework_intentsui-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:b8f92e0018ca0d720f339b589ead6b46443b95f844258eb4f0a215101a74eb1b"}, + {file = "pyobjc_framework_intentsui-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:3200f217607900018605f8b25a75d1e5b2b6739e2244b25147a77d9278ff745c"}, + {file = "pyobjc_framework_intentsui-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:0af7ede17b56defe1c19426e5b5f2dd39d8215eeee30c6dcd1501dba609566d0"}, + {file = "pyobjc_framework_intentsui-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:0d3088164f6028b0f8eda429345f3ad33c7b8c70ca8ed3d75d178bc62ccc96f0"}, + {file = "pyobjc_framework_intentsui-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:f91ef9f61f65dcbf08b5277cf947ce390393eaf4829800d6aa5132e49dde6888"}, + {file = "pyobjc_framework_intentsui-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:8bccc0dfa36cf12ee4de87195d1caaa8ba15334658cb06c81c6da8bb44a2c9d7"}, + {file = "pyobjc_framework_intentsui-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:70d30672d1b7213ea7018b7bf53bb37000179429f83759a471dda456bb07bdce"}, + {file = "pyobjc_framework_intentsui-12.2.1.tar.gz", hash = "sha256:ec1a0fa3861911da7e43abfb6f783052644d62f587554e15a06303a648f9f361"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Intents = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-iobluetooth" +version = "12.2.1" +description = "Wrappers for the framework IOBluetooth on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_iobluetooth-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:18b769c4ebd6d00eff5ecc4e4fa70cee5713afed5bb3c4273f3e57f718297e87"}, + {file = "pyobjc_framework_iobluetooth-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e3c3fe2e35d4b20cf0ffafe1ee234bb250c742a3e348abb299df6e348e92922b"}, + {file = "pyobjc_framework_iobluetooth-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8ca12b1ef8533fbd63c44c68ad80afe7ca0446f056399305e9f51f573c406b42"}, + {file = "pyobjc_framework_iobluetooth-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6d5e76af8d2f0ad9f0a25158c0aa6dafa2dc59c57135dd1d4f39aff89e898344"}, + {file = "pyobjc_framework_iobluetooth-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:fed3eb2ce6aec555f1e22d04d06d2212a1d475740eaa2b832244198e09b5ce11"}, + {file = "pyobjc_framework_iobluetooth-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:18c9b901de39aeb79ce36bb4e550410ad5112917bf7f4198776c25c07099ce0c"}, + {file = "pyobjc_framework_iobluetooth-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:9dfa596bd8fc4d1648909c04b2856193e627dcb46ceecee9997085b99e395a8c"}, + {file = "pyobjc_framework_iobluetooth-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:aeca5abfaca23d204d9a4a32b68aa854b1d2893cfc593f0c3dab69c106c8ec63"}, + {file = "pyobjc_framework_iobluetooth-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:c80d734d08e2fd5d4764e0039693792fe2a7799156c08501b6734357a11e6c5e"}, + {file = "pyobjc_framework_iobluetooth-12.2.1.tar.gz", hash = "sha256:eb99c27187c68f984dee4e9ac620f5b210f11f821a2063b2fb9161359a1f1754"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-iobluetoothui" +version = "12.2.1" +description = "Wrappers for the framework IOBluetoothUI on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_iobluetoothui-12.2.1-py2.py3-none-any.whl", hash = "sha256:321160ac3181349054d29f7804b24944549fe442f4d6840f9123bbcd48f62aee"}, + {file = "pyobjc_framework_iobluetoothui-12.2.1.tar.gz", hash = "sha256:53bbfa9451c3c1bb55e91f063bb0539509e1e2b11887736967cc218b93695087"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-IOBluetooth = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-iosurface" +version = "12.2.1" +description = "Wrappers for the framework IOSurface on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"10.0\"" +files = [ + {file = "pyobjc_framework_iosurface-12.2.1-py2.py3-none-any.whl", hash = "sha256:92cf617b6ad6c216ec5fcdd47584fa0744dc7ff38fee378b2689dfcf46194df1"}, + {file = "pyobjc_framework_iosurface-12.2.1.tar.gz", hash = "sha256:f886630d6f2419fed9f89152b1e738758b735219bd39506bc12c2e1f65456dea"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-ituneslibrary" +version = "12.2.1" +description = "Wrappers for the framework iTunesLibrary on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"10.0\"" +files = [ + {file = "pyobjc_framework_ituneslibrary-12.2.1-py2.py3-none-any.whl", hash = "sha256:076712e495e2df43dad14e92167e468c4a46b9d06f1b84b98b2b65ff24285043"}, + {file = "pyobjc_framework_ituneslibrary-12.2.1.tar.gz", hash = "sha256:be3afc865881c762765101be35f7216616c5eb4c76025f590e36fe1cbd2518fb"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-kernelmanagement" +version = "12.2.1" +description = "Wrappers for the framework KernelManagement on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"20.0\"" +files = [ + {file = "pyobjc_framework_kernelmanagement-12.2.1-py2.py3-none-any.whl", hash = "sha256:9facdb93e49717a9e5999ab7b20cd1643ce00119f7b91c4933fec0fe3638edd1"}, + {file = "pyobjc_framework_kernelmanagement-12.2.1.tar.gz", hash = "sha256:49591c0603057d2ea2596b9b414c38fe521f506e1320753bb49ccb2262b97bdc"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-latentsemanticmapping" +version = "12.2.1" +description = "Wrappers for the framework LatentSemanticMapping on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_latentsemanticmapping-12.2.1-py2.py3-none-any.whl", hash = "sha256:7d7669ae5c6ca53e6aa7bd70ddfed23914a29169c3f57b94a40a0397abaa66e2"}, + {file = "pyobjc_framework_latentsemanticmapping-12.2.1.tar.gz", hash = "sha256:96e6b523c7fe7944cee30b723f035f9082500c3bf8ba8237013c8e37b112c493"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-launchservices" +version = "12.2.1" +description = "Wrappers for the framework LaunchServices on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_launchservices-12.2.1-py2.py3-none-any.whl", hash = "sha256:81ca37abab29e96ebd69e1d97d63789d729510a6fe1f6cd4041e5b24f340f115"}, + {file = "pyobjc_framework_launchservices-12.2.1.tar.gz", hash = "sha256:1d288543c1c4e53e6e24314987e18904ada821d6bef5437e6bd9e8e6873fe4a6"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-CoreServices = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-libdispatch" +version = "12.2.1" +description = "Wrappers for libdispatch on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"12.0\"" +files = [ + {file = "pyobjc_framework_libdispatch-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a47e8c53511eaf739f3972c48e0813bf8fd10dc88dc5543afceaec6554f5c4c2"}, + {file = "pyobjc_framework_libdispatch-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0e295775c76eace23f60e53ef74b0f79429c665f91a870e4665c4b9887466efa"}, + {file = "pyobjc_framework_libdispatch-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8f41b5021ff70bc51220a79b41ebd1eacb55fe3ceb67448594f30e491a2c42a5"}, + {file = "pyobjc_framework_libdispatch-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:9c0ebf99520083bf17c007a544c100056a0d4ae5c346fb89e1bdfe6d041f16f2"}, + {file = "pyobjc_framework_libdispatch-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:3f56fd71b963a0b6e440ed2f0ea2fb635221758b7eb908ba38f96f5144b83ca3"}, + {file = "pyobjc_framework_libdispatch-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:999bad9a2c9198c837ba8f57a3ca9f05b4fc4bf7b69318baaa266dd2ab2fc8f7"}, + {file = "pyobjc_framework_libdispatch-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:3fc93971f40d9757995c1e4b995a1614a468a5178be27e3d81e9bdc0b5e3cf75"}, + {file = "pyobjc_framework_libdispatch-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:26a096c81c8cf272f4f1bb8f6c4b7565e005d273d218b53b83d925da5292633f"}, + {file = "pyobjc_framework_libdispatch-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:82c6512fb4985f3bcd6b60b0cff79a4b483b44d1d2e5405010e34dd4b60aa01b"}, + {file = "pyobjc_framework_libdispatch-12.2.1.tar.gz", hash = "sha256:0d24eda41c6c258135077f60d410e704bc7b5a67adcb2ca463918896c7363795"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-libxpc" +version = "12.2.1" +description = "Wrappers for xpc on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"12.0\"" +files = [ + {file = "pyobjc_framework_libxpc-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2f58dda691cfe0de53d06d6987c797c79b877d9e6d4ccc48afac0239856471ec"}, + {file = "pyobjc_framework_libxpc-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:157db58d0bf530d7a2838c3229aa5fdd973fc2359beaa557fa3ab370ca541637"}, + {file = "pyobjc_framework_libxpc-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:905964e12dd9180e70bc88bb04cdc02e4920a48a045e62ebb47f207ab3085376"}, + {file = "pyobjc_framework_libxpc-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:158fd1b11eabc4c42d1bb60264ecd19871c3e24ab661e7c6d982bcb5b6cd8da7"}, + {file = "pyobjc_framework_libxpc-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:dad8ca82fe4162e85c9a6057382eaa6adc6b3aa22011e1e454d6eafb997dfc02"}, + {file = "pyobjc_framework_libxpc-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:1610ef8016bdeb83d2193851e5c19fbf6073741d01a0d590afa4501531b788e1"}, + {file = "pyobjc_framework_libxpc-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:90331eb7dee2a50e6cd70463dd156d7f679919b9d03e52864707bfdebea0adcb"}, + {file = "pyobjc_framework_libxpc-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:88bba9ba27aa974a6d89dc1bbb5fbec1d96407ac36f01737ce92179d1b1d383d"}, + {file = "pyobjc_framework_libxpc-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:153ba3845c64a9f8003a87f22de4b4ec678f2c36c329c8c3c96c30cffe7a0570"}, + {file = "pyobjc_framework_libxpc-12.2.1.tar.gz", hash = "sha256:83b814672715ef1f4f83eaaae49416a77db38579e6f6af2e14cd328a76f5d598"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-linkpresentation" +version = "12.2.1" +description = "Wrappers for the framework LinkPresentation on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"19.0\"" +files = [ + {file = "pyobjc_framework_linkpresentation-12.2.1-py2.py3-none-any.whl", hash = "sha256:2299fc001002ecf501249a0a61bda35d50aae5057c9f2aca36274261add4fa4d"}, + {file = "pyobjc_framework_linkpresentation-12.2.1.tar.gz", hash = "sha256:96f30800eef18543a4c75fff6b1a7cce7fcd649564784cc523341870908382c9"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-Quartz = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-localauthentication" +version = "12.2.1" +description = "Wrappers for the framework LocalAuthentication on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"14.0\"" +files = [ + {file = "pyobjc_framework_localauthentication-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b89ad8bb9d9ea053902055e656ed694d625a0ea8b950b176b01a50ec82b73343"}, + {file = "pyobjc_framework_localauthentication-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:be6c72699cc3c3a970483f1cf7fce3b40663253202ac023b8439d34f93ea224a"}, + {file = "pyobjc_framework_localauthentication-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:591dc5bd8143868c0414a487c433d6c651c44c3f0ec751ad30ff3e0f4260db6a"}, + {file = "pyobjc_framework_localauthentication-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:29d6de29ece22d49a95279de80405f1441ccec74ea30db5251ffa8f46c51ae94"}, + {file = "pyobjc_framework_localauthentication-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:52f89e993950b66d2ec701fb2d5f523a5e6dfafb8e0da9c194aa4fc5aae3a30e"}, + {file = "pyobjc_framework_localauthentication-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:326f9bea423f705d61bdd36ebae087ade99c39c91fcd6643780697d539e8a575"}, + {file = "pyobjc_framework_localauthentication-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:49a99b96196e1ebe0791ed546bb538d4c28ee4ffbdd1b0e4c7666d063104f849"}, + {file = "pyobjc_framework_localauthentication-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:867541c093477d5ed26efdd911fa131db533d837cad575cfa5930a1fb5d7f434"}, + {file = "pyobjc_framework_localauthentication-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:aa094c1a5b2dbb02fb3be32a0a5fcfb23aea21815827ece2655737d4b8dd7af2"}, + {file = "pyobjc_framework_localauthentication-12.2.1.tar.gz", hash = "sha256:05162d6d603fe6a9bf8eba8d5df7da379bc2b8eaf2a405bf0132a71477f5ed1c"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-Security = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-localauthenticationembeddedui" +version = "12.2.1" +description = "Wrappers for the framework LocalAuthenticationEmbeddedUI on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"21.0\"" +files = [ + {file = "pyobjc_framework_localauthenticationembeddedui-12.2.1-py2.py3-none-any.whl", hash = "sha256:a77da7a7471ee9277d4ae7269fb3d0bc508c5908e93ccf8e4cdf723bde21d1af"}, + {file = "pyobjc_framework_localauthenticationembeddedui-12.2.1.tar.gz", hash = "sha256:f97666380541a40e593c7ed2214c11da30effcc909a4b13595220050a9888577"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-LocalAuthentication = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-mailkit" +version = "12.2.1" +description = "Wrappers for the framework MailKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"21.0\"" +files = [ + {file = "pyobjc_framework_mailkit-12.2.1-py2.py3-none-any.whl", hash = "sha256:e453e42d8ad97f58593296a85c71ec8c71378f8d5d79ac4548845f5dcba725b9"}, + {file = "pyobjc_framework_mailkit-12.2.1.tar.gz", hash = "sha256:8a8e84f6828f13c7c67c6f8f299889127df05d25ffe52b6c942d69a329681c75"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-mapkit" +version = "12.2.1" +description = "Wrappers for the framework MapKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"13.0\"" +files = [ + {file = "pyobjc_framework_mapkit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:473e3a61ffd69b81b5bd1c70c4e9c88fbe4d20d0d1ef60433bda8aaebe45a5c2"}, + {file = "pyobjc_framework_mapkit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c312c5ca0634c6676328c9b205d36fcd3138eacaf339480b9e9572e0c579e9d5"}, + {file = "pyobjc_framework_mapkit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f423892cba28bef2becdc5cef9011e358f223b66478aecc8ae5e3083c8e1700f"}, + {file = "pyobjc_framework_mapkit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e94362c148355d36aec29d7a77c14178e44e464504dd2cbcc8de28b18a5e00e8"}, + {file = "pyobjc_framework_mapkit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:9c128d8e4af7698629545d5761cc1fca5a26a3e13121c2ff7c77e28308922b70"}, + {file = "pyobjc_framework_mapkit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:1263fb5c1e13ad7d34e60b455cd56b79627b4505488cbaaacee9ad8acf4eee80"}, + {file = "pyobjc_framework_mapkit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:ceb93bb2aa7ced0dc200508d9baa0de2438f8e0194f1dfabe7407ab0d734bafb"}, + {file = "pyobjc_framework_mapkit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:5b39d0cbeca27e3eef130e5686adc8e0edd06981e0f8afe359ca070ed790f329"}, + {file = "pyobjc_framework_mapkit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:f9ef9633e84afa849bcb923ef0ee9cc78106d210e45637f58941dca4408681f9"}, + {file = "pyobjc_framework_mapkit-12.2.1.tar.gz", hash = "sha256:b0d34e03e100adb471b91f0915b6ecb2266251886e54a1729ee534ec832ad392"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-CoreLocation = ">=12.2.1" +pyobjc-framework-Quartz = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-mediaaccessibility" +version = "12.2.1" +description = "Wrappers for the framework MediaAccessibility on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"13.0\"" +files = [ + {file = "pyobjc_framework_mediaaccessibility-12.2.1-py2.py3-none-any.whl", hash = "sha256:8543ff6664ce35815083ab10a6f4b1b9241594d60c27132e08385b0316d55013"}, + {file = "pyobjc_framework_mediaaccessibility-12.2.1.tar.gz", hash = "sha256:6d816a09d874519bea85035db7c62c0566063a5be63e3ab25b2059205576ade8"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-mediaextension" +version = "12.2.1" +description = "Wrappers for the framework MediaExtension on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"24.0\"" +files = [ + {file = "pyobjc_framework_mediaextension-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:efac3f8d4f36f21cf4559bde2a58ee72d8c9d955028b59435852209d4c06eb9b"}, + {file = "pyobjc_framework_mediaextension-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e8d383f458e4812993a0b4132f128a588ea34d9be51644261ddd04f90cf530ed"}, + {file = "pyobjc_framework_mediaextension-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bbf5ea3683dc5b6a2b0f218ec0e9935a21e6aebe7d00760be78395268fb04770"}, + {file = "pyobjc_framework_mediaextension-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:600e289380d19b24d7166027988c63b5fa8cd297a379fa9538dd0bcffd527c0a"}, + {file = "pyobjc_framework_mediaextension-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:c84027e9c775d51ae58c5c532935145ef1ddaae7b24b769e6ff7026b62a7e4ea"}, + {file = "pyobjc_framework_mediaextension-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:1f5554002df229352672d5d2f7ec5b8d63cb8fae762df67da7ce0902ecbd2837"}, + {file = "pyobjc_framework_mediaextension-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:116d9cf91c283bd741ee1f5f8350e858d002a002c655b0378c471ec0d81ddef5"}, + {file = "pyobjc_framework_mediaextension-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:6d3779c1923a059b8d5c4e5ec5c190d015f63270d4d657e0f5ad1a97df99ff19"}, + {file = "pyobjc_framework_mediaextension-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:1f0da78f3ccedc09db0d8dfa6d6c008fbb411e5f9eb52c4dc0318b57416d37c1"}, + {file = "pyobjc_framework_mediaextension-12.2.1.tar.gz", hash = "sha256:d31057582878ec2574559ad253fd448de3f11a68e454d14f0665348c82b3dee0"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-AVFoundation = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-CoreMedia = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-medialibrary" +version = "12.2.1" +description = "Wrappers for the framework MediaLibrary on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"13.0\"" +files = [ + {file = "pyobjc_framework_medialibrary-12.2.1-py2.py3-none-any.whl", hash = "sha256:4d69f910f17bbccb4f815b171270b9279f9d7526b318cf45a7b2ddc84fc38d22"}, + {file = "pyobjc_framework_medialibrary-12.2.1.tar.gz", hash = "sha256:18fb56e727399f11ea588d2c512b7585147386892d72c65eb9c4b6387abd6643"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-Quartz = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-mediaplayer" +version = "12.2.1" +description = "Wrappers for the framework MediaPlayer on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"16.0\"" +files = [ + {file = "pyobjc_framework_mediaplayer-12.2.1-py2.py3-none-any.whl", hash = "sha256:d37f5ede14fe70c547eac4abb49c9c96086f99acf8236985acadfcb07c851a5b"}, + {file = "pyobjc_framework_mediaplayer-12.2.1.tar.gz", hash = "sha256:6acead24bb8f12e202976142db656c553b4a25ca2348165c35ce02862a93757a"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-AVFoundation = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-mediatoolbox" +version = "12.2.1" +description = "Wrappers for the framework MediaToolbox on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"13.0\"" +files = [ + {file = "pyobjc_framework_mediatoolbox-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:17a55fe0a542cd8ed6f7f1d19cec4865fe92d83a8157653586bdf52f2d247d90"}, + {file = "pyobjc_framework_mediatoolbox-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0c5047e20a1affe434a4aa073ae9c1baea2b677f37a537b2dbe4d8552bc8f82d"}, + {file = "pyobjc_framework_mediatoolbox-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2b4f70f6760c5cf49654f6256877e9875423507764af787c770e09214e5891dd"}, + {file = "pyobjc_framework_mediatoolbox-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:53be99e67f027fedac2045c4efac256725e1f6a122830aa4733fc3db608fe014"}, + {file = "pyobjc_framework_mediatoolbox-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:6f3a58249339267f5c40dad9bc945642bf5fa167a9be74353f5c76ef42ed4510"}, + {file = "pyobjc_framework_mediatoolbox-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:082c54423dd1080ce7cf9595e73997c6a0ef2e38c15be34ecb1e9a81163e9180"}, + {file = "pyobjc_framework_mediatoolbox-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:88618fa1c1f0f5cd03ec349eb6e864b88fa3f7b88014299cc77cf56de5d4b3f4"}, + {file = "pyobjc_framework_mediatoolbox-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:f3b71021c5416c58d756441eeb52f5153ae696fe7ff50b1e470934ff947c1a05"}, + {file = "pyobjc_framework_mediatoolbox-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:a2ff7b9ada192d3d949ddcc2d52f2149ce812ceb97fb5f1f67016cbfc7929d03"}, + {file = "pyobjc_framework_mediatoolbox-12.2.1.tar.gz", hash = "sha256:f8757deb15870b7543e2880aa4e7bd248fbc92f6a55763a99fda3703b1b1327d"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-metal" +version = "12.2.1" +description = "Wrappers for the framework Metal on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"15.0\"" +files = [ + {file = "pyobjc_framework_metal-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f58d492c0667c95dcec503f75380a526d55e5797da5d05eb7776817bed19e2c"}, + {file = "pyobjc_framework_metal-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:add59e48ca823d60bcf7e026baa2a95203b88c796b5febc140924fd9e5eb5821"}, + {file = "pyobjc_framework_metal-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:92b1f2e8f4a86bd9ecf307144e1f2c5ccc451fc760534833ddcde58d7624c695"}, + {file = "pyobjc_framework_metal-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f39a87b50408afbfc8a78be0c0d164016f114c2f807eb35506051660b386931f"}, + {file = "pyobjc_framework_metal-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:eb247c22391706162bcc14e6fd52101e632a51f3c0aeccb59cea549c019303ce"}, + {file = "pyobjc_framework_metal-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:a842860779c2a1c82d80b3800009b4604448d9635f1a69300393184b378cb6af"}, + {file = "pyobjc_framework_metal-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:6bbfe26a9d4683d776aeed28ba725102328ef5072eedde4c4df15df67b541c80"}, + {file = "pyobjc_framework_metal-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:e1be254400cc4038474466ff343093f8955925281f1e1209054d2fff9d6b362d"}, + {file = "pyobjc_framework_metal-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:9f69b2c846014b19f1a7180b33fed0acf670d72b7e44290018b6bb7fb39d607e"}, + {file = "pyobjc_framework_metal-12.2.1.tar.gz", hash = "sha256:cd362194bdb7fd2a9116b8dc1e6b14ce19629136304cdf6b88d105a969fda72c"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-metalfx" +version = "12.2.1" +description = "Wrappers for the framework MetalFX on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"22.0\"" +files = [ + {file = "pyobjc_framework_metalfx-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:fb1bbb52c1e1f771c7169bdec7639f75c034ee652362b9e8c969ba092d1c31a7"}, + {file = "pyobjc_framework_metalfx-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c8b17729b04033eedc6fd915f0d1ae09d7065d1e1301857b6e2e56f97270c8f5"}, + {file = "pyobjc_framework_metalfx-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8c1b2b84cb3a2481d95c324cda82ecac6fbe7f6c6a2c05c960b956449cdad1ac"}, + {file = "pyobjc_framework_metalfx-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a4e6a33836b384f2627bb8c68f60365d85d135b6ecc4e3c63392c9ac30a597fa"}, + {file = "pyobjc_framework_metalfx-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:c213297c6738e92e2805ff6029c9b70c882c67d5799e574900941af2d02c13d6"}, + {file = "pyobjc_framework_metalfx-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:74ead433904ab845442eeb992a4eb13274e8c411d4c2605b62f623c8b6f04f53"}, + {file = "pyobjc_framework_metalfx-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:976c04c1f76ae75f7556c0a82082948f6879ff4f6d026a644b507ececc2c52ab"}, + {file = "pyobjc_framework_metalfx-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:f2f7f4c01571031e289d3ad1d9c5b5eb5cebfd7909cb4cc17fc39b696b97fa39"}, + {file = "pyobjc_framework_metalfx-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:b4a8a02d165df8be14ad51b8503415bc5d70ecffe3c8f86536166490781e5f93"}, + {file = "pyobjc_framework_metalfx-12.2.1.tar.gz", hash = "sha256:c146060268f8c2941dba7695bb1511145035a8468b65d88a668b2eeb4ac8ea07"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Metal = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-metalkit" +version = "12.2.1" +description = "Wrappers for the framework MetalKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"15.0\"" +files = [ + {file = "pyobjc_framework_metalkit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:386a0de1a71589cabf182f6e29cb9cba2ff6afeda95303079ea044e65b72464c"}, + {file = "pyobjc_framework_metalkit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9ee027e7dfa9d5146a4032323f025c66051d0487523457975e05d97e62fae263"}, + {file = "pyobjc_framework_metalkit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d81f90237743cfb7a65e92d8581d0298feb4d59a20b3995321bfac9eca458f6f"}, + {file = "pyobjc_framework_metalkit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:fd09232de0cdca092a79efa4e73ea12357b1db862527c9ce8172d0c2b688c5c7"}, + {file = "pyobjc_framework_metalkit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a90f5ade5946194025bbfd2981a4099062d671ab2667c95d6ce218c13cc3d032"}, + {file = "pyobjc_framework_metalkit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:4666993edc519a447e7c2dba75a90afee9597d6e583e088c80beae725669e5c0"}, + {file = "pyobjc_framework_metalkit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:1e549bfce38973abbb8df8332696d0bbea1fe990068ffa96e300c45fe6375ee4"}, + {file = "pyobjc_framework_metalkit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:21010a4f50e58f2a494df6325027539efdde53ff211ef5dc9f1873282652c117"}, + {file = "pyobjc_framework_metalkit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:837ab5e81b79db0e7c01763a9ed1a21fa57a27ee4ecb7376b944a92036733e09"}, + {file = "pyobjc_framework_metalkit-12.2.1.tar.gz", hash = "sha256:f2f8e02f4ddeb1d49a5b3def09eddcb8a718289b6ed635fa5f1807165969e798"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-Metal = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-metalperformanceshaders" +version = "12.2.1" +description = "Wrappers for the framework MetalPerformanceShaders on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"17.0\"" +files = [ + {file = "pyobjc_framework_metalperformanceshaders-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6167eb5cbc9bde6690509b578b2f2754fac588d214bc5a01b8406f63de7a4766"}, + {file = "pyobjc_framework_metalperformanceshaders-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:521d6a3ab80d76138754e7a1eaf02412d0d7502f5d486b4c3b7548d193b90457"}, + {file = "pyobjc_framework_metalperformanceshaders-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:6c679e85a4197302bdd7f9f9b17448c4df5c9a66e3ddb2d371814eb84a45261f"}, + {file = "pyobjc_framework_metalperformanceshaders-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:856aa1b620ec04e64870694627435547affe350bda9e00e877e72ab518aec76e"}, + {file = "pyobjc_framework_metalperformanceshaders-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:c1b094b81d0ed3f72b9345e7e4fbc47604934325d3695b4b8f2457701cf90fad"}, + {file = "pyobjc_framework_metalperformanceshaders-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:b96cac9d50a9bf72e2bc3e006eac5ec0e7aeaabb65eac620df830c35af9b1fef"}, + {file = "pyobjc_framework_metalperformanceshaders-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:1449836ff40cbb04a00c72b1c6219571914d895695d6d310bc1433b0181110d6"}, + {file = "pyobjc_framework_metalperformanceshaders-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:db8048e5d7cb8a94b352f3902e330cf0f4de3c103ea07c261bcb495ee2b4ae7d"}, + {file = "pyobjc_framework_metalperformanceshaders-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:76e1b5f6733f14eed200631f6ba0af187fa89623cb1dcb126bf55dc4eddeba86"}, + {file = "pyobjc_framework_metalperformanceshaders-12.2.1.tar.gz", hash = "sha256:a4395f8619ad6f1d382aab5cf116e058b18d3646bec6b730c77daa8f692b5de4"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Metal = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-metalperformanceshadersgraph" +version = "12.2.1" +description = "Wrappers for the framework MetalPerformanceShadersGraph on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"20.0\"" +files = [ + {file = "pyobjc_framework_metalperformanceshadersgraph-12.2.1-py2.py3-none-any.whl", hash = "sha256:9ac2270c573e9399c02196ea1725bd3c7ed3699d71ee70286b1f78beb8afaf5e"}, + {file = "pyobjc_framework_metalperformanceshadersgraph-12.2.1.tar.gz", hash = "sha256:656e70c86645814ef1d02bac74933eebc5ff6427100bee4a3bbffde921020ab6"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-MetalPerformanceShaders = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-metrickit" +version = "12.2.1" +description = "Wrappers for the framework MetricKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"21.0\"" +files = [ + {file = "pyobjc_framework_metrickit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e0cb7e940c41823e3df1211dc7f81531e98fc20d15639436e2d09c0c75c4451c"}, + {file = "pyobjc_framework_metrickit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1167de9dfc42fddcdb0529b419d499b7c3e68c3f8f2828f93218360c9aaa0cd1"}, + {file = "pyobjc_framework_metrickit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ee7253c6451b99f43588be83460bdce90c1c2f94e10fe6cef294d0d44af771a7"}, + {file = "pyobjc_framework_metrickit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:62f6c2cc22017377e984fbea0ea6ee15b3c0fecda7fcc42e88d0beb5387ad3a4"}, + {file = "pyobjc_framework_metrickit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:1357f74151b851760b2520f20ffab69a6a85ed3c1aebd61164bb67e0be417375"}, + {file = "pyobjc_framework_metrickit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:dbabe6b44292b0dad3998921c46a4292e328b4ac0ee26e25f34a2eb9fead452c"}, + {file = "pyobjc_framework_metrickit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:6ad3a56006b975e0165eb34853e30d6d7b68814b39e7a5bfd02a20cd47234535"}, + {file = "pyobjc_framework_metrickit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:cd58c762d163a557d18b23dd6e856086902258afb64064b3a72fa8237144b3f0"}, + {file = "pyobjc_framework_metrickit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:72b0e04337f4de0a5bf29aae719713265f255d3440dbe7338b6aae92cfa414fa"}, + {file = "pyobjc_framework_metrickit-12.2.1.tar.gz", hash = "sha256:096878f3e750d12a7018b07ff3468d405ab3ac108f1aa92bc3123fd06934e344"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-mlcompute" +version = "12.2.1" +description = "Wrappers for the framework MLCompute on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"20.0\"" +files = [ + {file = "pyobjc_framework_mlcompute-12.2.1-py2.py3-none-any.whl", hash = "sha256:71517c5afdba1213aa4a832fcf3bc1cbe0efac7f4a42ea10cca33bbd4ad1db45"}, + {file = "pyobjc_framework_mlcompute-12.2.1.tar.gz", hash = "sha256:4ee00b70d549619d63961864d9c2dd93b6db18d1c920242ae961517be7074f84"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-modelio" +version = "12.2.1" +description = "Wrappers for the framework ModelIO on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"15.0\"" +files = [ + {file = "pyobjc_framework_modelio-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:59253c507f9512a7b2424135bb3bbf610ed5455b79d58cd89ef614d05d3ad27c"}, + {file = "pyobjc_framework_modelio-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5c035eb4598b61508d7180e8326f426918028ef7c8ba2ad933d29f343e9860a5"}, + {file = "pyobjc_framework_modelio-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:82343edada3bb065317774a0f58c65f516fec6247113091da7029d06ad7e8431"}, + {file = "pyobjc_framework_modelio-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:68b53d1aea59dcbe5682f753ded2d3dc4d54598f58a0defe9a1d3219c7a801b0"}, + {file = "pyobjc_framework_modelio-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:1714a43c35bd4254f5fb51bc5d6b67dfcb2a6b20ff309d34ddd22f03bb1709b8"}, + {file = "pyobjc_framework_modelio-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:0dbf08b900703cc0a6d4e53b10da5d334dd5fed26be010aeda5eb53f93287ccd"}, + {file = "pyobjc_framework_modelio-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:32b361d7b80c9b63271c205860bb1961b530f1e79b43eec21e970bdc48497633"}, + {file = "pyobjc_framework_modelio-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:c3d780628dc0ec585ecf845a8271b0843c619d50b6dae8335cdeb4c0a4054daa"}, + {file = "pyobjc_framework_modelio-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:476aadad72bebb9df752651ee2097e620a52e2293dbcd83dd9c0e424d7f401f7"}, + {file = "pyobjc_framework_modelio-12.2.1.tar.gz", hash = "sha256:d3706f803dc325c38536fb43fbd4174e958a95f92312a684ae152186661dff2b"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-Quartz = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-multipeerconnectivity" +version = "12.2.1" +description = "Wrappers for the framework MultipeerConnectivity on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"14.0\"" +files = [ + {file = "pyobjc_framework_multipeerconnectivity-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:826e3bc11cb6f8993bfa5992860f8ebda303887925eae4412b1ed9f7746960b1"}, + {file = "pyobjc_framework_multipeerconnectivity-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:449c3e35eba88fc58e38fdf44e1afc41449eb7eea8c2c1120d19491579be1a70"}, + {file = "pyobjc_framework_multipeerconnectivity-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3180c51bb68ed87f53e7b805f3443a510d7db00a1c0344223eabb384123fa0cb"}, + {file = "pyobjc_framework_multipeerconnectivity-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e566a2dd4ac9b95cc8b4739092501413a1d697a1c34126dce489cf55c0c71a53"}, + {file = "pyobjc_framework_multipeerconnectivity-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:87049bc0af02bb623bdd90573a6a2abaca7c967520db81477b05d0c38860aa37"}, + {file = "pyobjc_framework_multipeerconnectivity-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:b1f0f3bc2dbd15e2231d9b5427c4224428660c1a96a66f2521a859b0c5888aea"}, + {file = "pyobjc_framework_multipeerconnectivity-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:f22051fcccbbd16b9a1d4e2f161dc06304f13444ee65035e62ca6ed58a5150b1"}, + {file = "pyobjc_framework_multipeerconnectivity-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:92f2a113f8ef13b6faa6aa9c95e01b29f10bd30c4652dc074fff747f8b29bdf9"}, + {file = "pyobjc_framework_multipeerconnectivity-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:3c49e75d0dc605394422ce9e869784c3f911551733044db09c77659de1280880"}, + {file = "pyobjc_framework_multipeerconnectivity-12.2.1.tar.gz", hash = "sha256:06f9a354ef0ef77c45c98ba9ef92bc48961522d7b3ba322e56b4ee3d4a46413c"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-naturallanguage" +version = "12.2.1" +description = "Wrappers for the framework NaturalLanguage on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"18.0\"" +files = [ + {file = "pyobjc_framework_naturallanguage-12.2.1-py2.py3-none-any.whl", hash = "sha256:5eed3750f7cbd6a9584f2b9942c4b26b7134ed15dc044815ac79841403048be9"}, + {file = "pyobjc_framework_naturallanguage-12.2.1.tar.gz", hash = "sha256:fa2d9c7040dcbbe4c7bc83ddfb9e3da20edb49824de8c78d3574aec7065c4043"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-netfs" +version = "12.2.1" +description = "Wrappers for the framework NetFS on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"10.0\"" +files = [ + {file = "pyobjc_framework_netfs-12.2.1-py2.py3-none-any.whl", hash = "sha256:04f8f1743f98af10d005f42ec30b26f147d3ee0365b1ff3df2babaf456c75e07"}, + {file = "pyobjc_framework_netfs-12.2.1.tar.gz", hash = "sha256:312b3a6ebcba6b3a03bdc7412560d8ddb5ac336c37a1205e32c6b58d831191f2"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-network" +version = "12.2.1" +description = "Wrappers for the framework Network on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"18.0\"" +files = [ + {file = "pyobjc_framework_network-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0f075709b66a7979046cb8122b7324f9d9225b62c192508afdaa80cda3709816"}, + {file = "pyobjc_framework_network-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2009d4aacca836bd6b6f0aa0b503cfe593488ed55b62d1e5d6a051b7f843f9e8"}, + {file = "pyobjc_framework_network-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:45d0ad8977ac71624bb6bbd929df8768a39fc8c13e97712bd7d37a4b9b4061e2"}, + {file = "pyobjc_framework_network-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ff15672b23decfd9ec9a0051ccd15f4abf098020c4700ff8d2466e597e747eb1"}, + {file = "pyobjc_framework_network-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:9d2df906f6cb262c74ee6b28f80856eea52d07723c325a04e804357b77c9a335"}, + {file = "pyobjc_framework_network-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8d84a21895c3ecbbc48d683c7210c0bd12259a3e97cbab16af125248abb3fab4"}, + {file = "pyobjc_framework_network-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:3a27d2276da4e3bb1e826defddf6b09bd8fa80fd045d3a711bd429785df8f5fd"}, + {file = "pyobjc_framework_network-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:a9484c5acd6507a7924307239de798aa1d56d35abb5d08664e9767411f40f9c0"}, + {file = "pyobjc_framework_network-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:3bcc2d70564c0d3c290be0f2be4c129bbeda18ac963f0513f6b5d8e482e1d2c4"}, + {file = "pyobjc_framework_network-12.2.1.tar.gz", hash = "sha256:0cbb405f304f25617f138a2556433e22d4f706e558a78201957f9e2ca3c9ae21"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-networkextension" +version = "12.2.1" +description = "Wrappers for the framework NetworkExtension on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"15.0\"" +files = [ + {file = "pyobjc_framework_networkextension-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:715472ba0cd2a0021c779aa9c0c70fc6b9c19ca123bced972d480970ad544ef8"}, + {file = "pyobjc_framework_networkextension-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:190db4aee1316c9d3d4da8e7a8fb44b98b70a6f6930f69baf7c9258082f7fc63"}, + {file = "pyobjc_framework_networkextension-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:fb4c79aae8bd30099a2373d379a7d3cbfc6c210fbcdcb766c58d209dfe710062"}, + {file = "pyobjc_framework_networkextension-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:94e851bdcd902dfac889daa5017bb9e3bc7086332956d9ecc53ef087d332d1f3"}, + {file = "pyobjc_framework_networkextension-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:812cc5a68e464b1a0047048a46e0f1d44718cc39c37ab9d8d2827c34a37cc2a1"}, + {file = "pyobjc_framework_networkextension-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:e7c43d18132a7140bd4cd8ff81977a3844579020dd22604f06684d0aad667c45"}, + {file = "pyobjc_framework_networkextension-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:d99ac04d1fb84ef4593ee4eb9a18d80e9f7dc687ed642ead6a67ec4cd1ac9fcf"}, + {file = "pyobjc_framework_networkextension-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:e639073b2d2a825af35ff7db046e0fdd969707710b4a77c184e203fee65e5c12"}, + {file = "pyobjc_framework_networkextension-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:2bf7bcd4712ca3636933f64e5c8fb2f72c5854a7cd6c20738ab88831e37c5922"}, + {file = "pyobjc_framework_networkextension-12.2.1.tar.gz", hash = "sha256:7858164a3e28dc81d317412123fcd664424da9afae63036e31979668ecd5972d"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-notificationcenter" +version = "12.2.1" +description = "Wrappers for the framework NotificationCenter on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"14.0\"" +files = [ + {file = "pyobjc_framework_notificationcenter-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2f21c5c26627de04362c9ce0aa556a77e0bdaf64cc8925e45495254f49135e06"}, + {file = "pyobjc_framework_notificationcenter-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:40a1a0bf0057d6ec1567b58947e6b3550b13ea5cffa721ad63b1c713a73276aa"}, + {file = "pyobjc_framework_notificationcenter-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0e86691f099a752a625b1a03a42f8cd8b28705bae5cb9924c988a7a8bc429d5c"}, + {file = "pyobjc_framework_notificationcenter-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:72187126a81e4a5f1fecab21b4740628dc6fa75a6a0471a0c115adfb49c04893"}, + {file = "pyobjc_framework_notificationcenter-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:c61e2dd16fe34410d972c57e62c6c4949f86e97b12fd1f1079b75ba409df7837"}, + {file = "pyobjc_framework_notificationcenter-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:f91d2354beb4c928f4feda65bc2d73166aff1865a5bdccab2719744398c8d2cc"}, + {file = "pyobjc_framework_notificationcenter-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:65de365859ab6e87763df7fce64f141d1850e5f23ec88649cf4b0071900a8183"}, + {file = "pyobjc_framework_notificationcenter-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:a3c19ff09ecb73f55a94a45b4004795d60027e0a05dbfb7212e5e8c2855aa9d6"}, + {file = "pyobjc_framework_notificationcenter-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:047ff96770aaa238bdce7f5ce73d954a1b0cab83cbff64188f92e852ad46c112"}, + {file = "pyobjc_framework_notificationcenter-12.2.1.tar.gz", hash = "sha256:952d0bfff1653f16f9e79336c8eeb928ed517f0212c914191a925a85523b5af6"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-opendirectory" +version = "12.2.1" +description = "Wrappers for the framework OpenDirectory on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"10.0\"" +files = [ + {file = "pyobjc_framework_opendirectory-12.2.1-py2.py3-none-any.whl", hash = "sha256:2604cd01e236a1237ee6e52c689e60fb380807c5bda6981dab37dd14d89dd254"}, + {file = "pyobjc_framework_opendirectory-12.2.1.tar.gz", hash = "sha256:1b6dc2eea7857f05063f22e746ae66e8a2a135e41c62b7f3ca7c91f8a5ec5de0"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-osakit" +version = "12.2.1" +description = "Wrappers for the framework OSAKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_osakit-12.2.1-py2.py3-none-any.whl", hash = "sha256:00c1996bde228324665795f9fe9e129eccfbeab1c10d8ba34e1b1adae379b482"}, + {file = "pyobjc_framework_osakit-12.2.1.tar.gz", hash = "sha256:6656e6dab5eb2b571cdcd0d68c0084fa2ac5f85f2f06423e132b410c44e87187"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-oslog" +version = "12.2.1" +description = "Wrappers for the framework OSLog on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"19.0\"" +files = [ + {file = "pyobjc_framework_oslog-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7fc09577bbcd66ea2395956b929ab3847d73aaf4ed94a2a08c5715396c234fc1"}, + {file = "pyobjc_framework_oslog-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f54740a9a37deaa197b0af793a7fa0ecb909131199278ea00e833b2350516f06"}, + {file = "pyobjc_framework_oslog-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:6cb3738d55676285692108f6cd43773ad9589030bda1077e8ff7080e44e635d0"}, + {file = "pyobjc_framework_oslog-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a0ab4755e4b31d304d8eb04291470a7381d69b0381cec02242bdf37e2a492438"}, + {file = "pyobjc_framework_oslog-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:bf2a170e8fcef12de89749f085d3ef52f0a3a7084a566f244377012301d91c63"}, + {file = "pyobjc_framework_oslog-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:d16161bf907569eb02be4e0e4b515cd1ec52da4aaac7e4bf825d2853fd2fc2de"}, + {file = "pyobjc_framework_oslog-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:1253dda3bce3ab7174ba215f011cad47e11b43c8406edb09e99bb122b34af021"}, + {file = "pyobjc_framework_oslog-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:c2fb370aa829850de13643191ff26a1a23b2d5b77649e883b274607866e417af"}, + {file = "pyobjc_framework_oslog-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:5b4bda2651fc0a5ceeb28e8a82ddf5ad23bbe86b9feaf9df8f10c3d283d4f9a2"}, + {file = "pyobjc_framework_oslog-12.2.1.tar.gz", hash = "sha256:423e19e08d3f01f3b0d53f2b4503322c0ef9d116c0a1f91fe36273232cf0ff22"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-CoreMedia = ">=12.2.1" +pyobjc-framework-Quartz = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-passkit" +version = "12.2.1" +description = "Wrappers for the framework PassKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"20.0\"" +files = [ + {file = "pyobjc_framework_passkit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:34d26b879140c75f0609304d98ac660dafa354c77277c897213f85743f919204"}, + {file = "pyobjc_framework_passkit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:730c14e62f822053ed4502407da3b563bdaae0b55d1177ae2b12526fc2be90cc"}, + {file = "pyobjc_framework_passkit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:85df88aeba17f3aaa86f4eae1f0cba99ada8c18df7fd1ca49548276399417e26"}, + {file = "pyobjc_framework_passkit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:28e1c22d9476cdafe7839f368fd6e8c99f4925aa85e4f9126e5921f4c7e834a1"}, + {file = "pyobjc_framework_passkit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:e51509baa9f4883b1583c410dfcf8b68372a4457e13cd57f4c9490c6e9895e06"}, + {file = "pyobjc_framework_passkit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:6edade68d8c530e7fdaa7cb888899e8e7466b976e5736980136caf6b39903e2a"}, + {file = "pyobjc_framework_passkit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:872c816839d89097fcdbf60c5a22ed277277d299d0ebc4db3b598702c750f22a"}, + {file = "pyobjc_framework_passkit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:71805f7f9ee46976136b11f4563d490dd47219472f1648c3aba8a13e826ec1de"}, + {file = "pyobjc_framework_passkit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:50baf3bad86dd86c8f9e081df408cffe0830b18446775afc32acd69146560500"}, + {file = "pyobjc_framework_passkit-12.2.1.tar.gz", hash = "sha256:28de8925d89b705b9344e59498d15e5a10935e982b19eed10f0d498c5e670e7b"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-pencilkit" +version = "12.2.1" +description = "Wrappers for the framework PencilKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"19.0\"" +files = [ + {file = "pyobjc_framework_pencilkit-12.2.1-py2.py3-none-any.whl", hash = "sha256:d8214b76615d7f0fb6295ee21c679edeb889a03f355c1774f792dfb93bd313a5"}, + {file = "pyobjc_framework_pencilkit-12.2.1.tar.gz", hash = "sha256:2545561beece43d63c745b6bbc4503cc7c55ad0792d4206916c75da26a4dca49"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-phase" +version = "12.2.1" +description = "Wrappers for the framework PHASE on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"21.0\"" +files = [ + {file = "pyobjc_framework_phase-12.2.1-py2.py3-none-any.whl", hash = "sha256:426b407f9ff0fe2b55128e3c0e9a949db4b0a909ca095d65303c247865961dc2"}, + {file = "pyobjc_framework_phase-12.2.1.tar.gz", hash = "sha256:31392185ec0d3b0c5974c9b71f0c540843b1bdd884819484e627c6c0d592388a"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-AVFoundation = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-photos" +version = "12.2.1" +description = "Wrappers for the framework Photos on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"15.0\"" +files = [ + {file = "pyobjc_framework_photos-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:37cc7f86acbe830fd4256164f51b70b167ba3edaa9342c36defa5fc8992d5539"}, + {file = "pyobjc_framework_photos-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6f90b2ae5080a8626d13e995334ed2e7fa0cf04bdb479d50f18398baa657c701"}, + {file = "pyobjc_framework_photos-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:516320e2d3ab7c73bb196f7eb46afa289654829013ae79a51d663700e15ddab0"}, + {file = "pyobjc_framework_photos-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8be8e21b65627b4c55367c51258c22f7d73d3dbf7412a341e49684a1da1b60bc"}, + {file = "pyobjc_framework_photos-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:060ff64355662599bdc1413601c04f1e7d3b8b318d92dec9ab72bdf1cebc08fd"}, + {file = "pyobjc_framework_photos-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:423d8cc595912f3e3d7dd0b24809e171ba51d5f359f05e604d1bbc1aed7808a7"}, + {file = "pyobjc_framework_photos-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:7438abb6354b1f34c58804048ac26fd57a8084ee6be283d6e99827c940c31b7a"}, + {file = "pyobjc_framework_photos-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:c49b8515e34b685c18862b68d04978378cfe29dadcc72d2d9af92054758ee629"}, + {file = "pyobjc_framework_photos-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:9a575225535e90715488e75c343183044459dba13920651e283ea52f102715c6"}, + {file = "pyobjc_framework_photos-12.2.1.tar.gz", hash = "sha256:e405e612c48563609fe32da9aec9286ed8cab10e226dc58ae6910e141fc46f44"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-photosui" +version = "12.2.1" +description = "Wrappers for the framework PhotosUI on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"15.0\"" +files = [ + {file = "pyobjc_framework_photosui-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a8d238d087467da534df666fc05189b6552a784f477458ebbfac69694cd3758f"}, + {file = "pyobjc_framework_photosui-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3589035bf9ca764f5fa1d09bdec976dc5e2f25956ab4ac080a453ec93896fc52"}, + {file = "pyobjc_framework_photosui-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a8f0723e75c73d1ed3a29f3a6d374ce2275cf95d32aa8880e1bafe90a0354462"}, + {file = "pyobjc_framework_photosui-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:03ab0b9d9dcf3e50b62f8579ee11592d0049044044ec1a2b5eebce3e75d56893"}, + {file = "pyobjc_framework_photosui-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:872af4d088ded84a2a4cbc07aea10d98746221409d3179474e84c1a45f5f871c"}, + {file = "pyobjc_framework_photosui-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:e9f68423c00f418c1d0a27ca6c86f81da509d25490efd17f274d2d37ee569999"}, + {file = "pyobjc_framework_photosui-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:bcdcae68c773736c8171486c608df427f0bedfd6e80ec81005cadef28ae8b349"}, + {file = "pyobjc_framework_photosui-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:e3d2b4446a9b818abddad6d201212ee8fbaf699632e857bc255dd98143cbafb4"}, + {file = "pyobjc_framework_photosui-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:5f8560bbcec3b81755be8b4cf78fd38d81914ef6f7cd2d4e74c77f8ee3848a88"}, + {file = "pyobjc_framework_photosui-12.2.1.tar.gz", hash = "sha256:cb37100f2c75640d036a9fecf476a6fb68d1cafb5878c0e3f7c47054a63218a1"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-preferencepanes" +version = "12.2.1" +description = "Wrappers for the framework PreferencePanes on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_preferencepanes-12.2.1-py2.py3-none-any.whl", hash = "sha256:026ff87afba2d381e3d9dadc58957580558e1a705291da6794107220a3cd8102"}, + {file = "pyobjc_framework_preferencepanes-12.2.1.tar.gz", hash = "sha256:1b8e839b364b792441201c1112e17cd6d42f493987169da04ec65eda365d2ede"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-pubsub" +version = "12.2.1" +description = "Wrappers for the framework PubSub on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "platform_release >= \"9.0\" and platform_release < \"18.0\" and sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_pubsub-12.2.1-py2.py3-none-any.whl", hash = "sha256:5fd1d1a2f66551a75527284f133e1085fb11773003fd2c60ba26236caa9542a9"}, + {file = "pyobjc_framework_pubsub-12.2.1.tar.gz", hash = "sha256:44a9507ff51f678fc9460ebb8620df592aeed85fc48130b6c6595cd457f6f429"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-pushkit" +version = "12.2.1" +description = "Wrappers for the framework PushKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"19.0\"" +files = [ + {file = "pyobjc_framework_pushkit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5a3ff3f2a069da35d90f01618616de39d95a392d09db3f91416f54802e8942b9"}, + {file = "pyobjc_framework_pushkit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:49262afcec0cedd434cd3d5215d343bead702706115ea00892f776777aef2cc1"}, + {file = "pyobjc_framework_pushkit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:675f65d1ce111debdd3e371a6e50296ef9345d8123311c658f16f3e9bf8cb106"}, + {file = "pyobjc_framework_pushkit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c3feb1c38ccde8e24548e5a5032d5adc2cb354f1aaa0c7ebed6babd2fdb86cda"}, + {file = "pyobjc_framework_pushkit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:9dd060c626f17365803f5dbffe0ceb3062e3710886ee9a7c887f3f70b3285802"}, + {file = "pyobjc_framework_pushkit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8ff35a63097b6b7268cadc7cf7754f5d966296847e0b084a8aa9716f86d05cbc"}, + {file = "pyobjc_framework_pushkit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:53928c675b70e71f2e68cb7732e7cf114c1f17ef80bcdb0fdf8060e69ca7239d"}, + {file = "pyobjc_framework_pushkit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:60457988a79883028b3ca5f6e8cebc7051f553f34e98ed16c8a1885d01c46de6"}, + {file = "pyobjc_framework_pushkit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:92413a410fb59f8e6b2c7a3c2c4b35721c2245fe4d5afe94cf5c7db065372916"}, + {file = "pyobjc_framework_pushkit-12.2.1.tar.gz", hash = "sha256:12800cf33aadfdda5df3e487d4ce3d8a79a2a0efcebbd5b1e11a1ff8a1a4067c"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-quartz" +version = "12.2.1" +description = "Wrappers for the Quartz frameworks on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_quartz-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c8fed57ac8a1927e4fe4f48ab4042cbc1087d881743182b6f3f2e6e227a9209f"}, + {file = "pyobjc_framework_quartz-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:60f29408b4f9ed5391a29c6b63e2aa56ddfb8b66b3fb47962930427981e14462"}, + {file = "pyobjc_framework_quartz-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:de9c8cca7e95290c8d540466af11c7cdfe3a5458e6f56c34006d5b45243f9ed9"}, + {file = "pyobjc_framework_quartz-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:54c9bc7f507192691841ee4eba5bf36990b259df83ac728efed2d7ea1cd021e4"}, + {file = "pyobjc_framework_quartz-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:bfc0d2badd819823d21df8069dcf9544ce360ed747a8895c51bdb25d8d125f45"}, + {file = "pyobjc_framework_quartz-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:ceb56939c337b36d9d81185ade31f77dc52c85cf79bb16e53e9b32f54b6bb3f5"}, + {file = "pyobjc_framework_quartz-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:8105c98b798f2bf81c05c54bddeeadbf62f0b5dfec13bd6e719dd2cdf7e1cddf"}, + {file = "pyobjc_framework_quartz-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:bbc214f1a216b5d3651bc832d0ac4589f029f3f37cd6cbb370aac12a7c77942c"}, + {file = "pyobjc_framework_quartz-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:ca61624a0b0e6286d8a0f97f47eb9011e4e81e9a339db436d48af527e7065bb1"}, + {file = "pyobjc_framework_quartz-12.2.1.tar.gz", hash = "sha256:b3b8b6f71e66147f8ff9e6213864cc8527e3a0b1ee90835b93ce221f4802d9b0"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-quicklookthumbnailing" +version = "12.2.1" +description = "Wrappers for the framework QuickLookThumbnailing on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"19.0\"" +files = [ + {file = "pyobjc_framework_quicklookthumbnailing-12.2.1-py2.py3-none-any.whl", hash = "sha256:747a99db601e0a7ca48fbd32909c803f47211adc194a4c41a5b5430738b3464c"}, + {file = "pyobjc_framework_quicklookthumbnailing-12.2.1.tar.gz", hash = "sha256:1b348b674569b8df40ef6acebbcdc4e7e8b347b0a437c824b35a6d6f91acc398"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-Quartz = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-replaykit" +version = "12.2.1" +description = "Wrappers for the framework ReplayKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"20.0\"" +files = [ + {file = "pyobjc_framework_replaykit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:80b1bf299ba875e41bb83a44d3d4cbc65628ca6ccd5070bdfacc47b64866b03e"}, + {file = "pyobjc_framework_replaykit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:07b4c27d67dec0dc68b0a352810d80fd95bd474a940bd0304ac182d39f9df664"}, + {file = "pyobjc_framework_replaykit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:b682657b641df5a78195a8f8a7abc6be04aa445dfb73814c96a12d3f252fa5d8"}, + {file = "pyobjc_framework_replaykit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:18d5cbdc48436f5f612f37163ab2315518220f88aae39d81c7fd1460da8ad510"}, + {file = "pyobjc_framework_replaykit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:daaca45e9b94b2cdf6f76ecfdcccb51faf5342cbf8d7a4741ef361406376740e"}, + {file = "pyobjc_framework_replaykit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:70c68b9394ff0aa4c9bff16ce13fdef81bf778b07d85e6f01d8a39945d7d320c"}, + {file = "pyobjc_framework_replaykit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:efaa9d6285774d69469b00fac76bed50cd3e300d46388329a67fffb5bbc745d8"}, + {file = "pyobjc_framework_replaykit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:d48c5467c5b71d038b00e04106576741da6a38894b9bbb4e1f5b58f4116b7683"}, + {file = "pyobjc_framework_replaykit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:0ea6641401a45197b6f5397f45009f504e15ce03c719c4455c38def2f915d86f"}, + {file = "pyobjc_framework_replaykit-12.2.1.tar.gz", hash = "sha256:c5a712ff52ab58c58a53a27e47dba2d3823b13f2587a395855e9c4f0510af6a1"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-safariservices" +version = "12.2.1" +description = "Wrappers for the framework SafariServices on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"16.0\"" +files = [ + {file = "pyobjc_framework_safariservices-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ed805cebe27ee36efa02ea0b6b348d13f1357109bea09ad57e8e5b286e739280"}, + {file = "pyobjc_framework_safariservices-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:491a02a10332bffd2a081d52e3bb788819d411433ef03103cea144390025f56b"}, + {file = "pyobjc_framework_safariservices-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:46779f1c6a53fe561bafb95379a7bb66535938e622a23b8308f4125f443fa81a"}, + {file = "pyobjc_framework_safariservices-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:210ae2a93175fff88ccbc6c50a58ff981158a2d6bfe4edaa1880aa2fc5f4ccc4"}, + {file = "pyobjc_framework_safariservices-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:98dfc05920eff91fa5db9cc64cf764be8b588ae179ecf33985fa7a9f81e044ba"}, + {file = "pyobjc_framework_safariservices-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:2dbf52cd5c33e04b65f48891dbb1627612bb23e381d91161dcd53dc76d31e70d"}, + {file = "pyobjc_framework_safariservices-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:05591b89870f2fbe77c57185eec3b21f08583193628e00c88b7173ba35a6c965"}, + {file = "pyobjc_framework_safariservices-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:d852eaa503a9031f5232418b38dc439013eeccd77131e3fddccf9e580be5214a"}, + {file = "pyobjc_framework_safariservices-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:53b7d50145705b7de5e19f44185a7f20f716921be2f7ed2cecc000cd773c16c8"}, + {file = "pyobjc_framework_safariservices-12.2.1.tar.gz", hash = "sha256:5da28790b389efa21a33d2d48d3322dc3670077ec9c8af9054824d42153e0298"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-safetykit" +version = "12.2.1" +description = "Wrappers for the framework SafetyKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"22.0\"" +files = [ + {file = "pyobjc_framework_safetykit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:100089568da4e674ef1f4bbd17ca09af29a408ca9642c482052fefa12b7448b0"}, + {file = "pyobjc_framework_safetykit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9cee8656c9c2867f4d972efde8dfaf308176fdd881f807b49b616d37a58daf8d"}, + {file = "pyobjc_framework_safetykit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f5e757c9565d104c442b81babcbc4998daf0326b14d928dfae42c5459580a309"}, + {file = "pyobjc_framework_safetykit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:eb272c4f8304fc2c8db9652020b01f2a6026c91fca59072189264d03894293fb"}, + {file = "pyobjc_framework_safetykit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:0122066ee790375e97ef888af8134c13f00c3b890d44769c6c74f3b126438506"}, + {file = "pyobjc_framework_safetykit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:052e4ca43b48856e32876c433c38590e6e668bd72bdfc820772b76188bad80e5"}, + {file = "pyobjc_framework_safetykit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:7f048af0941796ef80627b88c1411b376ff9c0217ebac402422e1f3fe3a0b644"}, + {file = "pyobjc_framework_safetykit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:152d800a3b3755f45330582158e198edd6809be026b6e78aa1a858095edd3f69"}, + {file = "pyobjc_framework_safetykit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:dc1e4b65e87d6501c571752550d248853918f4141faf1d3c9e6dc41aca1b0862"}, + {file = "pyobjc_framework_safetykit-12.2.1.tar.gz", hash = "sha256:33defe7e4155dff6abf0a2990bb2a918447b9339199ca92c2f3f219d48189ebf"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-Quartz = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-scenekit" +version = "12.2.1" +description = "Wrappers for the framework SceneKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"11.0\"" +files = [ + {file = "pyobjc_framework_scenekit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c2d9e91b9d7cf4ca61f56188dba88a2c0dee7e5137fda34a9c0f94cf9494f3a0"}, + {file = "pyobjc_framework_scenekit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:41d1c000f2cce780fdc18419aad0b1cdad50f49317b38dedf9219ce5bcc5a659"}, + {file = "pyobjc_framework_scenekit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a79aabfbbaba44098e5cfaec2f87ae3d04a31f1e250283dcf7ab08cadceed1ab"}, + {file = "pyobjc_framework_scenekit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6de30a01c643892bc1fa5f3254c17351ec9c72c7ab9af9c895290e8191dc057d"}, + {file = "pyobjc_framework_scenekit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:6cb7213c8f9c5d3a111b3850082f545001fbcea6173606e0986354350c83cbaa"}, + {file = "pyobjc_framework_scenekit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:fd6c2b0b56a2487c7ea8f5e18cedeeef04e3c28b8fdd54917e8b8df45306d0c6"}, + {file = "pyobjc_framework_scenekit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:9e840a4b48bae1a135cbdce82f81ce1187ffd23e7eb2ffdfc84a2db5cb758fe2"}, + {file = "pyobjc_framework_scenekit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:80b5768e346e5e2f9489a8851c0e867b4a8258092c2574e892993825763d3b4c"}, + {file = "pyobjc_framework_scenekit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:cc7769ebcfa1cc17f3046220d2a06927d2429a5f40ccf66bcdfe2c23868ca8ed"}, + {file = "pyobjc_framework_scenekit-12.2.1.tar.gz", hash = "sha256:9f5939ecdfa9c13347f6ab61173ba5eb386766cfebd82200fe7173f70aa34083"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-Quartz = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-screencapturekit" +version = "12.2.1" +description = "Wrappers for the framework ScreenCaptureKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"21.4\"" +files = [ + {file = "pyobjc_framework_screencapturekit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:18b6770aec984fb129fb1aa10d5d05cc43014b2a475f11302cb0df90a2910b27"}, + {file = "pyobjc_framework_screencapturekit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d9be9def5875e800581dade26b45ef66c735c12ceb4a17c5457bebac159903d9"}, + {file = "pyobjc_framework_screencapturekit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:407dfcd80e493d11ce54163d4cc973119f6a507cd695875f4cdbfde6f2db42d8"}, + {file = "pyobjc_framework_screencapturekit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d23bc1d0ac0068f328a97c1ed95d611cb2b8517c76345ddbbd21e5e8bc85a898"}, + {file = "pyobjc_framework_screencapturekit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:3269ee9ecc1cde271cffb1e763672469b70375fb6aff00394a0387cc622070ae"}, + {file = "pyobjc_framework_screencapturekit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:fd1cc27066b907726389bde47aca1afd27c2af13c4eb88b40f3b813082987e01"}, + {file = "pyobjc_framework_screencapturekit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:9d4493a95a5eca7b8d5287fda6b2614a1d62def22b24f01eb743fc371c018ae6"}, + {file = "pyobjc_framework_screencapturekit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:9f6041f81a7a9b4da29fb4ab1cd6912447ccf557cfdea294db3754898895d6b2"}, + {file = "pyobjc_framework_screencapturekit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:075f1faf3fb6239b104b2ef6f78f9bf5b0bac062aa48c560c9abfeb629282196"}, + {file = "pyobjc_framework_screencapturekit-12.2.1.tar.gz", hash = "sha256:e419cbf9c2f9cbd172d1c6e5bc69a44e0a7d9e45cf43058d48eeda4f785ce860"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-CoreMedia = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-screensaver" +version = "12.2.1" +description = "Wrappers for the framework ScreenSaver on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_screensaver-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0c14ff3556e67ef4cb0f665ec9a5fe0d17cb39d112938dd105e18ba98caef40f"}, + {file = "pyobjc_framework_screensaver-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:be8df2ca5d4765d2d64f0c130f0a1d9a748c6d965e8a0b45fed2ff12681682aa"}, + {file = "pyobjc_framework_screensaver-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8f43926bc686453af7798f460144beaaaea09ffc296bf20d1b38c9e420f94b4d"}, + {file = "pyobjc_framework_screensaver-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7535dec51e71d41bbbf2100f49b26f8539e34fb34ec9943d7f075b8ebd46b26b"}, + {file = "pyobjc_framework_screensaver-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:3fe3232d9aebf919ca2413c373f96915e55b904a1ad362091e79d142e634841f"}, + {file = "pyobjc_framework_screensaver-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:367b252aefba2856d51d6b7e899770a8c4fff5bee6cc5487eab03f317e1b5383"}, + {file = "pyobjc_framework_screensaver-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:e0311a13bc1408c1fc9d62e2f905aa5809ecbdee67fa8e5381c86364e012163f"}, + {file = "pyobjc_framework_screensaver-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:8f9769b5e5384bc812c87aa4346766f34408ec8f5ae94e0c8e14202a71f90f7f"}, + {file = "pyobjc_framework_screensaver-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:45c2943314245929e306bd38a8ff92dbb18a6a7c5326b0e10004555fc1f86a00"}, + {file = "pyobjc_framework_screensaver-12.2.1.tar.gz", hash = "sha256:15eba02075a065283e763c8087b9c6fa565907c95e0575a383c1a6ef4c9b1868"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-screentime" +version = "12.2.1" +description = "Wrappers for the framework ScreenTime on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"20.0\"" +files = [ + {file = "pyobjc_framework_screentime-12.2.1-py2.py3-none-any.whl", hash = "sha256:b252234f5f1e01d6f3dbfde44a6019169100c2337f24b65694ffdd6ddfaa3c4d"}, + {file = "pyobjc_framework_screentime-12.2.1.tar.gz", hash = "sha256:c97e700995c03183a1a73f2eaaf90f5ed66d68e8c2e40ff7ed2fddbc77ff7b2f"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-scriptingbridge" +version = "12.2.1" +description = "Wrappers for the framework ScriptingBridge on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"9.0\"" +files = [ + {file = "pyobjc_framework_scriptingbridge-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cbdd7fa533c9046b0040d2c56a7e9f05fdfb0713365a7157e1e5b5d2bf201eb8"}, + {file = "pyobjc_framework_scriptingbridge-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fbf6c59d27ee1b03ae14cdc3fb7330c2d5cc1a2cebbc438744550131b3e6f168"}, + {file = "pyobjc_framework_scriptingbridge-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:89153d5bbf44b2ab5a63b646712ecb86b1a64606c3082934ec5c6be4c8a192b4"}, + {file = "pyobjc_framework_scriptingbridge-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:093ae30d045bd5348bed5fb34c826565d0d385305fb75159b46fc2bc1d7d226d"}, + {file = "pyobjc_framework_scriptingbridge-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:2b620a2c3eccc446c21be0d93a343cdf709b1c300ccc8e83a4c0a7ba0c30e90b"}, + {file = "pyobjc_framework_scriptingbridge-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:57ed9cb870ed86a7a8bd42f1b418bbfeb5886c09a448429f190ea4bedd18bd38"}, + {file = "pyobjc_framework_scriptingbridge-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:a0899b94bb908ac9bd0dcf1feaea545d1477ce7bcd6d6665e7dbb551a75c7339"}, + {file = "pyobjc_framework_scriptingbridge-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:526bc671d9a3a401d3d310376f05503ae7f1381eb7ef1a274af90a8b6514e209"}, + {file = "pyobjc_framework_scriptingbridge-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:776afb47d013841b66c28c065a80863918b1530420db62db8e852247b2e0148d"}, + {file = "pyobjc_framework_scriptingbridge-12.2.1.tar.gz", hash = "sha256:779b2238b33b61fb9ab4fc71d080e42ef7e27562506f5ca9d783effc4c769a5e"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-searchkit" +version = "12.2.1" +description = "Wrappers for the framework SearchKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_searchkit-12.2.1-py2.py3-none-any.whl", hash = "sha256:936e41880d48da6742128bc900de37d14771e718087719589d589e858aa2ea60"}, + {file = "pyobjc_framework_searchkit-12.2.1.tar.gz", hash = "sha256:1fe1ceb2db1d8c86f75484dd9f88ac39dd3d2cffba250498ba0e2312435214cf"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-CoreServices = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-security" +version = "12.2.1" +description = "Wrappers for the framework Security on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_security-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b490fb0d46275f165b1214785fec732bc7b8e06c99b6ba045382404d44400d9c"}, + {file = "pyobjc_framework_security-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ce461296b003b2ba17c8b65f6339f9d2fd5dcfa2b3b52ddc0a696334cc8974c5"}, + {file = "pyobjc_framework_security-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:76ff6e44e62d3e15651540493879bf16687d862c4f10f3cadade757811c8b8d0"}, + {file = "pyobjc_framework_security-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:990013baba29d6f985d8950b23701129b2597b3d16f628b785fe97596d8a8de3"}, + {file = "pyobjc_framework_security-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:066a3e5e9d368e7a6ba8dd52be2077a634ef12a54fbfcc78b3b8154a8f988a1d"}, + {file = "pyobjc_framework_security-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:5319ae49b8874363ab51c6ff4d85d4ea0cfa6d836fe0306e901ba9ae560b880d"}, + {file = "pyobjc_framework_security-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:21618431e0dbfbd3d4029445e3118af88e5d7e52ddecf9a2d17c759c51628d85"}, + {file = "pyobjc_framework_security-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:fa192e9df479375e6242adcadb9a44f32907dd7fe1207608710cd3af65fe3c84"}, + {file = "pyobjc_framework_security-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:07cd044a7996f9a897040c49055fa3bdf565acac4a25b834a72e60602376146d"}, + {file = "pyobjc_framework_security-12.2.1.tar.gz", hash = "sha256:d7831b1537f4346892e7f2f0e2b09d79bee98919b0767f4061278d0e03028f2d"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-securityfoundation" +version = "12.2.1" +description = "Wrappers for the framework SecurityFoundation on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_securityfoundation-12.2.1-py2.py3-none-any.whl", hash = "sha256:4f3f52573805977e94f3b50af27cacbe2abdd05fd96fac4be746685e523e1e85"}, + {file = "pyobjc_framework_securityfoundation-12.2.1.tar.gz", hash = "sha256:b10f7c6f2fea27f105e69e0ef455df10e911748a4a414aff74f9dede48dd2cd3"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-Security = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-securityinterface" +version = "12.2.1" +description = "Wrappers for the framework SecurityInterface on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_securityinterface-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5ce92f1143c5a055cc952a21edd69c478fe26c16f1f68b312e336de0c08d0e2e"}, + {file = "pyobjc_framework_securityinterface-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:db17172727a7799a38076b759c824b81ab5c2c4f49b8b71f4d6bba25f9697a7c"}, + {file = "pyobjc_framework_securityinterface-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e15228ac342d553464f990435e81ee67c4f2fa5cca99388933cee72fd8764193"}, + {file = "pyobjc_framework_securityinterface-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:9b93c778e431c0290b0eaeefdd0e9f502a5defa172a82710d697537a4ff8db7c"}, + {file = "pyobjc_framework_securityinterface-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:1bc4a9c50583bebc061b734e382389a50bd62ad5fdaadeb8585024278b96dea9"}, + {file = "pyobjc_framework_securityinterface-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:b427588d565fc4af5717e9ee2a017d01b6d8c22ba0b68799e2fe5001215db179"}, + {file = "pyobjc_framework_securityinterface-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0351cf5555cb4d7d2c04a4cd8047611d76b015c254259832adf8cd416e3efec6"}, + {file = "pyobjc_framework_securityinterface-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:9970c0cfdf9d07335c9a6dc123893e430a9184e84e258e68878730ed9e47366a"}, + {file = "pyobjc_framework_securityinterface-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:258b237ec6f2efa13ea7518491c0d5d48092ad5c5cbfa9274a45ac303859339a"}, + {file = "pyobjc_framework_securityinterface-12.2.1.tar.gz", hash = "sha256:08e58cc05741e8515f157854831063261a7247497c996a120f90148b8aa78842"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-Security = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-securityui" +version = "12.2.1" +description = "Wrappers for the framework SecurityUI on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"24.4\"" +files = [ + {file = "pyobjc_framework_securityui-12.2.1-py2.py3-none-any.whl", hash = "sha256:e1e0d9ff4671aff464b7af48b1e10bf9aeeffc1ee40c91fd1ac301ab19d87e45"}, + {file = "pyobjc_framework_securityui-12.2.1.tar.gz", hash = "sha256:87b07746fb9ca7634c3c74f89bf6ab90dffbfe0c0ffb89551aefce0e35353a50"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-Security = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-sensitivecontentanalysis" +version = "12.2.1" +description = "Wrappers for the framework SensitiveContentAnalysis on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"23.0\"" +files = [ + {file = "pyobjc_framework_sensitivecontentanalysis-12.2.1-py2.py3-none-any.whl", hash = "sha256:918c362c11673308191a9d94c2c59a368d4cc39e354694e1da5c99b3609cb47c"}, + {file = "pyobjc_framework_sensitivecontentanalysis-12.2.1.tar.gz", hash = "sha256:e958e4333b72e7bd93a32be6c3118c50be8e98de6ca7a41bbf076a712ab2ca21"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-Quartz = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-servicemanagement" +version = "12.2.1" +description = "Wrappers for the framework ServiceManagement on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"10.0\"" +files = [ + {file = "pyobjc_framework_servicemanagement-12.2.1-py2.py3-none-any.whl", hash = "sha256:8c84c82a09bf00046ef2d43f910204cd362fd1eceb706176c30d079ee208f2ed"}, + {file = "pyobjc_framework_servicemanagement-12.2.1.tar.gz", hash = "sha256:99ceee681fea1e57246d33acbe199100f2e35a09cac97ae1c271e34073c28763"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-sharedwithyou" +version = "12.2.1" +description = "Wrappers for the framework SharedWithYou on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"22.0\"" +files = [ + {file = "pyobjc_framework_sharedwithyou-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:01ff5c2a9600248fe9bd911ef43668d5c571be43595d1da7b375c2503a3e4999"}, + {file = "pyobjc_framework_sharedwithyou-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6bd370918c4cedff2a2f6e15e22f6184e5431bd4624b0d270d6e518b6ffec8df"}, + {file = "pyobjc_framework_sharedwithyou-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:32188fc96282ba4d3686587d200d5c0304ec3e0cd5cfbb8d0bdadc5ab1fcb300"}, + {file = "pyobjc_framework_sharedwithyou-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:927a95d78693f2b2323dbc117d1fcf638612cbfb19d2fd0f6077c19c22eb92cd"}, + {file = "pyobjc_framework_sharedwithyou-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:46d20007e80717f04506a7afee2b6bdcc5ca50a345d7a26fd3f0cd7d97e5cba0"}, + {file = "pyobjc_framework_sharedwithyou-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:60c29e58e6cf6d760a337c6ae76186ae3fbe1dcec4877cf8c6b2827bcdd40836"}, + {file = "pyobjc_framework_sharedwithyou-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:52470d61f146dd5783a8a69acdb114fe8e7dee4e7d6853ae214460ccee11e485"}, + {file = "pyobjc_framework_sharedwithyou-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:f56137c9a1b53a69b76061c7cfe0f8739b5c42140891a326fd68b7d1e2be702a"}, + {file = "pyobjc_framework_sharedwithyou-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:52d02b2188c9009946c3dbdb65db0b032a9a1546448c7f761f5be14d84250abe"}, + {file = "pyobjc_framework_sharedwithyou-12.2.1.tar.gz", hash = "sha256:b1908b9822244ea31d4d546118389c69687982e5fa67bc72cbf1a9e09f1f84b3"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-SharedWithYouCore = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-sharedwithyoucore" +version = "12.2.1" +description = "Wrappers for the framework SharedWithYouCore on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"22.0\"" +files = [ + {file = "pyobjc_framework_sharedwithyoucore-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c717b1c6208ed38ba4c190e3f3098c0817318f348029a7e51ad1a424e965e213"}, + {file = "pyobjc_framework_sharedwithyoucore-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ac0e9812f970bba7f4db5c6332c9282c1b32456dadc2c88c82165712af341b5d"}, + {file = "pyobjc_framework_sharedwithyoucore-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:26d3c00be64f9e422be6a902dd2e95532c7ef4e6149ef756dfc2811a71a1c6e6"}, + {file = "pyobjc_framework_sharedwithyoucore-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:25d42419c12d964bcadce37a4cc2e3825d5227bd1bf00767902a702136bdc1c4"}, + {file = "pyobjc_framework_sharedwithyoucore-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:c6ca2669c6c7d1a061acbf0c12c55aac3848a43d580b9aa96ffea69d36985086"}, + {file = "pyobjc_framework_sharedwithyoucore-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:803748c78c9b062cd0aba8205be6c178ce6fa2eb227d9ac3bf26b484cd2f4517"}, + {file = "pyobjc_framework_sharedwithyoucore-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:f991c7b52cdc831244ab49f76ec20fd331a561f364aa33ceadebc684e7fac7da"}, + {file = "pyobjc_framework_sharedwithyoucore-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:f5544a515a902b796a22272fabe83a3fd39256de9cf243d90cfb7c02ec9e3f7d"}, + {file = "pyobjc_framework_sharedwithyoucore-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:0defd143c6633a4032e705a77c9c340bd11d5581bdc098e43455c35ea7c43e16"}, + {file = "pyobjc_framework_sharedwithyoucore-12.2.1.tar.gz", hash = "sha256:b8a4d2d79702756d9fffc5e17f83b45d52c469579acde873a487842ac334384c"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-shazamkit" +version = "12.2.1" +description = "Wrappers for the framework ShazamKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"21.0\"" +files = [ + {file = "pyobjc_framework_shazamkit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ef75dc67147b9bb6f783ca34fa2e15c9fee3cedbf27175f84f8355332c747fcf"}, + {file = "pyobjc_framework_shazamkit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:cafe6fdaa478611ddbea6be8fe01373bf65b57f54bc6ca7f8a5580b2f75ca7c9"}, + {file = "pyobjc_framework_shazamkit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ee31a56ae4d15401e10f79fa07f7f79c5cc747afa9a5ce581654f82ee5b3c6d9"}, + {file = "pyobjc_framework_shazamkit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6b5fcc07180a2fb5a1cef0f38cbdb24caa869e423f612116bc67135dee59b44d"}, + {file = "pyobjc_framework_shazamkit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:0ccde3a967120d3285fcc40d48f34f345bc6f0b4accb4ff64799535030bc3e3a"}, + {file = "pyobjc_framework_shazamkit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:2d7a35d6e66e99b44810a3045c1922d3feaedaef546ccaf930c44312c1b83d3f"}, + {file = "pyobjc_framework_shazamkit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:450bebfde1979e6776ca880c1765d9b9a2b08c4433301cff256bf20944541de4"}, + {file = "pyobjc_framework_shazamkit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:449d63cd4403963d3d1cdd6e56bea738367fc85bd8c3f861f81caaba05ca677a"}, + {file = "pyobjc_framework_shazamkit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:e429463fe172944232e95a6e2e7a22aacf09885423928574e868c5a0b20d7fe3"}, + {file = "pyobjc_framework_shazamkit-12.2.1.tar.gz", hash = "sha256:4cfa9325e381e8b365b2d4725b9165a5e52f7986f28dcf23c3e7f0bd3bddf3aa"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-social" +version = "12.2.1" +description = "Wrappers for the framework Social on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"12.0\"" +files = [ + {file = "pyobjc_framework_social-12.2.1-py2.py3-none-any.whl", hash = "sha256:3d76bce48e3eced0683096a8f8d32ba233c44db8cb9469f881a783932f29c2f5"}, + {file = "pyobjc_framework_social-12.2.1.tar.gz", hash = "sha256:c2877c7ddbed8f3ea17065687725df57243d25b64beb3b885e8a18482c24bf7f"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-soundanalysis" +version = "12.2.1" +description = "Wrappers for the framework SoundAnalysis on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"19.0\"" +files = [ + {file = "pyobjc_framework_soundanalysis-12.2.1-py2.py3-none-any.whl", hash = "sha256:4385f492320a304bf64ca772e4a5b29d796f0fc160ff764ed060ac1456aa3cdc"}, + {file = "pyobjc_framework_soundanalysis-12.2.1.tar.gz", hash = "sha256:d17bdea63c2b910c2046ba43383b29b82d594a37feee4431d45b55adc08a3882"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-speech" +version = "12.2.1" +description = "Wrappers for the framework Speech on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"19.0\"" +files = [ + {file = "pyobjc_framework_speech-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6122a5d8911b87ddc5228073224f4fabd87fb569d78b481689951f4a644aec13"}, + {file = "pyobjc_framework_speech-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:481ab813439be28ae7b93dd9de4d5a52e5d7351954f1555489b3bdb635dd8243"}, + {file = "pyobjc_framework_speech-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:20e70519b54b09ca3ded0bf4b19dace1d39847caebebebdc4381f127dc58f33c"}, + {file = "pyobjc_framework_speech-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:774d6d07193fb49ffbc5c39447eafca21ca5b2058ae41f79af876aa6cce5d726"}, + {file = "pyobjc_framework_speech-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:f425a3a11c282dfbcb0b3f3e218f5f155232c94406b31ec395c40aa9e309a0e0"}, + {file = "pyobjc_framework_speech-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:64d44383fb9fac20f457e902e1ea4b680c871ffb9b3e88862c482dcd59da7df7"}, + {file = "pyobjc_framework_speech-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:e646d8c781baf531e5943c2376c92ffeeb0a8bdf4f48d93f88e59b5033d12b55"}, + {file = "pyobjc_framework_speech-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:6ef705bf457651ee3c0089a3c4a0a14d6241189f51a3255fee0424caccb9d9f5"}, + {file = "pyobjc_framework_speech-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:1f62eefa6b576f6cf0d558a6e9ee5a1e9f99c973f3bb0c5521a5d7a356db9e0c"}, + {file = "pyobjc_framework_speech-12.2.1.tar.gz", hash = "sha256:77e01c6e92b34e3bb47dc5b0c43a59cb7941a7eb6ce595ca3de3a686a5df21fa"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-spritekit" +version = "12.2.1" +description = "Wrappers for the framework SpriteKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"13.0\"" +files = [ + {file = "pyobjc_framework_spritekit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6719c153b800f3e0731de21969e84ec0c806bb0379d9b3aa959cf3af5a9de5d8"}, + {file = "pyobjc_framework_spritekit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a1744c4f79b33274c4957d609e8ff87a3c2920105222f4a38e6df870f5e8bc9b"}, + {file = "pyobjc_framework_spritekit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:182326b96722731536018564a890fce1b6cd9860d5fde3e0c2dfe31c3108f7fd"}, + {file = "pyobjc_framework_spritekit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ee809a16cb549197f124240d1387e0da8ad9dee9bd853ab302fd8538de2cc381"}, + {file = "pyobjc_framework_spritekit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:780d80b09c3a5f368efd5d567291bdf52cc07da079e75260776904ff4c5bac17"}, + {file = "pyobjc_framework_spritekit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:a72410b7e9e4e1363f69dbcf1f2a0055275c7a3d205f707d5d29fa2406f39211"}, + {file = "pyobjc_framework_spritekit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:79310eb2221dadcb5e0e8dae31f28f4d8f78cef73cebd7403220b82702ccb781"}, + {file = "pyobjc_framework_spritekit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:3dc6f3f7db1b971175416481bf9b20d0f39be0a6266c04ed3a999e4755453256"}, + {file = "pyobjc_framework_spritekit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:22d2e8218bd59e05d37c2e0faa0f67711a3a1f0f78e3a1f31680c0587d2cb622"}, + {file = "pyobjc_framework_spritekit-12.2.1.tar.gz", hash = "sha256:989a25cb2e9d45ecb97655f55464e44a342eb525a891e46a563aae27c683eac0"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-Quartz = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-storekit" +version = "12.2.1" +description = "Wrappers for the framework StoreKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"11.0\"" +files = [ + {file = "pyobjc_framework_storekit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4b45699dde6a7675a624766397f1ec4782a59ac5365d385c53ab1b835fe4dc29"}, + {file = "pyobjc_framework_storekit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b90d2187290f6bb4b943a313b7c2adfd4865c11c8173781e6d48c01154b6d9d1"}, + {file = "pyobjc_framework_storekit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:4394366c2d4442c41faadaa030202f4b8a6272b8ec25828a04504f5b40179b6e"}, + {file = "pyobjc_framework_storekit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:3dab34b774ae217dfff0bc636925cd39c072300aed322e107936f15b9c2184ca"}, + {file = "pyobjc_framework_storekit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:11a40b897ef4d042079daf2fc4d05fe910d6fc737fdf15d3873875721fcea69a"}, + {file = "pyobjc_framework_storekit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:0d398dd266a050944b7f3b3762820377edd7f4043829ea1be932a3b30896e72e"}, + {file = "pyobjc_framework_storekit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:8b4851593b80482e74dfd1c189b5140a79659069fae54aa3c505aaa859114e33"}, + {file = "pyobjc_framework_storekit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:0a958caa5905c3e2de270b09a75cb012a22499943df494cc899fb36b5541a28b"}, + {file = "pyobjc_framework_storekit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:ff6b0cd7ed194b248f1d4db50073b85fb6c67574183ae31c9261d94218c8881b"}, + {file = "pyobjc_framework_storekit-12.2.1.tar.gz", hash = "sha256:5d3b306f08810c485a4bd184bc6e45cc92eaf4cb6d4b88bf701bcb854ab66f59"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-symbols" +version = "12.2.1" +description = "Wrappers for the framework Symbols on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"23.0\"" +files = [ + {file = "pyobjc_framework_symbols-12.2.1-py2.py3-none-any.whl", hash = "sha256:95199cb08207680ee36bcfdc4cab5d4c5eaa0ae81e01b1a752066effa6c9b039"}, + {file = "pyobjc_framework_symbols-12.2.1.tar.gz", hash = "sha256:c15d32ae7c94e0e95fd83bc2099437a70671b79d0f438a1b0cd1f3eb2cc6f365"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-syncservices" +version = "12.2.1" +description = "Wrappers for the framework SyncServices on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_syncservices-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:83f1c2c8688f33cf368dd6557755cab1a73d94cc4f916339d7419b492c144309"}, + {file = "pyobjc_framework_syncservices-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c4e2f5e4d2c72c6f4247bd8497a450a09652f84f6990a3ef089345f9a2475134"}, + {file = "pyobjc_framework_syncservices-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:4cdce34f17d978f349e22dd6604a46bc01c25cd23142b856c393ffd28d6e687a"}, + {file = "pyobjc_framework_syncservices-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:4a569b68068163df043146b999b606e431b6cb4de4ccd24861031321fa442eda"}, + {file = "pyobjc_framework_syncservices-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:8ade4390f80e4b8d9f94610a3310d1c4cadc195e7db09a9702bec39bd8a0aa8b"}, + {file = "pyobjc_framework_syncservices-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:5aa55b01b440d9c2d3ac55c676b5a8e512d1adab43aec1012c3d0756f415de07"}, + {file = "pyobjc_framework_syncservices-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:dc0a3bfc317930edde03f76fd776d9aba548a911bd870b8a0b272091d2d3e852"}, + {file = "pyobjc_framework_syncservices-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:5bc5b8981b29e45af0ec68040dc6313678217e83b556c6c7fd1b26e68e02f2d3"}, + {file = "pyobjc_framework_syncservices-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:b10b47d7242b8db20230da090b72b6fe688d513b0ec0d47bb3abff1bcf6b61b5"}, + {file = "pyobjc_framework_syncservices-12.2.1.tar.gz", hash = "sha256:c351286f14d257e20f8305665825fd73f108c8f0d787e4643818dee5debb3511"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-CoreData = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-systemconfiguration" +version = "12.2.1" +description = "Wrappers for the framework SystemConfiguration on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_systemconfiguration-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cbac365c8ec5aefb12cb12f75a3d756d769104bd68029f933ced056ae5d8f0c9"}, + {file = "pyobjc_framework_systemconfiguration-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:df9a278948483d40d56a780a99e692b9bdeb2be6279f8f59c96fbd31f620eb72"}, + {file = "pyobjc_framework_systemconfiguration-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9671060ab587eaf485eb8e1d6b328d664ba4a210c4ebffbf7dd2705d741bf90a"}, + {file = "pyobjc_framework_systemconfiguration-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:06e93a97364681543592bff38f801e2942eb272d68101ccbf3278a8fa043c645"}, + {file = "pyobjc_framework_systemconfiguration-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:e3aa4706f81d8334c717d44567314ebbdf03e62259ede99a89f4703789c212a2"}, + {file = "pyobjc_framework_systemconfiguration-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:c1327154369fd07dd0b9f02a4fd65068c531ffa99f8e0efbab51f03446750f33"}, + {file = "pyobjc_framework_systemconfiguration-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:2573755bdc6480470d2cf2cb24c529371bcc3658953ba0efa87e0a6af5b68144"}, + {file = "pyobjc_framework_systemconfiguration-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:150e1b5f35c4badf34b98c56aacc128f631d5084857c86ccccfb4d78e35a7257"}, + {file = "pyobjc_framework_systemconfiguration-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:a1ac9972a24e8900bd09313afe3550579a3e7ef643766f38da2f965e0d9c7e1f"}, + {file = "pyobjc_framework_systemconfiguration-12.2.1.tar.gz", hash = "sha256:877a90eafe3df72625e50d61fc9c6dbd40e8cdabab7c4101992090107bb71ddb"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-systemextensions" +version = "12.2.1" +description = "Wrappers for the framework SystemExtensions on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"19.0\"" +files = [ + {file = "pyobjc_framework_systemextensions-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1c26176274156892d59d9ab5736d818505ed862e22f998e3c3feb5e4599c3932"}, + {file = "pyobjc_framework_systemextensions-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:21d5993eee958be7f445ec2f0616c4213773cbcd9213346f4ad367037e5acba0"}, + {file = "pyobjc_framework_systemextensions-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:b871a52125eff3c6ea10b769920d64fddcbc26a58bb3759545f914cf0c5cc9fa"}, + {file = "pyobjc_framework_systemextensions-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ded8228991aedcc2b3f9d8c7a0af5f9e9cd9125af562d68817e6ce0bf8a2a713"}, + {file = "pyobjc_framework_systemextensions-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:ae954da6267be3d7bafd53ee8357c8b5d3c13dd56359a0d862b69f5cb7eea260"}, + {file = "pyobjc_framework_systemextensions-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:9231d0d14502d51e18a2ba89a4d7f2e310489b0f60e2b951887e8852880563ca"}, + {file = "pyobjc_framework_systemextensions-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:a38e9ef6f5fa5f4dbc4d1e6bae8d169f3f0301a52e14de45ad3631033daa4436"}, + {file = "pyobjc_framework_systemextensions-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:dfb2884c0fe97893c4b226dd7d95bdec43f7f8a574347a1e80280bbf87230736"}, + {file = "pyobjc_framework_systemextensions-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:1412d2c62f9df0f52160f7edafcdd608259b6c70925cdb520f45f16a46d2c685"}, + {file = "pyobjc_framework_systemextensions-12.2.1.tar.gz", hash = "sha256:4f9f6d729544acfab49fe02a4b38712112c51f07790f8d4bf7ac3bb18c334839"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-threadnetwork" +version = "12.2.1" +description = "Wrappers for the framework ThreadNetwork on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"22.0\"" +files = [ + {file = "pyobjc_framework_threadnetwork-12.2.1-py2.py3-none-any.whl", hash = "sha256:75afa29eb2884cb9c5ddf5bbc81fed7f45f168422ae897c1a791374152c9ffd0"}, + {file = "pyobjc_framework_threadnetwork-12.2.1.tar.gz", hash = "sha256:98397cf45354750c4b5a1237f6961c616d12f3ad0a570b3808a03e5d3373f64a"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-uniformtypeidentifiers" +version = "12.2.1" +description = "Wrappers for the framework UniformTypeIdentifiers on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"20.0\"" +files = [ + {file = "pyobjc_framework_uniformtypeidentifiers-12.2.1-py2.py3-none-any.whl", hash = "sha256:ea08413ad895a7dfea13670e26548bcf5b00154084cdfb5d8f96603320e77cf3"}, + {file = "pyobjc_framework_uniformtypeidentifiers-12.2.1.tar.gz", hash = "sha256:1fb89d13aa3c2df8e6d6536f6df3493fe5a6caefd2a5adebf17c5af3b29ed4a2"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-usernotifications" +version = "12.2.1" +description = "Wrappers for the framework UserNotifications on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"18.0\"" +files = [ + {file = "pyobjc_framework_usernotifications-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:46a3921f48fbe76eab33d8038f53fd791b0febab368cf3a30bcce5d2b26f47c2"}, + {file = "pyobjc_framework_usernotifications-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:74e7e7af3bd5842502ee553f4d0ec566f698195bb89ae925c91441c86a0aa5da"}, + {file = "pyobjc_framework_usernotifications-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:12fab51085e4796e04783e457d9355b805afbd1cb13bf9d207e5fb7e1a32fb36"}, + {file = "pyobjc_framework_usernotifications-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:273ef82c7ddc1701d56b586cde2615360618c1b2d17fb5c24bac77a5f02b6092"}, + {file = "pyobjc_framework_usernotifications-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:e872d65dc71bc297401819106b5e5c4b758aa38247d74284bce20e63a2bdbfa1"}, + {file = "pyobjc_framework_usernotifications-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:b43a46b4a95bdbf0d2acf1ec0d709b376c4149c618693a05745485c741ad4f28"}, + {file = "pyobjc_framework_usernotifications-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:4050919639556e63854e9965d942f928745ac346b52b0cb7acd3823b8a9af153"}, + {file = "pyobjc_framework_usernotifications-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:0811da6cf3e4b5dce91ad61888204b08281b86c889c4241309f55bcf996bce03"}, + {file = "pyobjc_framework_usernotifications-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:fc70d0f149716b8488934921a28e96716d2db7eeac4bcb1043b970c52d551613"}, + {file = "pyobjc_framework_usernotifications-12.2.1.tar.gz", hash = "sha256:64379ab6b603949ea20b7852343cbcff7403443b4876ec8ac0c03bd0f11b1b22"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-usernotificationsui" +version = "12.2.1" +description = "Wrappers for the framework UserNotificationsUI on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"20.0\"" +files = [ + {file = "pyobjc_framework_usernotificationsui-12.2.1-py2.py3-none-any.whl", hash = "sha256:25464587228e128758a1ea9d8b0abdb872d2a957d1c554d791796a39ddc0e4ce"}, + {file = "pyobjc_framework_usernotificationsui-12.2.1.tar.gz", hash = "sha256:ea6aecea828e088416aa6d14055c023cac6aa03ea0cdded8baba679ce5414cc8"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-UserNotifications = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-videosubscriberaccount" +version = "12.2.1" +description = "Wrappers for the framework VideoSubscriberAccount on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"18.0\"" +files = [ + {file = "pyobjc_framework_videosubscriberaccount-12.2.1-py2.py3-none-any.whl", hash = "sha256:ac43567833a4aa21fec81d39449d080b2cd58d6b02de76b57004067bdf37ba76"}, + {file = "pyobjc_framework_videosubscriberaccount-12.2.1.tar.gz", hash = "sha256:7af53b410d3943be09d8601bd8d50fd0e193e4e5577fdaa2f801d7f9dbc0454d"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-videotoolbox" +version = "12.2.1" +description = "Wrappers for the framework VideoToolbox on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"12.0\"" +files = [ + {file = "pyobjc_framework_videotoolbox-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e298b94093faecb68edfcf8a38ff633d9cba7f79cbdde5e9baa3607862ae8879"}, + {file = "pyobjc_framework_videotoolbox-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:eed49d96127b0a52afe88a78ee3ea28cbc39c8d274cab1c921cc64a46201b0d6"}, + {file = "pyobjc_framework_videotoolbox-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:67e03405bf7ea4790688c3937c5838dd8e1d25aa95923a7bb71ba3c49031d1af"}, + {file = "pyobjc_framework_videotoolbox-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:efead1dc80cfd7612b952e831bb1e4b3ce9b13e6e4848ee82c28fcd5eaf718d3"}, + {file = "pyobjc_framework_videotoolbox-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:45bb85a114280763e7b4b5f9f726be1b0ed97041ef3816e77fee2268211d6732"}, + {file = "pyobjc_framework_videotoolbox-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:0fb2e7be0568af5864077be2856a88121667f839e96304907b05a4b6ecd770e0"}, + {file = "pyobjc_framework_videotoolbox-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:eb0d58dc6ce118c5e8610fc76112a769a02fb6ed201e4f89c655ca1ac75218be"}, + {file = "pyobjc_framework_videotoolbox-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:37d70510fb35f85a3ef4e37047e0ed6008e78bc83728ece763efb87d2919ca75"}, + {file = "pyobjc_framework_videotoolbox-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:0339694a3caaa3a6415a5c845b812caedaecba8be9b322c17777d9e4258ff203"}, + {file = "pyobjc_framework_videotoolbox-12.2.1.tar.gz", hash = "sha256:83582abc25e55ed04f0267fa69923839d779a11da3d34ee8c93ad1a66439e48d"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-CoreMedia = ">=12.2.1" +pyobjc-framework-Quartz = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-virtualization" +version = "12.2.1" +description = "Wrappers for the framework Virtualization on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"20.0\"" +files = [ + {file = "pyobjc_framework_virtualization-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f3baa3115c38b44d12fb34ba3cf9c54e247385cb9f7e59db169bcfc970999848"}, + {file = "pyobjc_framework_virtualization-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0137793bee5c628b6f9e44a773e49e3f68f758ef5b08ce407a9910b907ee6092"}, + {file = "pyobjc_framework_virtualization-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:6c90011e2f90dd5593996cb80f9c4739bd4a12db7303086678217a08909ee045"}, + {file = "pyobjc_framework_virtualization-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ee6423823b4b851d76567e44c649493eff6cda7ada94a86942a4c706f3e22f36"}, + {file = "pyobjc_framework_virtualization-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:862c7d9c8ddb47eb086bb55271459e6107be904c526bdd3d520787a89d4e6c72"}, + {file = "pyobjc_framework_virtualization-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:047ae558051db4682f42f8d18f3391aa454ae5b64ef676c4e7580323aa457a87"}, + {file = "pyobjc_framework_virtualization-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:503cbd9b7d995500a6dcaa0c3d131c41d3b694a9789d396465205fdf0090a130"}, + {file = "pyobjc_framework_virtualization-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:363f43c0a96c41d4cb1430c9faa5cc7c8b5cdaa2c66bc0be93e904c8611a5feb"}, + {file = "pyobjc_framework_virtualization-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:ab87f688824575e0e09dcb0672f59ca76d468c55c229e34a356d4ee5ccc757b9"}, + {file = "pyobjc_framework_virtualization-12.2.1.tar.gz", hash = "sha256:dd752180219ddc54112876576debca9f3316e91ce75afce622981eeb8c9a0f4a"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-vision" +version = "12.2.1" +description = "Wrappers for the framework Vision on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\" and platform_release >= \"17.0\"" +files = [ + {file = "pyobjc_framework_vision-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c9792afbc3ba16483095d9a90c3f7a562383a6d7e86d2783824fab9b4b562219"}, + {file = "pyobjc_framework_vision-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:86f221d7ced483e7292194293b791a255e0bd1e4011048533501679e378d40fd"}, + {file = "pyobjc_framework_vision-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:fa2e56d891eab12a0ddac2373c69957c108f70dea56f5a9a6081a3c2f905c98b"}, + {file = "pyobjc_framework_vision-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a041188213ae84153d5fe74cd69468827c150cb7157e2649e40a2a3cedb8f55d"}, + {file = "pyobjc_framework_vision-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:e288cb41349d6e84cfac0822a0c1fb476bf5fa094913b19e8c2899e90a1a9e8f"}, + {file = "pyobjc_framework_vision-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:da4f6811c23bdfa701ed727d6e46a83729606476cee435c2461f0f25579b8080"}, + {file = "pyobjc_framework_vision-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:a319b6e809ac03c41fbbcb1b8e449c8bc9b6e2b0e06c3c67cbe4ce8e040a1f78"}, + {file = "pyobjc_framework_vision-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:2dd7ce3563afbbcbc10d9bb5e777b3d0cd77d4d5a9f7b0c32d0f65eeb5d34f0f"}, + {file = "pyobjc_framework_vision-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:5aafb8fd87b5580b98a9f4a6de18013fd000f78a5f0930b2160fa82775de84fd"}, + {file = "pyobjc_framework_vision-12.2.1.tar.gz", hash = "sha256:debfd59dd7d962a6053bf733370148c11a9ec44091b517a0966f48d81c305879"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" +pyobjc-framework-CoreML = ">=12.2.1" +pyobjc-framework-Quartz = ">=12.2.1" + +[[package]] +name = "pyobjc-framework-webkit" +version = "12.2.1" +description = "Wrappers for the framework WebKit on macOS" +optional = false +python-versions = ">=3.10" +groups = ["main"] +markers = "sys_platform == \"darwin\"" +files = [ + {file = "pyobjc_framework_webkit-12.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ad59030aeb9bb11d28a939760cb64b93108b6a8508c6001cf87789fd7a9312bd"}, + {file = "pyobjc_framework_webkit-12.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:af5c4ccdf03845adac082823a3b4341b5b2fe62d2d664550afa705b5286a06fc"}, + {file = "pyobjc_framework_webkit-12.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:7e04dcc08cdc59380113ea1232af75a0a04c2426418ebe967b4c0045c973f776"}, + {file = "pyobjc_framework_webkit-12.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:23bee8bf7077f91da4e3ae54a00c7f5e4414319e15f98be8584dbd67c4043fae"}, + {file = "pyobjc_framework_webkit-12.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:00ffb254f97e9ffdd0a82c1faa61a07f6072ba900fa8aba70c83c21198b52e4e"}, + {file = "pyobjc_framework_webkit-12.2.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:67030258c3cd66e8495ccfccef3d2d58010ff0209284c5115e5afdb0e9fd6de1"}, + {file = "pyobjc_framework_webkit-12.2.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:5d91527c9950c79269dd0d70f2bb8668c298dd06930637c1c063ce5f274a87e5"}, + {file = "pyobjc_framework_webkit-12.2.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:657825081484c9920c50b76b469b9583f116225b0449c9d95c46cbc8c640adc8"}, + {file = "pyobjc_framework_webkit-12.2.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:f46adcc6227873f2b14d74b2e789c937f227722274ab59b9fa3c04c6ecb46dd5"}, + {file = "pyobjc_framework_webkit-12.2.1.tar.gz", hash = "sha256:a56acae55b50d549b20dff2921ad1099add8fbc377d0de09ddc2ba50957f7def"}, +] + +[package.dependencies] +pyobjc-core = ">=12.2.1" +pyobjc-framework-Cocoa = ">=12.2.1" + +[[package]] +name = "pyparsing" +version = "3.3.2" +description = "pyparsing - Classes and methods to define and execute parsing grammars" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "pyparsing-3.3.2-py3-none-any.whl", hash = "sha256:850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d"}, + {file = "pyparsing-3.3.2.tar.gz", hash = "sha256:c777f4d763f140633dcb6d8a3eda953bf7a214dc4eff598413c070bcdc117cbc"}, +] + +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + +[[package]] +name = "pyrect" +version = "0.2.0" +description = "PyRect is a simple module with a Rect class for Pygame-like rectangular areas." +optional = false +python-versions = "*" +groups = ["main"] +files = [ + {file = "PyRect-0.2.0.tar.gz", hash = "sha256:f65155f6df9b929b67caffbd57c0947c5ae5449d3b580d178074bffb47a09b78"}, +] + +[[package]] +name = "pysocks" +version = "1.7.1" +description = "A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +groups = ["main"] +files = [ + {file = "PySocks-1.7.1-py27-none-any.whl", hash = "sha256:08e69f092cc6dbe92a0fdd16eeb9b9ffbc13cadfe5ca4c7bd92ffb078b293299"}, + {file = "PySocks-1.7.1-py3-none-any.whl", hash = "sha256:2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5"}, + {file = "PySocks-1.7.1.tar.gz", hash = "sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0"}, +] + +[[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" +groups = ["main"] +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 = "selenium" +version = "4.46.0" +description = "Official Python bindings for Selenium WebDriver" +optional = false +python-versions = ">=3.10" +groups = ["main"] +files = [ + {file = "selenium-4.46.0-py3-none-any.whl", hash = "sha256:f03e864770a21ab32009961c9d015cb2c6275eba45c926c272e02d90af423aad"}, + {file = "selenium-4.46.0.tar.gz", hash = "sha256:54f7e1a4df5f7508ac8c38ce2ea584db1b27083dd79962b22524219219df5cbe"}, +] + +[package.dependencies] +certifi = ">=2026.2.25" +trio = ">=0.31.0,<1.0" +trio-websocket = ">=0.12.2,<1.0" +typing_extensions = ">=4.15.0,<5.0" +urllib3 = {version = ">=2.6.3,<3.0", extras = ["socks"]} +websocket-client = ">=1.8.0,<2.0" + +[[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" +groups = ["main"] +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 = "sniffio" +version = "1.3.1" +description = "Sniff out which async library your code is running under" +optional = false +python-versions = ">=3.7" +groups = ["main"] +files = [ + {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, + {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, +] + +[[package]] +name = "sortedcontainers" +version = "2.4.0" +description = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set" +optional = false +python-versions = "*" +groups = ["main"] +files = [ + {file = "sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0"}, + {file = "sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88"}, +] + +[[package]] +name = "trio" +version = "0.33.0" +description = "A friendly Python library for async concurrency and I/O" +optional = false +python-versions = ">=3.10" +groups = ["main"] +files = [ + {file = "trio-0.33.0-py3-none-any.whl", hash = "sha256:3bd5d87f781d9b0192d592aef28691f8951d6c2e41b7e1da4c25cde6c180ae9b"}, + {file = "trio-0.33.0.tar.gz", hash = "sha256:a29b92b73f09d4b48ed249acd91073281a7f1063f09caba5dc70465b5c7aa970"}, +] + +[package.dependencies] +attrs = ">=23.2.0" +cffi = {version = ">=1.14", markers = "os_name == \"nt\" and implementation_name != \"pypy\""} +idna = "*" +outcome = "*" +sniffio = ">=1.3.0" +sortedcontainers = "*" + +[[package]] +name = "trio-websocket" +version = "0.12.2" +description = "WebSocket library for Trio" +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "trio_websocket-0.12.2-py3-none-any.whl", hash = "sha256:df605665f1db533f4a386c94525870851096a223adcb97f72a07e8b4beba45b6"}, + {file = "trio_websocket-0.12.2.tar.gz", hash = "sha256:22c72c436f3d1e264d0910a3951934798dcc5b00ae56fc4ee079d46c7cf20fae"}, +] + +[package.dependencies] +outcome = ">=1.2.0" +trio = ">=0.11" +wsproto = ">=0.14" + +[[package]] +name = "typing-extensions" +version = "4.16.0" +description = "Backported and Experimental Type Hints for Python 3.9+" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "typing_extensions-4.16.0-py3-none-any.whl", hash = "sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8"}, + {file = "typing_extensions-4.16.0.tar.gz", hash = "sha256:dc983d19a509c94dba722ee6abd33940f7c05a89e243c47e907eb4db6f1a43e5"}, +] + +[[package]] +name = "typing-inspection" +version = "0.4.4" +description = "Runtime typing introspection tools" +optional = false +python-versions = ">=3.10" +groups = ["main"] +files = [ + {file = "typing_inspection-0.4.4-py3-none-any.whl", hash = "sha256:65b8397ba37ccbce054456aaccddfc91e6e3083c92824df348d96ca832f3f147"}, + {file = "typing_inspection-0.4.4.tar.gz", hash = "sha256:547274fa6b0a561ccf549cc9524b999a578e737d015d8709d021f9d0d13bea47"}, +] + +[package.dependencies] +typing-extensions = ">=4.15.0" + +[[package]] +name = "urllib3" +version = "2.7.0" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.10" +groups = ["main"] +files = [ + {file = "urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897"}, + {file = "urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c"}, +] + +[package.dependencies] +pysocks = {version = ">=1.5.6,<1.5.7 || >1.5.7,<2.0", optional = true, markers = "extra == \"socks\""} + +[package.extras] +brotli = ["brotli (>=1.2.0) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=1.2.0.0) ; platform_python_implementation != \"CPython\""] +h2 = ["h2 (>=4,<5)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["backports-zstd (>=1.0.0) ; python_version < \"3.14\""] + +[[package]] +name = "websocket-client" +version = "1.9.0" +description = "WebSocket client for Python with low level API options" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "websocket_client-1.9.0-py3-none-any.whl", hash = "sha256:af248a825037ef591efbf6ed20cc5faa03d3b47b9e5a2230a529eeee1c1fc3ef"}, + {file = "websocket_client-1.9.0.tar.gz", hash = "sha256:9e813624b6eb619999a97dc7958469217c3176312b3a16a4bd1bc7e08a46ec98"}, +] + +[package.extras] +docs = ["Sphinx (>=6.0)", "myst-parser (>=2.0.0)", "sphinx_rtd_theme (>=1.1.0)"] +optional = ["python-socks", "wsaccel"] +test = ["pytest", "websockets"] + +[[package]] +name = "wsproto" +version = "1.3.2" +description = "Pure-Python WebSocket protocol implementation" +optional = false +python-versions = ">=3.10" +groups = ["main"] +files = [ + {file = "wsproto-1.3.2-py3-none-any.whl", hash = "sha256:61eea322cdf56e8cc904bd3ad7573359a242ba65688716b0710a5eb12beab584"}, + {file = "wsproto-1.3.2.tar.gz", hash = "sha256:b86885dcf294e15204919950f666e06ffc6c7c114ca900b060d6e16293528294"}, +] + +[package.dependencies] +h11 = ">=0.16.0,<1" + +[metadata] +lock-version = "2.1" +python-versions = ">=3.14" +content-hash = "bea6193c41f407cdf51a6cb49dbc4c9ebd63b5e4bdf8ccc3be13cf218ff6f376" diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..343d472 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,25 @@ +[project] +name = "bing-rewards-bot" +version = "0.1.0" +description = "Script to farm MS Rewards points on desktop" +authors = [ + {name = "Carl Furtado",email = "carlzfurtado@gmail.com"} +] +license = "MIT" +requires-python = ">=3.14" +dependencies = [ + "selenium (>=4.46.0,<5.0.0)", + "matplotlib (>=3.11.1,<4.0.0)", + "pygetwindow (>=0.0.9,<0.0.10)", + "keyboard (>=0.13.5,<0.14.0)", + "pygame-ce (>=2.5.8,<3.0.0)", + "ollama (>=0.6.2,<0.7.0)" +] + + +[build-system] +requires = ["poetry-core>=2.0.0,<3.0.0"] +build-backend = "poetry.core.masonry.api" + +[tool.poetry] +package-mode = false \ No newline at end of file diff --git a/src/analyze_keypresses.py b/src/analyze_keypresses.py new file mode 100644 index 0000000..b8ea927 --- /dev/null +++ b/src/analyze_keypresses.py @@ -0,0 +1,13 @@ +keypress_times: list[float] = [ + float(keypress_time) for keypress_time in open("keypress_times.txt").read().splitlines() +] + +for i in range(10): + interval_start = i*0.1 + interval_end = (i+1)*0.1 + + within_interval = sum(interval_start <= keypress_time < interval_end for keypress_time in keypress_times) + + percent_within_interval = within_interval / len(keypress_times) * 100 + + print(f"Interval {interval_start:.1f}-{interval_end:.1f}: {within_interval} keypresses ({percent_within_interval:.2f}%)") \ No newline at end of file diff --git a/src/constants.py b/src/constants.py new file mode 100644 index 0000000..7534be3 --- /dev/null +++ b/src/constants.py @@ -0,0 +1,4 @@ +from os.path import abspath + +USER_DATA_DIR = abspath("./data-dir") +PROFILE_NAME = "Profile 1" \ No newline at end of file diff --git a/src/element_selectors.py b/src/element_selectors.py new file mode 100644 index 0000000..b929fe5 --- /dev/null +++ b/src/element_selectors.py @@ -0,0 +1,138 @@ +from selenium.webdriver.common.by import By +from selenium.webdriver.remote.webelement import WebElement +from selenium.common.exceptions import NoSuchElementException +from selenium import webdriver + + +class ElementSelectionUtils: + def __init__(self, driver: webdriver.Edge): + self.driver = driver + + def resolve(self, xpath: str): + return self.driver.find_element(By.XPATH, xpath) + + def get_earn_tab(self): + return self.resolve('//*[@id="react-aria-_R_18mbslbH1_-tab-/earn"]') + + def get_dashboard_tab(self): + return self.resolve('//*[@id="react-aria-_R_18mbslbH1_-tab-/dashboard"]') + + def get_open_daily_set_button(self): + return self.resolve("/html/body/div[2]/div[2]/div/main/section[1]/div/div[2]/div/div/button[3]") + + def get_open_visual_search_sidebar(self): + return self.resolve("/html/body/div[2]/div[2]/div/main/section[1]/div/div[2]/div/div/button[5]") + + def get_sidebar_section(self): + sections = self.driver.find_elements(By.TAG_NAME, "section") + + for section in sections: + if section.get_dom_attribute("id").startswith("react-aria"): + return section + + raise Exception("Sidebar section not found") + + def get_daily_set_elements(self): + daily_set_sidebar = self.get_sidebar_section() + + daily_set_elems = daily_set_sidebar.find_elements(By.TAG_NAME, "a")[1:] + + return daily_set_elems + + def get_explore_on_bing_elements(self): + return [ + self.resolve("/html/body/div[2]/div[2]/div/main/section[2]/div/div[2]/div/div/a[1]"), + self.resolve("/html/body/div[2]/div[2]/div/main/section[2]/div/div[2]/div/div/a[2]"), + self.resolve("/html/body/div[2]/div[2]/div/main/section[2]/div/div[2]/div/div/a[3]"), + self.resolve("/html/body/div[2]/div[2]/div/main/section[2]/div/div[2]/div/div/a[4]") + ] + + def get_search_now_link_from_visual_search_sidebar(self): + visual_search_sidebar = self.get_sidebar_section() + + return visual_search_sidebar.find_elements(By.TAG_NAME, "a")[1] + + def extract_card_descriptions(self, card: WebElement): + return card.find_element(By.CSS_SELECTOR, "p:nth-child(2)").text + + def card_is_complete(self, card: WebElement): + return "completed" in card.find_element(By.CSS_SELECTOR, "div.flex.w-full.items-center.gap-2").text.lower() + + def get_bing_search_bar(self): + return self.driver.find_element(By.TAG_NAME, "textarea") + + def get_visual_search_button(self): + return self.driver.find_element(By.CSS_SELECTOR, "#sb_form > div.camera.icon") + + def get_visual_search_file_input(self): + return self.driver.find_element(By.CSS_SELECTOR, "#sb_fileinput") + + def get_all_misc_cards(self): + misc_cards_container = self.driver.find_element(By.ID, "moreactivities") + + return misc_cards_container.find_elements(By.TAG_NAME, "a") + + def get_card_point_value(self, card: WebElement): + # querySelector("div.flex.w-full.items-center.gap-2").querySelector('p') + + try: elem = card.find_element(By.CSS_SELECTOR, "div.flex.w-full.items-center.gap-2").find_element(By.TAG_NAME, "p") + except NoSuchElementException: + return 0 + + return int(elem.text) + + def element_is_fully_in_viewport(self, elem: WebElement) -> bool: + js_viewport_check = """ +var elem = arguments[0]; +var box = elem.getBoundingClientRect(); + +// Check if the element is at least partially in the viewport +return ( + box.top >= 0 && + box.left >= 0 && + box.bottom <= (window.innerHeight || document.documentElement.clientHeight) && + box.right <= (window.innerWidth || document.documentElement.clientWidth) +); +""" + + return self.driver.execute_script(js_viewport_check, elem) + + def get_points_breakdown_button(self): + elem = self.driver.find_element(By.XPATH, "/html/body/div[2]/div[2]/div/main/div/button[1]") + + if "points breakdown" not in elem.text.lower(): + raise Exception("Points Breakdown button not found") + + return elem + + def get_close_button_on_points_breakdown(self): + breakdown_sidebar = self.get_sidebar_section() + + return breakdown_sidebar.find_elements(By.TAG_NAME, "button")[2] + + def get_points_earned_from_searches_on_points_breakdown(self) -> int: + breakdown_sidebar = self.get_sidebar_section() + + fraction = breakdown_sidebar.find_element(By.CSS_SELECTOR, "div.py-3.wrap-anywhere.justify-self-end").text + + earned_str, max_str = fraction.split('/') + + return int(earned_str.strip()), int(max_str.strip()) + + def get_bonus_button_on_dashboard(self): + button = self.driver.find_element(By.XPATH, "/html/body/div[2]/div[2]/div/main/div/button[2]") + + if "ready to claim" not in button.text.lower(): + raise Exception("Bonus button not found") + + return button + + def get_claim_bonus_points_button(self): + bonus_sidebar = self.get_sidebar_section() + + return bonus_sidebar.find_elements(By.TAG_NAME, "button")[2] + + def get_generic_sidebar_close_button(self): + sidebar = self.get_sidebar_section() + + return sidebar.find_elements(By.TAG_NAME, "button")[0] \ No newline at end of file diff --git a/src/fitts_law.py b/src/fitts_law.py new file mode 100644 index 0000000..18b4bb2 --- /dev/null +++ b/src/fitts_law.py @@ -0,0 +1,254 @@ +"""Measure Fitts-law constants a and b from repeated target-click trials. + +The user starts at a fixed home point, moves to a randomly generated 2D +rectangular target, and clicks it. The movement time begins when the cursor +moves more than a few pixels from the home position and ends when the click is +received. For each trial, the target width term is the average of the target's +height and width: W = (H + W) / 2. + +The regression is performed as: + MT = a + b * ID +where: + ID = log2(2D / W) +with D as the distance from the home point to the target center. +""" + +from __future__ import annotations + +import ctypes +import math +import random +import time +from dataclasses import dataclass +from typing import List, Sequence, Tuple +import tkinter as tk + + +@dataclass +class Trial: + distance: float + target_width: float + target_height: float + width_term: float + index_of_difficulty: float + movement_time: float + + +def get_screen_size() -> Tuple[int, int]: + user32 = ctypes.windll.user32 + width = user32.GetSystemMetrics(0) + height = user32.GetSystemMetrics(1) + return width, height + + +def set_cursor_position(x: int, y: int) -> None: + user32 = ctypes.windll.user32 + user32.SetCursorPos(int(x), int(y)) + + +def point_in_rectangle(px: float, py: float, x: float, y: float, w: float, h: float) -> bool: + return x <= px <= x + w and y <= py <= y + h + + +def generate_target(start: Tuple[int, int], screen_w: int, screen_h: int) -> Tuple[float, float, float, float, float]: + margin = 80 + for _ in range(1000): + target_w = random.randint(30, 180) + target_h = random.randint(30, 180) + x = random.randint(margin, max(margin, screen_w - target_w - margin)) + y = random.randint(margin, max(margin, screen_h - target_h - margin)) + center_x = x + target_w / 2 + center_y = y + target_h / 2 + distance = math.hypot(center_x - start[0], center_y - start[1]) + if distance < 100: + continue + return x, y, target_w, target_h, distance + + # Fallback if the random search fails. + target_w = 120 + target_h = 80 + x = screen_w * 0.75 + y = screen_h * 0.35 + return x, y, target_w, target_h, math.hypot(x + target_w / 2 - start[0], y + target_h / 2 - start[1]) + + +def run_single_trial(start: Tuple[int, int], target_x: float, target_y: float, target_w: float, target_h: float, distance: float, trial_no: int, total_trials: int) -> float: + screen_w, screen_h = get_screen_size() + root = tk.Tk() + root.title("Fitts Law Calibration") + root.attributes("-fullscreen", True) + root.attributes("-topmost", True) + root.configure(bg="#f3f3f3") + + canvas = tk.Canvas(root, width=screen_w, height=screen_h, bg="#f3f3f3", highlightthickness=0) + canvas.pack(fill="both", expand=True) + + start_x, start_y = start + start_marker = canvas.create_oval(start_x - 14, start_y - 14, start_x + 14, start_y + 14, fill="#1f1f1f") + target_id = canvas.create_rectangle( + target_x, + target_y, + target_x + target_w, + target_y + target_h, + fill="#5c8dff", + outline="#0d2d73", + width=3, + ) + + canvas.create_text( + screen_w // 2, + 48, + text=f"Trial {trial_no}/{total_trials}: move from the center to the blue rectangle and click it.", + font=("Segoe UI", 18), + fill="#111111", + ) + + set_cursor_position(start_x, start_y) + root.update_idletasks() + root.update() + + trial_result = {"movement_time": None} + movement_started = {"value": False} + movement_start_time = {"value": 0.0} + + def on_motion(event): + if not movement_started["value"]: + dx = abs(event.x_root - start_x) + dy = abs(event.y_root - start_y) + if max(dx, dy) > 3: + movement_started["value"] = True + movement_start_time["value"] = time.perf_counter() + + def on_click(event): + if not movement_started["value"]: + return + + if point_in_rectangle(event.x_root, event.y_root, target_x, target_y, target_w, target_h): + trial_result["movement_time"] = time.perf_counter() - movement_start_time["value"] + root.quit() + root.destroy() + return + + canvas.create_text( + screen_w // 2, + 90, + text="Missed the target. Click the blue rectangle only.", + fill="#d32f2f", + font=("Segoe UI", 16), + ) + canvas.update() + + root.bind("", on_motion) + root.bind("", on_click) + root.bind("", lambda _: (root.destroy(), raise_system_exit())) + + root.mainloop() + + if trial_result["movement_time"] is None: + raise RuntimeError("Trial ended without a valid target click.") + + return trial_result["movement_time"] + + +def raise_system_exit(): + raise SystemExit + + +def fit_fitts_law(trials: Sequence[Trial]) -> Tuple[float, float, float]: + if not trials: + raise ValueError("At least one trial is required.") + + x_values = [trial.index_of_difficulty for trial in trials] + y_values = [trial.movement_time for trial in trials] + + x_mean = sum(x_values) / len(x_values) + y_mean = sum(y_values) / len(y_values) + + numerator = sum((x - x_mean) * (y - y_mean) for x, y in zip(x_values, y_values)) + denominator = sum((x - x_mean) ** 2 for x in x_values) + + if denominator == 0: + raise ValueError("Index of difficulty did not vary across trials.") + + b = numerator / denominator + a = y_mean - b * x_mean + + rss = sum((y - (a + b * x)) ** 2 for x, y in zip(x_values, y_values)) + tss = sum((y - y_mean) ** 2 for y in y_values) + r_squared = 1.0 if tss == 0 else 1.0 - (rss / tss) + + return a, b, r_squared + + +def collect_trials(trial_count: int = 15) -> List[Trial]: + screen_w, screen_h = get_screen_size() + start = (screen_w // 2, screen_h // 2) + trials: List[Trial] = [] + + for trial_no in range(1, trial_count + 1): + target_x, target_y, target_w, target_h, distance = generate_target(start, screen_w, screen_h) + movement_time = run_single_trial(start, target_x, target_y, target_w, target_h, distance, trial_no, trial_count) + + width_term = (target_w + target_h) / 2.0 + if width_term <= 0: + raise ValueError("Target width must be greater than zero.") + + index_of_difficulty = math.log2((2.0 * distance) / width_term) + trials.append( + Trial( + distance=distance, + target_width=target_w, + target_height=target_h, + width_term=width_term, + index_of_difficulty=index_of_difficulty, + movement_time=movement_time, + ) + ) + + return trials + + +def main() -> None: + try: + trials = collect_trials(trial_count=18) + a, b, r_squared = fit_fitts_law(trials) + + print("Fitts Law calibration results") + print("=" * 40) + print(f"Target width term W = (height + width) / 2") + print(f"Regression: MT = {a:.4f} + {b:.4f} * ID") + print(f"R^2 = {r_squared:.4f}") + print("\nSample trials:") + for trial in trials: + print( + f" D={trial.distance:.1f}px, W={trial.width_term:.1f}px, " + f"ID={trial.index_of_difficulty:.3f}, MT={trial.movement_time:.3f}s" + ) + + result_window = tk.Tk() + result_window.title("Fitts Law Estimate") + result_window.geometry("500x180") + result_window.configure(bg="#ffffff") + label = tk.Label( + result_window, + text=( + f"Estimated model:\nMT = {a:.4f} + {b:.4f} * ID\n" + f"R^2 = {r_squared:.4f}\n\n" + ), + font=("Segoe UI", 14), + bg="#ffffff", + justify="left", + padx=20, + pady=20, + ) + label.pack(fill="both", expand=True) + result_window.mainloop() + except SystemExit: + pass + except Exception as exc: # pragma: no cover - message shown in console for user feedback. + print(f"An error occurred: {exc}") + raise + + +if __name__ == "__main__": + main() diff --git a/src/llm_utils.py b/src/llm_utils.py new file mode 100644 index 0000000..08a71ef --- /dev/null +++ b/src/llm_utils.py @@ -0,0 +1,93 @@ +from typing import Generator +import random +import ollama + +DEFAULT_SYSTEM_PROMPT_FOR_SEARCH_QUEST = ( + "You are a helpful assistant tasked with creating a search query based on a directive. " + "Output nothing but the search query you create, and do not include any additional commentary or explanation. " + "Do not include any labels or quotes. " + "The search query must be the only output, and do not format the query as an imperative to 'search for' something. " + "Imagine that your output will be fed directly into a search engine as you provide it. " + "For example, if the directive is 'Search on Bing for the latest news about space exploration', you might output 'latest news space exploration'. " + "Outputting 'search on Bing for the latest news about space exploration' or 'search bing.com/news for space exploration' would be incorrect, " + "as those answers include instructions to perform a search rather than just the search query itself. " + "Additionally, try to be specific, e.g. if a prompt asks you to search for vacation flights or cruises, include " + "a location where you might want to go on vacation, or a specific cruise line or destination. The current year is 2026." +) + +DEFAULT_USER_PROMPT_FOR_SEARCH_QUEST_WITHOUT_DESC = """Base your search query on the following task description: """ + +DEFAULT_SYSTEM_PROMPT_FOR_SEARCH_POINTS = ( + "The user is interested in learning more about topics related to a word that will be given to you. " + "Your task is to come up with subsequent search queries that relate to each other, each one branching out " + "from the previous one so that the user can explore a topic in depth. Your first search query should be " + "based on the word that the user gives you, and each subsequent search query should be at least remotely based on the previous ones. " + "Output only the single search query you come up with and do not include any additional commentary or explanation. Do not include any labels or quotes. " + "The search queries should ideally be short (6 words max) and do not need to be fully fledged questions, but they should be unique. The current year is 2026." +) + +DEFAULT_USER_PROMPT_FOR_SEARCH_POINTS_WITHOUT_DESC = """Generate the first search query based on the following word: """ + +USER_PROMPT_FOR_SEARCH_QUERY_CONTINUATION = """Generate the next search query.""" + +def get_ollama_response(messages: list[dict[str, str]], model: str="gemma4:cloud") -> str: + response = ollama.chat( + model=model, + messages=messages + ) + + return response.message.content + +def get_search_query_from_task_description(task_description: str) -> str: + # compat + if "lyrics of your favorite song" in task_description.lower(): return "sweet caroline lyrics" + + messages = [ + { + "role": "system", + "content": DEFAULT_SYSTEM_PROMPT_FOR_SEARCH_QUEST + }, + { + "role": "user", + "content": DEFAULT_USER_PROMPT_FOR_SEARCH_QUEST_WITHOUT_DESC + task_description + } + ] + + while not (response := get_ollama_response(messages)): pass # ensure non-empty response + + return response.lower() + +def get_related_search_queries(seed_word: str, num_queries: int=20) -> Generator[str, None, None]: + messages = [ + { + "role": "system", + "content": DEFAULT_SYSTEM_PROMPT_FOR_SEARCH_POINTS + }, + { + "role": "user", + "content": DEFAULT_USER_PROMPT_FOR_SEARCH_POINTS_WITHOUT_DESC + seed_word + } + ] + + for _ in range(num_queries): + while not (response := get_ollama_response(messages)): pass # ensure non-empty response + + yield response.lower() + + messages.append({ + "role": "assistant", + "content": response + }) + + messages.append({ + "role": "user", + "content": USER_PROMPT_FOR_SEARCH_QUERY_CONTINUATION + }) + +NOUNS = [ + noun.strip().lower() for noun in open("nouns.txt", "r").read().splitlines() + if len(noun.strip()) >= 3 +] + +def get_random_noun() -> str: + return random.choice(NOUNS) \ No newline at end of file diff --git a/src/main.py b/src/main.py new file mode 100644 index 0000000..1211c73 --- /dev/null +++ b/src/main.py @@ -0,0 +1,28 @@ +import rewards_tasks +import mouse_trajectory +import mimic_typing +from selenium import webdriver +from constants import USER_DATA_DIR, PROFILE_NAME + +options = webdriver.EdgeOptions() + +options.add_experimental_option("excludeSwitches", ["enable-automation"]) +options.add_experimental_option('useAutomationExtension', False) +options.add_argument("--disable-blink-features=AutomationControlled") +options.add_argument(f"--user-data-dir={USER_DATA_DIR}") +options.add_argument(f"--profile-directory={PROFILE_NAME}") + +driver = webdriver.Edge(options=options) + +mouse = mouse_trajectory.MouseUtils(driver) +keyboard = mimic_typing.KeyboardUtils(driver) + +driver.get("https://rewards.bing.com/") + +rewards = rewards_tasks.RewardsTaskUtils(driver) + +rewards.complete_all_tasks() + +input("Press Enter to exit...") + +driver.quit() \ No newline at end of file diff --git a/src/mimic_typing.py b/src/mimic_typing.py new file mode 100644 index 0000000..f18ad2d --- /dev/null +++ b/src/mimic_typing.py @@ -0,0 +1,31 @@ +import random +from typing import Iterable +from selenium import webdriver +from selenium.webdriver.common.action_chains import ActionChains + +FIRST_INTERVAL = (0.0, 0.1) +SECOND_INTERVAL = (0.1, 0.2) +THIRD_INTERVAL = (0.2, 0.4) + +FIRST_INTERVAL_PROBABILITY = 0.377 +SECOND_INTERVAL_PROBABILITY = 0.5492 +THIRD_INTERVAL_PROBABILITY = 1 - (FIRST_INTERVAL_PROBABILITY + SECOND_INTERVAL_PROBABILITY) + +class KeyboardUtils: + def __init__(self, driver: webdriver.Edge): + self.driver = driver + + def send_keys(self, keys: Iterable[str]): + actions = ActionChains(self.driver, duration=0) + + for key in keys: + actions.send_keys(key) + + interval = random.choices( + [FIRST_INTERVAL, SECOND_INTERVAL, THIRD_INTERVAL], + weights=[FIRST_INTERVAL_PROBABILITY, SECOND_INTERVAL_PROBABILITY, THIRD_INTERVAL_PROBABILITY] + )[0] + + actions.pause(random.uniform(interval[0], interval[1])) + + actions.perform() \ No newline at end of file diff --git a/src/mouse_trajectory.py b/src/mouse_trajectory.py new file mode 100644 index 0000000..71fc11b --- /dev/null +++ b/src/mouse_trajectory.py @@ -0,0 +1,315 @@ +import time +from selenium.webdriver.common.actions.action_builder import ActionBuilder +from selenium.webdriver.common.action_chains import ActionChains +from selenium.webdriver.remote.webelement import WebElement +from selenium import webdriver +from functools import partial +import math +import random +import numpy as np +from typing import Callable + +Point = tuple[int, int] + +DEFAULT_INTERMEDIATE_RADIUS_INTERVAL = (20, 40) +DEFAULT_DEVIATION_INTERVAL = (1, 5) +DEFAULT_DISTORTION_ZONE_TIME_LENGTH = 0.05 +DEFAULT_DISTORTION_FREQUENCY = 0.15 + +def cubic_bezier_single_coordinate(p0: int, p1: int, p2: int, p3: int, t: float): + first_coeff = (1-t)**3 + second_coeff = 3*t*(1-t)**2 + third_coeff = 3*(1-t)*(t**2) + fourth_coeff = t**3 + + return ( + first_coeff*p0 + + second_coeff*p1 + + third_coeff*p2 + + fourth_coeff*p3 + ) + +def cubic_bezier(p0: Point, p1: Point, p2: Point, p3: Point, t: float) -> Point: + return ( + (cubic_bezier_single_coordinate(p0[0], p1[0], p2[0], p3[0], t)), + (cubic_bezier_single_coordinate(p0[1], p1[1], p2[1], p3[1], t)) + ) + +def random_anysign(a: int, b: int) -> int: + result = random.randint(a, b) + + if random.randint(0, 1): + return -result + + return result + +def get_bezier_path(start: Point, end: Point, intermediate_radius_interval: tuple[int, int]=DEFAULT_INTERMEDIATE_RADIUS_INTERVAL) -> Callable[[float], Point]: + p0, p3 = start, end + + p1 = ( + p0[0]+random_anysign(intermediate_radius_interval[0], intermediate_radius_interval[1]), + p0[1]+random_anysign(intermediate_radius_interval[0], intermediate_radius_interval[1]) + ) + + p2 = ( + p3[0]+random_anysign(intermediate_radius_interval[0], intermediate_radius_interval[1]), + p3[1]+random_anysign(intermediate_radius_interval[0], intermediate_radius_interval[1]) + ) + + return partial(cubic_bezier, p0, p1, p2, p3) + +def get_distorted_bezier_path( + start: Point, + end: Point, + intermediate_radius_interval: tuple[int, int]=DEFAULT_INTERMEDIATE_RADIUS_INTERVAL, + distortion_zone_time_length: float=DEFAULT_DISTORTION_ZONE_TIME_LENGTH, + distortion_frequency: float=DEFAULT_DISTORTION_FREQUENCY, + deviation_interval: tuple[int, int]=DEFAULT_DEVIATION_INTERVAL +) -> Callable[[float], Point]: + distortion_zones: list[tuple[float, float]] = [ + (i*distortion_zone_time_length, (i+1)*distortion_zone_time_length) + for i in range(int(1/distortion_zone_time_length)) + if random.uniform(0, 1) < distortion_frequency + ] + + distortion_offsets: list[Point] = [ + ( + random_anysign(deviation_interval[0], deviation_interval[1]), + random_anysign(deviation_interval[0], deviation_interval[1]) + ) + for _ in range(len(distortion_zones)) + ] + + def get_distorted_point( + true_point: Point, + distortion_offset: Point, + distortion_zone: tuple[float, float], + t: float + ) -> Point: + distortion_zone_length = distortion_zone[1]-distortion_zone[0] + distortion_zone_progress = (t-distortion_zone[0])/distortion_zone_length + + if distortion_zone_progress < 0.5: # move from true to distorted point + return ( + true_point[0]+distortion_offset[0]*distortion_zone_progress*2, + true_point[1]+distortion_offset[1]*distortion_zone_progress*2 + ) + else: # move from distorted to true point + return ( + true_point[0]+distortion_offset[0]*(1-(distortion_zone_progress-0.5)*2), + true_point[1]+distortion_offset[1]*(1-(distortion_zone_progress-0.5)*2) + ) + + bezier_path = get_bezier_path(start, end, intermediate_radius_interval) + + def distored_path_function(t: float): + true_point = bezier_path(t) + + for i, distortion_zone in enumerate(distortion_zones): + if distortion_zone[0] <= t <= distortion_zone[1]: + return get_distorted_point( + true_point, + distortion_offsets[i], + distortion_zone, + t + ) + + # we are not in a distortion zone, return the true point + return true_point + + return distored_path_function + +def logistic_sigmoid(x: float) -> float: + return 2/(1+np.exp(-x)) - 1 + +def get_path_with_transformed_velo( + start: Point, + end: Point, + intermediate_radius_interval: tuple[int, int]=DEFAULT_INTERMEDIATE_RADIUS_INTERVAL, + distortion_zone_time_length: float=DEFAULT_DISTORTION_ZONE_TIME_LENGTH, + distortion_frequency: float=DEFAULT_DISTORTION_FREQUENCY, + deviation_interval: tuple[int, int]=DEFAULT_DEVIATION_INTERVAL +) -> Callable[[float], Point]: + bezier_path = get_distorted_bezier_path( + start, + end, + intermediate_radius_interval, + distortion_zone_time_length, + distortion_frequency, + deviation_interval + ) + + return lambda t: bezier_path(logistic_sigmoid(t)) + +FITTS_LAW_A = 0.5500 +FITTS_LAW_B = 0.1276 + +def get_final_path_from_real_time( + movement_time: float, + start: Point, + end: Point, + intermediate_radius_interval: tuple[int, int]=DEFAULT_INTERMEDIATE_RADIUS_INTERVAL, + distortion_zone_time_length: float=DEFAULT_DISTORTION_ZONE_TIME_LENGTH, + distortion_frequency: float=DEFAULT_DISTORTION_FREQUENCY, + deviation_interval: tuple[int, int]=DEFAULT_DEVIATION_INTERVAL +) -> Callable[[float], Point]: + path = get_path_with_transformed_velo( + start, + end, + intermediate_radius_interval, + distortion_zone_time_length, + distortion_frequency, + deviation_interval + ) + + def final_path_function(t: float) -> Point: + if t < 0: + return start + elif t > movement_time: + return end + + normalized_t = (t / movement_time)*4.5 + + return path(normalized_t) + + return final_path_function + +def get_movement_time_from_fitts_law(distance: float, target_width: float) -> float: + index_of_difficulty = math.log2((2.0 * distance) / target_width) + movement_time = FITTS_LAW_A + FITTS_LAW_B * index_of_difficulty + + return movement_time + +def get_final_path_with_fitts_law( + target_width: float, + start: Point, + end: Point, + intermediate_radius_interval: tuple[int, int]=DEFAULT_INTERMEDIATE_RADIUS_INTERVAL, + distortion_zone_time_length: float=DEFAULT_DISTORTION_ZONE_TIME_LENGTH, + distortion_frequency: float=DEFAULT_DISTORTION_FREQUENCY, + deviation_interval: tuple[int, int]=DEFAULT_DEVIATION_INTERVAL +) -> Callable[[float], Point]: + distance = math.dist(start, end) + movement_time = get_movement_time_from_fitts_law(distance, target_width) + + return get_final_path_from_real_time( + movement_time, + start, + end, + intermediate_radius_interval, + distortion_zone_time_length, + distortion_frequency, + deviation_interval + ) + +def choose_target_in_element(x: int, y: int, height: int, width: int) -> Point: + # choose a random point near the center of the element + + left_bound_x = x + width * 0.25 + right_bound_x = x + width * 0.75 + top_bound_y = y + height * 0.25 + bottom_bound_y = y + height * 0.75 + + return ( + random.randint(int(left_bound_x), int(right_bound_x)), + random.randint(int(top_bound_y), int(bottom_bound_y)) + ) + +class MouseUtils: + def __init__(self, driver: webdriver.Edge): + self.driver = driver + self.reinitialize() + + def reinitialize(self): + self.init_driver_with_mouse_tracking() + self.init_driver_with_cursor_visualization() + + def init_driver_with_mouse_tracking(self): + js_tracker = """ + window.cursorX = 0; + window.cursorY = 0; + document.addEventListener('mousemove', function(event) { + console.log('Mouse moved to: ' + event.clientX + ', ' + event.clientY); + window.cursorX = event.clientX; + window.cursorY = event.clientY; + }); + """ + self.driver.execute_script(js_tracker) + + def init_driver_with_cursor_visualization(self): + cursor_script = """ + var visualCursor = document.createElement('div'); + visualCursor.id = 'selenium-visual-cursor'; + visualCursor.style.position = 'fixed'; + visualCursor.style.zIndex = '99999'; + visualCursor.style.width = '15px'; + visualCursor.style.height = '15px'; + visualCursor.style.background = 'red'; + visualCursor.style.borderRadius = '50%'; + visualCursor.style.border = '2px solid white'; + visualCursor.style.pointerEvents = 'none'; // Prevents blocking element clicks + visualCursor.style.top = '0px'; + visualCursor.style.left = '0px'; + visualCursor.style.transition = 'all 0.3s ease;'; // Optional: adds smooth sliding visual + document.body.appendChild(visualCursor); + + window.moveVisualCursor = function(x, y) { + var cursor = document.getElementById('selenium-visual-cursor'); + cursor.style.left = x + 'px'; + cursor.style.top = y + 'px'; + }; + """ + self.driver.execute_script(cursor_script) + + def get_current_mouse_position(self) -> Point: + x = self.driver.execute_script("return window.cursorX;") + y = self.driver.execute_script("return window.cursorY;") + + return (x, y) + + def move_mouse(self, move_time: float, path_function: Callable[[float], Point], visualize: bool=True): + start_time = time.monotonic() + end_time = start_time + move_time + + while (current_time := time.monotonic()) < end_time: + t = current_time - start_time + point = path_function(t) + + point = (max(0, point[0]), max(0, point[1])) # ensure the point is not negative + + actions = ActionBuilder(self.driver, duration=0) + actions.pointer_action.move_to_location(point[0], point[1]) + actions.perform() + + if visualize: self.driver.execute_script(f"window.moveVisualCursor({point[0]}, {point[1]});") + + def move_to_element(self, element: WebElement, visualize: bool=True): + current_mouse_position = self.get_current_mouse_position() + + rect = self.driver.execute_script(""" + var rect = arguments[0].getBoundingClientRect(); + return {x: rect.left, y: rect.top, width: rect.width, height: rect.height}; + """, element) + + target_position = choose_target_in_element( + rect['x'], + rect['y'], + rect['height'], + rect['width'] + ) + + move_time = get_movement_time_from_fitts_law( + math.dist(current_mouse_position, target_position), + (rect['width'] + rect['height']) / 2 + ) + + path_fn = get_final_path_from_real_time( + movement_time=move_time, + start=current_mouse_position, + end=target_position + ) + + self.move_mouse(move_time, path_fn, visualize) + + def human_like_click(self, time_interval: tuple[int, int]=(200, 300)): + ActionChains(self.driver, duration=random.randint(time_interval[0], time_interval[1])).click().perform() \ No newline at end of file diff --git a/src/recordpress.py b/src/recordpress.py new file mode 100644 index 0000000..a055b11 --- /dev/null +++ b/src/recordpress.py @@ -0,0 +1,43 @@ +import textwrap +import keyboard as kb +import pygetwindow as pygw +from matplotlib import pyplot as plt +from selenium import webdriver +from constants import USER_DATA_DIR, PROFILE_NAME + +keypress_times: list[float] = [] + +def key_event_handler(event: kb.KeyboardEvent): + if event.event_type == kb.KEY_DOWN: + timestamp = event.time + key = event.name + + window = pygw.getActiveWindow() + + if window and "Edge" in window.title: + keypress_times.append(timestamp) + +kb.hook(key_event_handler) + +options = webdriver.EdgeOptions() + +options.add_experimental_option("excludeSwitches", ["enable-automation"]) +options.add_experimental_option('useAutomationExtension', False) +options.add_argument("--disable-blink-features=AutomationControlled") +options.add_argument(f"--user-data-dir={USER_DATA_DIR}") +options.add_argument(f"--profile-directory={PROFILE_NAME}") + +driver = webdriver.Edge(options=options) + +driver.get("https://rewards.bing.com/") + +input("Press Enter to exit...") + +press_time_differences = [t2 - t1 for t1, t2 in zip(keypress_times[:-1], keypress_times[1:])] + +plt.hist(press_time_differences) +plt.savefig("keypress_times.png") + +open("keypress_times.txt", "w").writelines(str(diff)+'\n' for diff in press_time_differences) + +driver.quit() \ No newline at end of file diff --git a/src/rewards_tasks.py b/src/rewards_tasks.py new file mode 100644 index 0000000..92be9d2 --- /dev/null +++ b/src/rewards_tasks.py @@ -0,0 +1,196 @@ +import os +import random +import time +from typing import Callable +from selenium import webdriver +from selenium.webdriver.common.by import By +from selenium.webdriver.support.ui import WebDriverWait +from selenium.webdriver.common.keys import Keys +from selenium.webdriver.remote.webelement import WebElement +from selenium.webdriver.common.action_chains import ActionChains +import tab_utils +import llm_utils +import mouse_trajectory +import mimic_typing +import element_selectors + +class RewardsTaskUtils: + def __init__(self, driver: webdriver.Edge): + self.driver = driver + self.tab_utils = tab_utils.TabUtils(driver) + self.mouse = mouse_trajectory.MouseUtils(driver) + self.keyboard = mimic_typing.KeyboardUtils(driver) + self.elements = element_selectors.ElementSelectionUtils(driver) + + def find_element(self, xpath: str): + return self.driver.find_element(By.XPATH, xpath) + + def wait_for_element(self, element_getter: Callable[[], WebElement | list[WebElement]], timeout: int = 10) -> WebElement | list[WebElement]: + def condition(_: webdriver.Edge): + try: + element_or_elements = element_getter() + + return element_or_elements + except: + return False + + return WebDriverWait(self.driver, timeout).until(condition) + + def switch_to_earn_page(self): + self.move_to_and_click(self.elements.get_earn_tab()) + + def switch_to_dashboard(self): + self.move_to_and_click(self.elements.get_dashboard_tab()) + + def move_to_and_click(self, elem: WebElement): + self.mouse.move_to_element(elem) + self.mouse.human_like_click() + + def wait_for_then_click(self, element_getter: Callable[[], WebElement], timeout: int = 10): + elem = self.wait_for_element(element_getter, timeout) + self.move_to_and_click(elem) + + def complete_bing_daily_set(self): + self.switch_to_earn_page() + + self.wait_for_then_click(self.elements.get_open_daily_set_button) + + daily_set_links = self.wait_for_element(self.elements.get_daily_set_elements) + + self.move_to_and_click(daily_set_links[0]) + time.sleep(random.uniform(2, 3)) + self.driver.switch_to.window(self.driver.current_window_handle) # refocus on the main tab + + self.move_to_and_click(daily_set_links[1]) + time.sleep(random.uniform(2, 3)) + self.driver.switch_to.window(self.driver.current_window_handle) + + self.move_to_and_click(daily_set_links[2]) + time.sleep(random.uniform(2, 3)) + self.driver.switch_to.window(self.driver.current_window_handle) + + self.tab_utils.close_all_other_tabs() + + def complete_explore_on_bing_tasks(self): + self.switch_to_earn_page() + + explore_on_bing_links = self.wait_for_element(self.elements.get_explore_on_bing_elements) + + for card in explore_on_bing_links: + desc = self.elements.extract_card_descriptions(card) + query = llm_utils.get_search_query_from_task_description(desc) + + self.move_to_and_click(card) + self.tab_utils.switch_to_other_tab() + + self.wait_for_element(self.elements.get_bing_search_bar) + + # search bar should be auto-focused + + self.keyboard.send_keys(query+Keys.ENTER) + + time.sleep(random.uniform(2, 3)) + + self.tab_utils.switch_to_other_tab() + self.tab_utils.close_all_other_tabs() + + for card in explore_on_bing_links: + if not self.elements.card_is_complete(card): + print(f"WARNING: Explore on Bing Card [desc={self.elements.extract_card_descriptions(card)!r}] is not complete after searching. Please check manually.") + + def complete_visual_search(self): + self.switch_to_earn_page() + + self.wait_for_then_click(self.elements.get_open_visual_search_sidebar) + + self.wait_for_then_click(self.elements.get_search_now_link_from_visual_search_sidebar) + + self.tab_utils.switch_to_other_tab() + + self.mouse.reinitialize() + + self.wait_for_then_click(self.elements.get_visual_search_button) + + file_input = self.wait_for_element(self.elements.get_visual_search_file_input) + + file_input.send_keys(os.path.abspath("keypress_times.png")) + + time.sleep(random.uniform(3, 5)) + + self.tab_utils.switch_to_other_tab() + self.tab_utils.close_all_other_tabs() + + self.mouse.reinitialize() + + def complete_misc_cards(self): + self.switch_to_earn_page() + + misc_cards: list[WebElement] = self.wait_for_element(self.elements.get_all_misc_cards) + + for card in misc_cards: + while not self.elements.element_is_fully_in_viewport(card): # this should work for top-down iteration + ActionChains(self.driver).scroll_by_amount(0, 100).perform() + + if not self.elements.card_is_complete(card) and self.elements.get_card_point_value(card) > 0: + self.move_to_and_click(card) + time.sleep(random.uniform(1, 2)) + self.driver.switch_to.window(self.driver.current_window_handle) + + for card in misc_cards: + if not self.elements.card_is_complete(card) and self.elements.get_card_point_value(card) > 0: + print(f"WARNING: Misc Card [desc={self.elements.extract_card_descriptions(card)!r}] is not complete after clicking. Please check manually.") + + self.tab_utils.close_all_other_tabs() + + def complete_twenty_searches(self): + self.driver.get("https://www.bing.com/") + + search_bar = self.wait_for_element(self.elements.get_bing_search_bar) + + # search bar should be auto-focused + + for query in llm_utils.get_related_search_queries( + llm_utils.get_random_noun(), num_queries=20 + ): + self.keyboard.send_keys(query+Keys.ENTER) + + time.sleep(random.uniform(2, 3)) + + # clear search bar for next query + # the 't' can be any character, it just needs to be there to + # auto-focus the search bar so that the backspaces will work + self.keyboard.send_keys('t'+Keys.BACKSPACE*(len(query)+1)) + + self.driver.get("https://rewards.bing.com/") + + self.mouse.reinitialize() + + self.switch_to_earn_page() + + self.wait_for_then_click(self.elements.get_points_breakdown_button) + + close_btn = self.wait_for_element(self.elements.get_close_button_on_points_breakdown) + + points_earned, max_pts = self.elements.get_points_earned_from_searches_on_points_breakdown() + + self.move_to_and_click(close_btn) + + print(f"Points earned from 20 searches: {points_earned}/{max_pts}") + + def claim_bonus_points(self): + self.switch_to_dashboard() + + self.wait_for_then_click(self.elements.get_bonus_button_on_dashboard) + + try: + self.move_to_and_click(self.elements.get_claim_bonus_points_button()) + except IndexError: + print("[WARNING] Could not find the 'Claim Bonus Points' button. There are likely no bonus points to claim at this time.") + + def complete_all_tasks(self): + self.complete_bing_daily_set() + self.complete_explore_on_bing_tasks() + self.complete_visual_search() + self.complete_misc_cards() + self.complete_twenty_searches() + self.claim_bonus_points() \ No newline at end of file diff --git a/src/tab_utils.py b/src/tab_utils.py new file mode 100644 index 0000000..b9e8b11 --- /dev/null +++ b/src/tab_utils.py @@ -0,0 +1,33 @@ +from selenium.common.exceptions import WebDriverException +from selenium import webdriver + + +class TabUtils: + def __init__(self, driver: webdriver.Edge): + self.driver = driver + self.problematic_tabs = set() + + def switch_to_other_tab(self): + current_window = self.driver.current_window_handle + + for handle in self.driver.window_handles: + if handle != current_window and handle not in self.problematic_tabs: + self.driver.switch_to.window(handle) + return + + def close_all_other_tabs(self, exceptions: list[str] = None): + if exceptions is None: + exceptions = [self.driver.current_window_handle] + + switch_back_to = exceptions[0] + + for handle in self.driver.window_handles: + if handle not in exceptions and handle not in self.problematic_tabs: + self.driver.switch_to.window(handle) + try: self.driver.close() + except WebDriverException: + print(f"[WARNING] Could not close tab with handle {handle}.") + self.problematic_tabs.add(handle) + pass + + self.driver.switch_to.window(switch_back_to) \ No newline at end of file diff --git a/src/visualize_trajectory.py b/src/visualize_trajectory.py new file mode 100644 index 0000000..30b4660 --- /dev/null +++ b/src/visualize_trajectory.py @@ -0,0 +1,160 @@ +import math +import random +import time + +import pygame + +from mouse_trajectory import get_final_path_with_fitts_law, get_movement_time_from_fitts_law + + +WINDOW_WIDTH = 1100 +WINDOW_HEIGHT = 760 +BACKGROUND = (248, 248, 248) +START_COLOR = (25, 25, 25) +TARGET_FILL = (75, 136, 255) +TARGET_OUTLINE = (18, 54, 120) +DOT_COLOR = (220, 60, 60) +PATH_COLOR = (110, 110, 110) +BUTTON_BG = (30, 30, 30) +BUTTON_TEXT = (255, 255, 255) + + +class Target: + def __init__(self, x: int, y: int, width: int, height: int): + self.x = x + self.y = y + self.width = width + self.height = height + + @property + def center(self) -> tuple[int, int]: + return (int(self.x + self.width / 2), int(self.y + self.height / 2)) + + @property + def effective_width(self) -> float: + return (self.width + self.height) / 2.0 + + def random_point_inside(self) -> tuple[int, int]: + px = random.randint(self.x, self.x + self.width) + py = random.randint(self.y, self.y + self.height) + return (px, py) + + def rect(self) -> pygame.Rect: + return pygame.Rect(self.x, self.y, self.width, self.height) + + +def generate_target(start: tuple[int, int], margin: int = 70) -> Target: + width = random.randint(30, 180) + height = random.randint(30, 180) + + attempts = 0 + while attempts < 2000: + x = random.randint(margin, WINDOW_WIDTH - width - margin) + y = random.randint(margin, WINDOW_HEIGHT - height - margin) + target = Target(x, y, width, height) + center = target.center + if math.dist(start, center) > 150: + return target + width = random.randint(30, 180) + height = random.randint(30, 180) + attempts += 1 + + return Target(WINDOW_WIDTH - width - 120, WINDOW_HEIGHT // 2, width, height) + + +def draw_path_trace(screen: pygame.Surface, path_fn, movement_time: float, steps: int = 320) -> None: + points = [] + for i in range(steps): + sample_time = movement_time * (i / (steps - 1)) + x, y = path_fn(sample_time) + points.append((int(x), int(y))) + + if len(points) > 1: + pygame.draw.lines(screen, PATH_COLOR, False, points, 2) + + +def main() -> None: + pygame.init() + screen = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT)) + pygame.display.set_caption("Fitts Law Target Acquisition") + clock = pygame.time.Clock() + font = pygame.font.SysFont("Segoe UI", 20) + small_font = pygame.font.SysFont("Segoe UI", 18) + + start_position = (150, 520) + current_position = start_position + current_target = generate_target(current_position) + current_end = current_target.random_point_inside() + target_width = current_target.effective_width + + move_start_time = time.monotonic() + path_fn = get_final_path_with_fitts_law(target_width, current_position, current_end) + movement_time = get_movement_time_from_fitts_law(math.dist(current_position, current_end), target_width) + state = "moving" + + replay_button = pygame.Rect(580, 40, 220, 54) + next_button = pygame.Rect(820, 40, 220, 54) + + while True: + for event in pygame.event.get(): + if event.type == pygame.QUIT: + pygame.quit() + return + + if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1: + if state == "waiting": + if replay_button.collidepoint(event.pos): + current_position = start_position + move_start_time = time.monotonic() + state = "moving" + elif next_button.collidepoint(event.pos): + current_position = start_position + current_target = generate_target(current_position) + current_end = current_target.random_point_inside() + target_width = current_target.effective_width + move_start_time = time.monotonic() + path_fn = get_final_path_with_fitts_law(target_width, current_position, current_end) + movement_time = get_movement_time_from_fitts_law(math.dist(current_position, current_end), target_width) + state = "moving" + + screen.fill(BACKGROUND) + + if state == "moving": + elapsed = time.monotonic() - move_start_time + current_position = path_fn(elapsed) + if elapsed >= movement_time: + current_position = current_end + state = "waiting" + + target_rect = current_target.rect() + pygame.draw.rect(screen, TARGET_FILL, target_rect, border_radius=6) + pygame.draw.rect(screen, TARGET_OUTLINE, target_rect, 3, border_radius=6) + + draw_path_trace(screen, path_fn, movement_time) + pygame.draw.circle(screen, DOT_COLOR, (int(current_position[0]), int(current_position[1])), 8) + + if state == "waiting": + pygame.draw.rect(screen, BUTTON_BG, replay_button, border_radius=10) + replay_text = font.render("Replay", True, BUTTON_TEXT) + screen.blit(replay_text, (replay_button.x + 68, replay_button.y + 12)) + + pygame.draw.rect(screen, BUTTON_BG, next_button, border_radius=10) + button_text = font.render("Next target", True, BUTTON_TEXT) + screen.blit(button_text, (next_button.x + 45, next_button.y + 12)) + + prompt = small_font.render("Target reached. Replay or continue to next target.", True, (30, 30, 30)) + screen.blit(prompt, (35, 35)) + + label = small_font.render( + f"Target W = (H + W)/2 = {target_width:.1f}px D = {math.dist(start_position, current_end):.1f}px", + True, + (35, 35, 35), + ) + screen.blit(label, (30, 95)) + + pygame.display.flip() + clock.tick(60) + + +if __name__ == "__main__": + main()