# This file is @generated by PDM. # It is not intended for manual editing. [metadata] groups = ["default", "debug", "dev", "lint", "server", "typing"] strategy = ["inherit_metadata"] lock_version = "4.5.0" content_hash = "sha256:cdef77160cecd840eeaef2f45c9d4afc0701146cf0b78e8b5cb782bc57144ad7" [[metadata.targets]] requires_python = "==3.11.*" platform = "manylinux_2_36_x86_64" implementation = "cpython" gil_disabled = false [[package]] name = "aiohappyeyeballs" version = "2.3.4" requires_python = "<4.0,>=3.8" summary = "Happy Eyeballs for asyncio" groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "aiohappyeyeballs-2.3.4-py3-none-any.whl", hash = "sha256:40a16ceffcf1fc9e142fd488123b2e218abc4188cf12ac20c67200e1579baa42"}, {file = "aiohappyeyeballs-2.3.4.tar.gz", hash = "sha256:7e1ae8399c320a8adec76f6c919ed5ceae6edd4c3672f4d9eae2b27e37c80ff6"}, ] [[package]] name = "aiohttp" version = "3.10.1" requires_python = ">=3.8" summary = "Async http client/server framework (asyncio)" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "aiohappyeyeballs>=2.3.0", "aiosignal>=1.1.2", "async-timeout<5.0,>=4.0; python_version < \"3.11\"", "attrs>=17.3.0", "frozenlist>=1.1.1", "multidict<7.0,>=4.5", "yarl<2.0,>=1.0", ] files = [ {file = "aiohttp-3.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:615348fab1a9ef7d0960a905e83ad39051ae9cb0d2837da739b5d3a7671e497a"}, {file = "aiohttp-3.10.1.tar.gz", hash = "sha256:8b0d058e4e425d3b45e8ec70d49b402f4d6b21041e674798b1f91ba027c73f28"}, ] [[package]] name = "aiosignal" version = "1.3.1" requires_python = ">=3.7" summary = "aiosignal: a list of registered asynchronous callbacks" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "frozenlist>=1.1.0", ] files = [ {file = "aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"}, {file = "aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"}, ] [[package]] name = "anyio" version = "4.4.0" requires_python = ">=3.8" summary = "High level compatibility layer for multiple asynchronous event loop implementations" groups = ["server"] marker = "python_version == \"3.11\"" dependencies = [ "exceptiongroup>=1.0.2; python_version < \"3.11\"", "idna>=2.8", "sniffio>=1.1", "typing-extensions>=4.1; python_version < \"3.11\"", ] files = [ {file = "anyio-4.4.0-py3-none-any.whl", hash = "sha256:c1b2d8f46a8a812513012e1107cb0e68c17159a7a594208005a57dc776e1bdc7"}, {file = "anyio-4.4.0.tar.gz", hash = "sha256:5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94"}, ] [[package]] name = "asgiref" version = "3.8.1" requires_python = ">=3.8" summary = "ASGI specs, helper code, and adapters" groups = ["default", "debug", "dev", "typing"] marker = "python_version == \"3.11\"" dependencies = [ "typing-extensions>=4; python_version < \"3.11\"", ] files = [ {file = "asgiref-3.8.1-py3-none-any.whl", hash = "sha256:3e1e3ecc849832fe52ccf2cb6686b7a55f82bb1d6aee72a58826471390335e47"}, {file = "asgiref-3.8.1.tar.gz", hash = "sha256:c343bd80a0bec947a9860adb4c432ffa7db769836c64238fc34bdc3fec84d590"}, ] [[package]] name = "asttokens" version = "2.4.1" summary = "Annotate AST trees with source code positions" groups = ["dev"] marker = "python_version == \"3.11\"" dependencies = [ "six>=1.12.0", "typing; python_version < \"3.5\"", ] files = [ {file = "asttokens-2.4.1-py2.py3-none-any.whl", hash = "sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24"}, {file = "asttokens-2.4.1.tar.gz", hash = "sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0"}, ] [[package]] name = "async-property" version = "0.2.2" summary = "Python decorator for async properties." groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "async_property-0.2.2-py2.py3-none-any.whl", hash = "sha256:8924d792b5843994537f8ed411165700b27b2bd966cefc4daeefc1253442a9d7"}, {file = "async_property-0.2.2.tar.gz", hash = "sha256:17d9bd6ca67e27915a75d92549df64b5c7174e9dc806b30a3934dc4ff0506380"}, ] [[package]] name = "attrs" version = "24.1.0" requires_python = ">=3.7" summary = "Classes Without Boilerplate" groups = ["default", "dev"] marker = "python_version == \"3.11\"" dependencies = [ "importlib-metadata; python_version < \"3.8\"", ] files = [ {file = "attrs-24.1.0-py3-none-any.whl", hash = "sha256:377b47448cb61fea38533f671fba0d0f8a96fd58facd4dc518e3dac9dbea0905"}, {file = "attrs-24.1.0.tar.gz", hash = "sha256:adbdec84af72d38be7628e353a09b6a6790d15cd71819f6e9d7b0faa8a125745"}, ] [[package]] name = "beautifulsoup4" version = "4.12.3" requires_python = ">=3.6.0" summary = "Screen-scraping library" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "soupsieve>1.2", ] files = [ {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, ] [[package]] name = "bitarray" version = "2.9.2" summary = "efficient arrays of booleans -- C extension" groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "bitarray-2.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5cb378eaa65cd43098f11ff5d27e48ee3b956d2c00d2d6b5bfc2a09fe183be47"}, {file = "bitarray-2.9.2.tar.gz", hash = "sha256:a8f286a51a32323715d77755ed959f94bef13972e9a2fe71b609e40e6d27957e"}, ] [[package]] name = "bitstring" version = "4.2.3" requires_python = ">=3.8" summary = "Simple construction, analysis and modification of binary data." groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "bitarray<3.0.0,>=2.9.0", ] files = [ {file = "bitstring-4.2.3-py3-none-any.whl", hash = "sha256:20ed0036e2fcf0323acb0f92f0b7b178516a080f3e91061470aa019ac4ede404"}, {file = "bitstring-4.2.3.tar.gz", hash = "sha256:e0c447af3fda0d114f77b88c2d199f02f97ee7e957e6d719f40f41cf15fbb897"}, ] [[package]] name = "brotli" version = "1.1.0" summary = "Python bindings for the Brotli compression library" groups = ["default"] marker = "platform_python_implementation == \"CPython\" and python_version == \"3.11\"" files = [ {file = "Brotli-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a469274ad18dc0e4d316eefa616d1d0c2ff9da369af19fa6f3daa4f09671fd61"}, {file = "Brotli-1.1.0.tar.gz", hash = "sha256:81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724"}, ] [[package]] name = "certifi" version = "2024.7.4" requires_python = ">=3.6" summary = "Python package for providing Mozilla's CA Bundle." groups = ["default", "typing"] marker = "python_version == \"3.11\"" files = [ {file = "certifi-2024.7.4-py3-none-any.whl", hash = "sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90"}, {file = "certifi-2024.7.4.tar.gz", hash = "sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b"}, ] [[package]] name = "cffi" version = "1.16.0" requires_python = ">=3.8" summary = "Foreign Function Interface for Python calling C code." groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "pycparser", ] files = [ {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, ] [[package]] name = "charset-normalizer" version = "3.3.2" requires_python = ">=3.7.0" summary = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." groups = ["default", "typing"] marker = "python_version == \"3.11\"" files = [ {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, ] [[package]] name = "click" version = "8.1.7" requires_python = ">=3.7" summary = "Composable command line interface toolkit" groups = ["default", "lint", "server"] marker = "python_version == \"3.11\"" dependencies = [ "colorama; platform_system == \"Windows\"", "importlib-metadata; python_version < \"3.8\"", ] files = [ {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, ] [[package]] name = "colorama" version = "0.4.6" requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" summary = "Cross-platform colored terminal text." groups = ["lint"] marker = "python_version == \"3.11\"" files = [ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] [[package]] name = "cssbeautifier" version = "1.15.1" summary = "CSS unobfuscator and beautifier." groups = ["lint"] marker = "python_version == \"3.11\"" dependencies = [ "editorconfig>=0.12.2", "jsbeautifier", "six>=1.13.0", ] files = [ {file = "cssbeautifier-1.15.1.tar.gz", hash = "sha256:9f7064362aedd559c55eeecf6b6bed65e05f33488dcbe39044f0403c26e1c006"}, ] [[package]] name = "cssselect" version = "1.2.0" requires_python = ">=3.7" summary = "cssselect parses CSS3 Selectors and translates them to XPath 1.0" groups = ["typing"] marker = "python_version == \"3.11\"" files = [ {file = "cssselect-1.2.0-py2.py3-none-any.whl", hash = "sha256:da1885f0c10b60c03ed5eccbb6b68d6eff248d91976fcde348f395d54c9fd35e"}, {file = "cssselect-1.2.0.tar.gz", hash = "sha256:666b19839cfaddb9ce9d36bfe4c969132c647b92fc9088c4e23f786b30f1b3dc"}, ] [[package]] name = "cssselect2" version = "0.7.0" requires_python = ">=3.7" summary = "CSS selectors for Python ElementTree" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "tinycss2", "webencodings", ] files = [ {file = "cssselect2-0.7.0-py3-none-any.whl", hash = "sha256:fd23a65bfd444595913f02fc71f6b286c29261e354c41d722ca7a261a49b5969"}, {file = "cssselect2-0.7.0.tar.gz", hash = "sha256:1ccd984dab89fc68955043aca4e1b03e0cf29cad9880f6e28e3ba7a74b14aa5a"}, ] [[package]] name = "decorator" version = "5.1.1" requires_python = ">=3.5" summary = "Decorators for Humans" groups = ["dev"] marker = "python_version == \"3.11\"" files = [ {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, ] [[package]] name = "defusedxml" version = "0.7.1" requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" summary = "XML bomb protection for Python stdlib modules" groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, ] [[package]] name = "dj-database-url" version = "2.2.0" summary = "Use Database URLs in your Django Application." groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "Django>=3.2", "typing-extensions>=3.10.0.0", ] files = [ {file = "dj_database_url-2.2.0-py3-none-any.whl", hash = "sha256:3e792567b0aa9a4884860af05fe2aa4968071ad351e033b6db632f97ac6db9de"}, {file = "dj_database_url-2.2.0.tar.gz", hash = "sha256:9f9b05058ddf888f1e6f840048b8d705ff9395e3b52a07165daa3d8b9360551b"}, ] [[package]] name = "dj-email-url" version = "1.0.6" summary = "Use an URL to configure email backend settings in your Django Application." groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "dj-email-url-1.0.6.tar.gz", hash = "sha256:55ffe3329e48f54f8a75aa36ece08f365e09d61f8a209773ef09a1d4760e699a"}, {file = "dj_email_url-1.0.6-py2.py3-none-any.whl", hash = "sha256:cbd08327fbb08b104eac160fb4703f375532e4c0243eb230f5b960daee7a96db"}, ] [[package]] name = "django" version = "5.0.7" requires_python = ">=3.10" summary = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." groups = ["default", "debug", "dev", "typing"] marker = "python_version == \"3.11\"" dependencies = [ "asgiref<4,>=3.7.0", "sqlparse>=0.3.1", "tzdata; sys_platform == \"win32\"", ] files = [ {file = "Django-5.0.7-py3-none-any.whl", hash = "sha256:f216510ace3de5de01329463a315a629f33480e893a9024fc93d8c32c22913da"}, {file = "Django-5.0.7.tar.gz", hash = "sha256:bd4505cae0b9bd642313e8fb71810893df5dc2ffcacaa67a33af2d5cd61888f2"}, ] [[package]] name = "django-admin-logs" version = "1.2.0" requires_python = ">=3.6" summary = "View, delete or disable Django admin log entries." groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "Django>=3.2", ] files = [ {file = "django-admin-logs-1.2.0.tar.gz", hash = "sha256:4bb69c6e2bfaa7bd47ecf5c13674623e2be3b39c1550f39b2500450e6b2bdc62"}, {file = "django_admin_logs-1.2.0-py3-none-any.whl", hash = "sha256:251614a2aa15d5bdd57fe90f9f263d38e6123ea77f52af07393eecdae684e05a"}, ] [[package]] name = "django-auth-ldap" version = "4.8.0" requires_python = ">=3.8" summary = "Django LDAP authentication backend" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "Django>=3.2", "python-ldap>=3.1", ] files = [ {file = "django-auth-ldap-4.8.0.tar.gz", hash = "sha256:604250938ddc9fda619f247c7a59b0b2f06e53a7d3f46a156f28aa30dd71a738"}, {file = "django_auth_ldap-4.8.0-py3-none-any.whl", hash = "sha256:4b4b944f3c28bce362f33fb6e8db68429ed8fd8f12f0c0c4b1a4344a7ef225ce"}, ] [[package]] name = "django-autocomplete-light" version = "3.11.0" summary = "Fresh autocompletes for Django" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "django>=3.2", ] files = [ {file = "django-autocomplete-light-3.11.0.tar.gz", hash = "sha256:212576a17e3308ef7ca77e280b86684167916d2091d4b73640f38845d9516328"}, ] [[package]] name = "django-bootstrap5" version = "24.2" requires_python = ">=3.8" summary = "Bootstrap 5 for Django" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "Django>=4.2", ] files = [ {file = "django_bootstrap5-24.2-py3-none-any.whl", hash = "sha256:6a5d83e9ff1952f7c07c54cebcb76c85f09787b8b57eeb4ec07554cd583acc64"}, {file = "django_bootstrap5-24.2.tar.gz", hash = "sha256:a3cee2b3d45745210c5b898af2917f310f44df746269fe09a93be28a0adc2a4b"}, ] [[package]] name = "django-configurations" version = "2.5.1" requires_python = "<4.0,>=3.8" summary = "A helper for organizing Django settings." groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "django>=3.2", ] files = [ {file = "django-configurations-2.5.1.tar.gz", hash = "sha256:6e5083757e2bbdf9bb7850567536b96a93515f6b17503d74928ff628db2e0e94"}, {file = "django_configurations-2.5.1-py3-none-any.whl", hash = "sha256:ceb84858da2dac846b15e715c2fd936cfc4c7917c074aff8d31700564093955e"}, ] [[package]] name = "django-configurations" version = "2.5.1" extras = ["database", "email"] requires_python = "<4.0,>=3.8" summary = "A helper for organizing Django settings." groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "dj-database-url", "dj-email-url", "django-configurations==2.5.1", ] files = [ {file = "django-configurations-2.5.1.tar.gz", hash = "sha256:6e5083757e2bbdf9bb7850567536b96a93515f6b17503d74928ff628db2e0e94"}, {file = "django_configurations-2.5.1-py3-none-any.whl", hash = "sha256:ceb84858da2dac846b15e715c2fd936cfc4c7917c074aff8d31700564093955e"}, ] [[package]] name = "django-db-views" version = "0.1.8" summary = "Handle database views. Allow to create migrations for database views. View migrations using django code. They can be reversed. Changes in model view definition are detected automatically. Support almost all options as regular makemigrations command" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "django>=2.2", "six", ] files = [ {file = "django_db_views-0.1.8-py2.py3-none-any.whl", hash = "sha256:089c9f193c265f956c0f06d0695b54ff57343bbb25f6c5d546f816e7cb9b456c"}, {file = "django_db_views-0.1.8.tar.gz", hash = "sha256:b737b01b782d859a90f4d579147a5fa34f4b5376606443abe35c5fdc00313bcc"}, ] [[package]] name = "django-debug-toolbar" version = "4.4.6" requires_python = ">=3.8" summary = "A configurable set of panels that display various debug information about the current request/response." groups = ["debug"] marker = "python_version == \"3.11\"" dependencies = [ "django>=4.2.9", "sqlparse>=0.2", ] files = [ {file = "django_debug_toolbar-4.4.6-py3-none-any.whl", hash = "sha256:3beb671c9ec44ffb817fad2780667f172bd1c067dbcabad6268ce39a81335f45"}, {file = "django_debug_toolbar-4.4.6.tar.gz", hash = "sha256:36e421cb908c2f0675e07f9f41e3d1d8618dc386392ec82d23bcfcd5d29c7044"}, ] [[package]] name = "django-extensions" version = "3.2.3" requires_python = ">=3.6" summary = "Extensions for Django" groups = ["dev"] marker = "python_version == \"3.11\"" dependencies = [ "Django>=3.2", ] files = [ {file = "django-extensions-3.2.3.tar.gz", hash = "sha256:44d27919d04e23b3f40231c4ab7af4e61ce832ef46d610cc650d53e68328410a"}, {file = "django_extensions-3.2.3-py3-none-any.whl", hash = "sha256:9600b7562f79a92cbf1fde6403c04fee314608fefbb595502e34383ae8203401"}, ] [[package]] name = "django-filter" version = "24.3" requires_python = ">=3.8" summary = "Django-filter is a reusable Django application for allowing users to filter querysets dynamically." groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "Django>=4.2", ] files = [ {file = "django_filter-24.3-py3-none-any.whl", hash = "sha256:c4852822928ce17fb699bcfccd644b3574f1a2d80aeb2b4ff4f16b02dd49dc64"}, {file = "django_filter-24.3.tar.gz", hash = "sha256:d8ccaf6732afd21ca0542f6733b11591030fa98669f8d15599b358e24a2cd9c3"}, ] [[package]] name = "django-markdownx" version = "4.0.7" summary = "A comprehensive Markdown editor built for Django." groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "Django", "Markdown", "Pillow", ] files = [ {file = "django-markdownx-4.0.7.tar.gz", hash = "sha256:38aa331c2ca0bee218b77f462361b5393e4727962bc6021939c09048363cb6ea"}, {file = "django_markdownx-4.0.7-py2.py3-none-any.whl", hash = "sha256:c1975ae3053481d4c111abd38997a5b5bb89235a1e3215f995d835942925fe7b"}, ] [[package]] name = "django-mysql" version = "4.14.0" requires_python = ">=3.8" summary = "Django-MySQL extends Django's built-in MySQL and MariaDB support their specific features not available on other databases." groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "django>=3.2", ] files = [ {file = "django_mysql-4.14.0-py3-none-any.whl", hash = "sha256:c8ae4b8004bd2e1b74999f0254d255771043913273216a8514cf09aa4bd937bb"}, {file = "django_mysql-4.14.0.tar.gz", hash = "sha256:77cb615afb8f2a92636617d46dbe11b97b28e2b97d8373cf7752c3e1f2c619f1"}, ] [[package]] name = "django-nh3" version = "0.1.1" requires_python = ">=3.10" summary = "Django integration with for nh3, Python binding to Ammonia HTML sanitizer Rust crate." groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "Django>=3.2", "nh3", ] files = [ {file = "django_nh3-0.1.1-py3-none-any.whl", hash = "sha256:10df44fd9c1d1bc5d88739094826c636c2c256ba9d89d17e4356280bb8e159a0"}, ] [[package]] name = "django-object-actions" version = "4.2.0" requires_python = ">=3.7,<4.0" summary = "A Django app for adding object tools for models in the admin" groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "django_object_actions-4.2.0-py3-none-any.whl", hash = "sha256:ae0df9984c68a4f42f219a391b71fa0630fe44a2983b39b8064378ebddcff30c"}, {file = "django_object_actions-4.2.0.tar.gz", hash = "sha256:e24befedf01b6fcdccbb03c33c0e2c855fd1a88f352a66dc7e2170ba31e80128"}, ] [[package]] name = "django-picklefield" version = "3.2" requires_python = ">=3" summary = "Pickled object field for Django" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "Django>=3.2", ] files = [ {file = "django-picklefield-3.2.tar.gz", hash = "sha256:aa463f5d79d497dbe789f14b45180f00a51d0d670067d0729f352a3941cdfa4d"}, {file = "django_picklefield-3.2-py3-none-any.whl", hash = "sha256:e9a73539d110f69825d9320db18bcb82e5189ff48dbed41821c026a20497764c"}, ] [[package]] name = "django-q2" version = "1.6.2" requires_python = ">=3.8,<4" summary = "A multiprocessing distributed task queue for Django" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "django-picklefield<4.0,>=3.1", "django<6,>=3.2", "importlib-metadata>=3.6; python_version < \"3.10\"", ] files = [ {file = "django_q2-1.6.2-py3-none-any.whl", hash = "sha256:c2d75552c80b83ca0d8c0b0db7db4f17e9f43ee131a46d0ddd514c5f5fc603cb"}, {file = "django_q2-1.6.2.tar.gz", hash = "sha256:cd83c16b5791cd99f83a8d106d2447305d73c6c8ed8ec22c7cb954fe0e814284"}, ] [[package]] name = "django-recurrence" version = "1.11.1" requires_python = ">=3.7" summary = "Django utility wrapping dateutil.rrule" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "django>=2.2", "python-dateutil", ] files = [ {file = "django-recurrence-1.11.1.tar.gz", hash = "sha256:9c89444e651a78c587f352c5f63eda48ab2f53996347b9fcdff2d248f4fcff70"}, {file = "django_recurrence-1.11.1-py3-none-any.whl", hash = "sha256:0c65f30872599b5813a9bab6952dada23c55894f28674490a753ada559f14bc5"}, ] [[package]] name = "django-sendfile2" version = "0.7.1" summary = "Abstraction to offload file uploads to web-server (e.g. Apache with mod_xsendfile) once Django has checked permissions etc." groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "django", ] files = [ {file = "django-sendfile2-0.7.1.tar.gz", hash = "sha256:b5bec07f1c9b1875a60ea74beb306e9aba964bd8b54f00b4432cb77cc35bc58c"}, {file = "django_sendfile2-0.7.1-py3-none-any.whl", hash = "sha256:81971df1db77f688c4834b8540930902d0d929c64cf374bd604b81f5ac52c04a"}, ] [[package]] name = "django-stubs" version = "5.0.2" requires_python = ">=3.8" summary = "Mypy stubs for Django" groups = ["typing"] marker = "python_version == \"3.11\"" dependencies = [ "asgiref", "django", "django-stubs-ext>=5.0.2", "tomli; python_version < \"3.11\"", "types-PyYAML", "typing-extensions>=4.11.0", ] files = [ {file = "django_stubs-5.0.2-py3-none-any.whl", hash = "sha256:cb0c506cb5c54c64612e4a2ee8d6b913c6178560ec168009fe847c09747c304b"}, {file = "django_stubs-5.0.2.tar.gz", hash = "sha256:236bc5606e5607cb968f92b648471f9edaa461a774bc013bf9e6bff8730f6bdf"}, ] [[package]] name = "django-stubs-ext" version = "5.0.4" requires_python = ">=3.8" summary = "Monkey-patching and extensions for django-stubs" groups = ["default", "typing"] marker = "python_version == \"3.11\"" dependencies = [ "django", "typing-extensions", ] files = [ {file = "django_stubs_ext-5.0.4-py3-none-any.whl", hash = "sha256:910cbaff3d1e8e806a5c27d5ddd4088535aae8371ea921b7fd680fdfa5f14e30"}, {file = "django_stubs_ext-5.0.4.tar.gz", hash = "sha256:85da065224204774208be29c7d02b4482d5a69218a728465c2fbe41725fdc819"}, ] [[package]] name = "django-stubs" version = "5.0.2" extras = ["compatible-mypy"] requires_python = ">=3.8" summary = "Mypy stubs for Django" groups = ["typing"] marker = "python_version == \"3.11\"" dependencies = [ "django-stubs==5.0.2", "mypy~=1.10.0", ] files = [ {file = "django_stubs-5.0.2-py3-none-any.whl", hash = "sha256:cb0c506cb5c54c64612e4a2ee8d6b913c6178560ec168009fe847c09747c304b"}, {file = "django_stubs-5.0.2.tar.gz", hash = "sha256:236bc5606e5607cb968f92b648471f9edaa461a774bc013bf9e6bff8730f6bdf"}, ] [[package]] name = "django-tables2" version = "2.7.0" summary = "Table/data-grid framework for Django" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "Django>=3.2", ] files = [ {file = "django-tables2-2.7.0.tar.gz", hash = "sha256:4113fcc575eb438a12e83a4d4ea01452e4800d970e8bdd0e4122ac171af1900d"}, {file = "django_tables2-2.7.0-py2.py3-none-any.whl", hash = "sha256:99e06d966ca8ac69fd74092eb45c79a280dd5ca0ccb81395d96261f62128e1af"}, ] [[package]] name = "django-vite" version = "3.0.4" summary = "Integration of Vite in a Django project." groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "Django>=3.2", ] files = [ {file = "django-vite-3.0.4.tar.gz", hash = "sha256:043ab5068b4c66eb33cb26c5215a6dfe275d3c4de15d59b0b7b97b4567912fb0"}, {file = "django_vite-3.0.4-py3-none-any.whl", hash = "sha256:e4088e0c79b7c9cf013ebb2ae0117a8fa57646337a40e90209ba916d65f359d3"}, ] [[package]] name = "django-weasyprint" version = "2.3.0" requires_python = ">=3.8" summary = "Django WeasyPrint CBV" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "Django>=3.2", "WeasyPrint>=53", ] files = [ {file = "django-weasyprint-2.3.0.tar.gz", hash = "sha256:2f849e15bfd6c1b2a58512097b9042eddf3533651d37d2e096cd6f7d8be6442b"}, {file = "django_weasyprint-2.3.0-py3-none-any.whl", hash = "sha256:807cb3b16332123d97c8bbe2ac9c70286103fe353235351803ffd33b67284735"}, ] [[package]] name = "django-widget-tweaks" version = "1.5.0" requires_python = ">=3.8" summary = "Tweak the form field rendering in templates, not in python-level form definitions." groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "django-widget-tweaks-1.5.0.tar.gz", hash = "sha256:1c2180681ebb994e922c754804c7ffebbe1245014777ac47897a81f57cc629c7"}, {file = "django_widget_tweaks-1.5.0-py3-none-any.whl", hash = "sha256:a41b7b2f05bd44d673d11ebd6c09a96f1d013ee98121cb98c384fe84e33b881e"}, ] [[package]] name = "djangorestframework" version = "3.15.2" requires_python = ">=3.8" summary = "Web APIs for Django, made easy." groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "backports-zoneinfo; python_version < \"3.9\"", "django>=4.2", ] files = [ {file = "djangorestframework-3.15.2-py3-none-any.whl", hash = "sha256:2b8871b062ba1aefc2de01f773875441a961fefbf79f5eed1e32b2f096944b20"}, {file = "djangorestframework-3.15.2.tar.gz", hash = "sha256:36fe88cd2d6c6bec23dca9804bab2ba5517a8bb9d8f47ebc68981b56840107ad"}, ] [[package]] name = "djangorestframework-stubs" version = "3.15.0" requires_python = ">=3.8" summary = "PEP-484 stubs for django-rest-framework" groups = ["typing"] marker = "python_version == \"3.11\"" dependencies = [ "django-stubs>=5.0.0", "requests>=2.0.0", "types-PyYAML>=5.4.3", "types-requests>=0.1.12", "typing-extensions>=3.10.0", ] files = [ {file = "djangorestframework_stubs-3.15.0-py3-none-any.whl", hash = "sha256:6c634f16fe1f9b1654cfd921eca64cd4188ce8534ab5e3ec7e44aaa0ca969d93"}, {file = "djangorestframework_stubs-3.15.0.tar.gz", hash = "sha256:f60ee1c80abb01a77acc0169969e07c45c2739ae64667b9a0dd4a2e32697dcab"}, ] [[package]] name = "djangorestframework-stubs" version = "3.15.0" extras = ["compatible-mypy"] requires_python = ">=3.8" summary = "PEP-484 stubs for django-rest-framework" groups = ["typing"] marker = "python_version == \"3.11\"" dependencies = [ "django-stubs[compatible-mypy]", "djangorestframework-stubs==3.15.0", "mypy~=1.10.0", ] files = [ {file = "djangorestframework_stubs-3.15.0-py3-none-any.whl", hash = "sha256:6c634f16fe1f9b1654cfd921eca64cd4188ce8534ab5e3ec7e44aaa0ca969d93"}, {file = "djangorestframework_stubs-3.15.0.tar.gz", hash = "sha256:f60ee1c80abb01a77acc0169969e07c45c2739ae64667b9a0dd4a2e32697dcab"}, ] [[package]] name = "djlint" version = "1.34.1" requires_python = ">=3.8.0,<4.0.0" summary = "HTML Template Linter and Formatter" groups = ["lint"] marker = "python_version == \"3.11\"" dependencies = [ "PyYAML<7.0,>=6.0", "click<9.0.0,>=8.0.1", "colorama<0.5.0,>=0.4.4", "cssbeautifier<2.0.0,>=1.14.4", "html-tag-names<0.2.0,>=0.1.2", "html-void-elements<0.2.0,>=0.1.0", "jsbeautifier<2.0.0,>=1.14.4", "json5<0.10.0,>=0.9.11", "pathspec<0.13.0,>=0.12.0", "regex<2024.0.0,>=2023.0.0", "tomli<3.0.0,>=2.0.1; python_version < \"3.11\"", "tqdm<5.0.0,>=4.62.2", ] files = [ {file = "djlint-1.34.1-py3-none-any.whl", hash = "sha256:96ff1c464fb6f061130ebc88663a2ea524d7ec51f4b56221a2b3f0320a3cfce8"}, {file = "djlint-1.34.1.tar.gz", hash = "sha256:db93fa008d19eaadb0454edf1704931d14469d48508daba2df9941111f408346"}, ] [[package]] name = "docker" version = "6.1.3" requires_python = ">=3.7" summary = "A Python library for the Docker Engine API." groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "packaging>=14.0", "pywin32>=304; sys_platform == \"win32\"", "requests>=2.26.0", "urllib3>=1.26.0", "websocket-client>=0.32.0", ] files = [ {file = "docker-6.1.3-py3-none-any.whl", hash = "sha256:aecd2277b8bf8e506e484f6ab7aec39abe0038e29fa4a6d3ba86c3fe01844ed9"}, {file = "docker-6.1.3.tar.gz", hash = "sha256:aa6d17830045ba5ef0168d5eaa34d37beeb113948c413affe1d5991fc11f9a20"}, ] [[package]] name = "editorconfig" version = "0.12.4" summary = "EditorConfig File Locator and Interpreter for Python" groups = ["lint"] marker = "python_version == \"3.11\"" files = [ {file = "EditorConfig-0.12.4.tar.gz", hash = "sha256:24857fa1793917dd9ccf0c7810a07e05404ce9b823521c7dce22a4fb5d125f80"}, ] [[package]] name = "et-xmlfile" version = "1.1.0" requires_python = ">=3.6" summary = "An implementation of lxml.xmlfile for the standard library" groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "et_xmlfile-1.1.0-py3-none-any.whl", hash = "sha256:a2ba85d1d6a74ef63837eed693bcb89c3f752169b0e3e7ae5b16ca5e1b3deada"}, {file = "et_xmlfile-1.1.0.tar.gz", hash = "sha256:8eb9e2bc2f8c97e37a2dc85a09ecdcdec9d8a396530a6d5a33b30b9a92da0c5c"}, ] [[package]] name = "executing" version = "2.0.1" requires_python = ">=3.5" summary = "Get the currently executing AST node of a frame, and other information" groups = ["dev"] marker = "python_version == \"3.11\"" files = [ {file = "executing-2.0.1-py2.py3-none-any.whl", hash = "sha256:eac49ca94516ccc753f9fb5ce82603156e590b27525a8bc32cce8ae302eb61bc"}, {file = "executing-2.0.1.tar.gz", hash = "sha256:35afe2ce3affba8ee97f2d69927fa823b08b472b7b994e36a52a964b93d16147"}, ] [[package]] name = "fonttools" version = "4.53.1" requires_python = ">=3.8" summary = "Tools to manipulate font files" groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "fonttools-4.53.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bee32ea8765e859670c4447b0817514ca79054463b6b79784b08a8df3a4d78e3"}, {file = "fonttools-4.53.1-py3-none-any.whl", hash = "sha256:f1f8758a2ad110bd6432203a344269f445a2907dc24ef6bccfd0ac4e14e0d71d"}, {file = "fonttools-4.53.1.tar.gz", hash = "sha256:e128778a8e9bc11159ce5447f76766cefbd876f44bd79aff030287254e4752c4"}, ] [[package]] name = "fonttools" version = "4.53.1" extras = ["woff"] requires_python = ">=3.8" summary = "Tools to manipulate font files" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "brotli>=1.0.1; platform_python_implementation == \"CPython\"", "brotlicffi>=0.8.0; platform_python_implementation != \"CPython\"", "fonttools==4.53.1", "zopfli>=0.1.4", ] files = [ {file = "fonttools-4.53.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bee32ea8765e859670c4447b0817514ca79054463b6b79784b08a8df3a4d78e3"}, {file = "fonttools-4.53.1-py3-none-any.whl", hash = "sha256:f1f8758a2ad110bd6432203a344269f445a2907dc24ef6bccfd0ac4e14e0d71d"}, {file = "fonttools-4.53.1.tar.gz", hash = "sha256:e128778a8e9bc11159ce5447f76766cefbd876f44bd79aff030287254e4752c4"}, ] [[package]] name = "frozenlist" version = "1.4.1" requires_python = ">=3.8" summary = "A list-like structure which implements collections.abc.MutableSequence" groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f9c515e7914626b2a2e1e311794b4c35720a0be87af52b79ff8e1429fc25f19"}, {file = "frozenlist-1.4.1-py3-none-any.whl", hash = "sha256:04ced3e6a46b4cfffe20f9ae482818e34eba9b5fb0ce4056e4cc9b6e212d09b7"}, {file = "frozenlist-1.4.1.tar.gz", hash = "sha256:c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b"}, ] [[package]] name = "h11" version = "0.14.0" requires_python = ">=3.7" summary = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" groups = ["server"] marker = "python_version == \"3.11\"" dependencies = [ "typing-extensions; python_version < \"3.8\"", ] files = [ {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, ] [[package]] name = "html-tag-names" version = "0.1.2" requires_python = ">=3.7,<4.0" summary = "List of known HTML tag names" groups = ["lint"] marker = "python_version == \"3.11\"" files = [ {file = "html-tag-names-0.1.2.tar.gz", hash = "sha256:04924aca48770f36b5a41c27e4d917062507be05118acb0ba869c97389084297"}, {file = "html_tag_names-0.1.2-py3-none-any.whl", hash = "sha256:eeb69ef21078486b615241f0393a72b41352c5219ee648e7c61f5632d26f0420"}, ] [[package]] name = "html-void-elements" version = "0.1.0" requires_python = ">=3.7,<4.0" summary = "List of HTML void tag names." groups = ["lint"] marker = "python_version == \"3.11\"" files = [ {file = "html-void-elements-0.1.0.tar.gz", hash = "sha256:931b88f84cd606fee0b582c28fcd00e41d7149421fb673e1e1abd2f0c4f231f0"}, {file = "html_void_elements-0.1.0-py3-none-any.whl", hash = "sha256:784cf39db03cdeb017320d9301009f8f3480f9d7b254d0974272e80e0cb5e0d2"}, ] [[package]] name = "html5lib" version = "1.1" requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" summary = "HTML parser based on the WHATWG HTML specification" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "six>=1.9", "webencodings", ] files = [ {file = "html5lib-1.1-py2.py3-none-any.whl", hash = "sha256:0d78f8fde1c230e99fe37986a60526d7049ed4bf8a9fadbad5f00e22e58e041d"}, {file = "html5lib-1.1.tar.gz", hash = "sha256:b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f"}, ] [[package]] name = "httptools" version = "0.6.1" requires_python = ">=3.8.0" summary = "A collection of framework independent HTTP protocol utils." groups = ["server"] marker = "python_version == \"3.11\"" files = [ {file = "httptools-0.6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d9ceb2c957320def533671fc9c715a80c47025139c8d1f3797477decbc6edd2"}, {file = "httptools-0.6.1.tar.gz", hash = "sha256:c6e26c30455600b95d94b1b836085138e82f177351454ee841c148f93a9bad5a"}, ] [[package]] name = "hypothesis" version = "6.108.9" requires_python = ">=3.8" summary = "A library for property-based testing" groups = ["dev"] marker = "python_version == \"3.11\"" dependencies = [ "attrs>=22.2.0", "exceptiongroup>=1.0.0; python_version < \"3.11\"", "sortedcontainers<3.0.0,>=2.1.0", ] files = [ {file = "hypothesis-6.108.9-py3-none-any.whl", hash = "sha256:52fc4617ed9dde4c24a0b7a120b8f0bbbc8987397134694786499239b3e54766"}, {file = "hypothesis-6.108.9.tar.gz", hash = "sha256:5b1eef70b2f1c3682935fd8fa4bc535d824b15fe3612bb0043dfdc9e370c640b"}, ] [[package]] name = "hypothesis" version = "6.108.9" extras = ["django"] requires_python = ">=3.8" summary = "A library for property-based testing" groups = ["dev"] marker = "python_version == \"3.11\"" dependencies = [ "django>=3.2", "hypothesis==6.108.9", ] files = [ {file = "hypothesis-6.108.9-py3-none-any.whl", hash = "sha256:52fc4617ed9dde4c24a0b7a120b8f0bbbc8987397134694786499239b3e54766"}, {file = "hypothesis-6.108.9.tar.gz", hash = "sha256:5b1eef70b2f1c3682935fd8fa4bc535d824b15fe3612bb0043dfdc9e370c640b"}, ] [[package]] name = "idna" version = "3.7" requires_python = ">=3.5" summary = "Internationalized Domain Names in Applications (IDNA)" groups = ["default", "server", "typing"] marker = "python_version == \"3.11\"" files = [ {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, ] [[package]] name = "ipython" version = "8.26.0" requires_python = ">=3.10" summary = "IPython: Productive Interactive Computing" groups = ["dev"] marker = "python_version == \"3.11\"" dependencies = [ "colorama; sys_platform == \"win32\"", "decorator", "exceptiongroup; python_version < \"3.11\"", "jedi>=0.16", "matplotlib-inline", "pexpect>4.3; sys_platform != \"win32\" and sys_platform != \"emscripten\"", "prompt-toolkit<3.1.0,>=3.0.41", "pygments>=2.4.0", "stack-data", "traitlets>=5.13.0", "typing-extensions>=4.6; python_version < \"3.12\"", ] files = [ {file = "ipython-8.26.0-py3-none-any.whl", hash = "sha256:e6b347c27bdf9c32ee9d31ae85defc525755a1869f14057e900675b9e8d6e6ff"}, {file = "ipython-8.26.0.tar.gz", hash = "sha256:1cec0fbba8404af13facebe83d04436a7434c7400e59f47acf467c64abd0956c"}, ] [[package]] name = "jedi" version = "0.19.1" requires_python = ">=3.6" summary = "An autocompletion tool for Python that can be used for text editors." groups = ["dev"] marker = "python_version == \"3.11\"" dependencies = [ "parso<0.9.0,>=0.8.3", ] files = [ {file = "jedi-0.19.1-py2.py3-none-any.whl", hash = "sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0"}, {file = "jedi-0.19.1.tar.gz", hash = "sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd"}, ] [[package]] name = "jsbeautifier" version = "1.15.1" summary = "JavaScript unobfuscator and beautifier." groups = ["lint"] marker = "python_version == \"3.11\"" dependencies = [ "editorconfig>=0.12.2", "six>=1.13.0", ] files = [ {file = "jsbeautifier-1.15.1.tar.gz", hash = "sha256:ebd733b560704c602d744eafc839db60a1ee9326e30a2a80c4adb8718adc1b24"}, ] [[package]] name = "json5" version = "0.9.25" requires_python = ">=3.8" summary = "A Python implementation of the JSON5 data format." groups = ["lint"] marker = "python_version == \"3.11\"" files = [ {file = "json5-0.9.25-py3-none-any.whl", hash = "sha256:34ed7d834b1341a86987ed52f3f76cd8ee184394906b6e22a1e0deb9ab294e8f"}, {file = "json5-0.9.25.tar.gz", hash = "sha256:548e41b9be043f9426776f05df8635a00fe06104ea51ed24b67f908856e151ae"}, ] [[package]] name = "lxml" version = "5.2.2" requires_python = ">=3.6" summary = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "lxml-5.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:303f540ad2dddd35b92415b74b900c749ec2010e703ab3bfd6660979d01fd4ed"}, {file = "lxml-5.2.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:eb00b549b13bd6d884c863554566095bf6fa9c3cecb2e7b399c4bc7904cb33b5"}, {file = "lxml-5.2.2.tar.gz", hash = "sha256:bb2dc4898180bea79863d5487e5f9c7c34297414bad54bcd0f0852aee9cfdb87"}, ] [[package]] name = "markdown" version = "3.6" requires_python = ">=3.8" summary = "Python implementation of John Gruber's Markdown." groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "importlib-metadata>=4.4; python_version < \"3.10\"", ] files = [ {file = "Markdown-3.6-py3-none-any.whl", hash = "sha256:48f276f4d8cfb8ce6527c8f79e2ee29708508bf4d40aa410fbc3b4ee832c850f"}, {file = "Markdown-3.6.tar.gz", hash = "sha256:ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224"}, ] [[package]] name = "markdown-it-py" version = "3.0.0" requires_python = ">=3.8" summary = "Python port of markdown-it. Markdown parsing, done right!" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "mdurl~=0.1", ] files = [ {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, ] [[package]] name = "markdownify" version = "0.13.1" summary = "Convert HTML to markdown." groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "beautifulsoup4<5,>=4.9", "six<2,>=1.15", ] files = [ {file = "markdownify-0.13.1-py3-none-any.whl", hash = "sha256:1d181d43d20902bcc69d7be85b5316ed174d0dda72ff56e14ae4c95a4a407d22"}, {file = "markdownify-0.13.1.tar.gz", hash = "sha256:ab257f9e6bd4075118828a28c9d02f8a4bfeb7421f558834aa79b2dfeb32a098"}, ] [[package]] name = "matplotlib-inline" version = "0.1.7" requires_python = ">=3.8" summary = "Inline Matplotlib backend for Jupyter" groups = ["dev"] marker = "python_version == \"3.11\"" dependencies = [ "traitlets", ] files = [ {file = "matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca"}, {file = "matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90"}, ] [[package]] name = "mdformat" version = "0.7.17" requires_python = ">=3.8" summary = "CommonMark compliant Markdown formatter" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "importlib-metadata>=3.6.0; python_version < \"3.10\"", "markdown-it-py<4.0.0,>=1.0.0", "tomli>=1.1.0; python_version < \"3.11\"", ] files = [ {file = "mdformat-0.7.17-py3-none-any.whl", hash = "sha256:91ffc5e203f5814a6ad17515c77767fd2737fc12ffd8b58b7bb1d8b9aa6effaa"}, {file = "mdformat-0.7.17.tar.gz", hash = "sha256:a9dbb1838d43bb1e6f03bd5dca9412c552544a9bc42d6abb5dc32adfe8ae7c0d"}, ] [[package]] name = "mdformat-tables" version = "0.4.1" requires_python = ">=3.6.1" summary = "An mdformat plugin for rendering tables." groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "mdformat<0.8.0,>=0.7.5", ] files = [ {file = "mdformat_tables-0.4.1-py3-none-any.whl", hash = "sha256:981f3dc7350027f78e3fd6a5fe8a16e123eec423af2d140e588d855751501019"}, {file = "mdformat_tables-0.4.1.tar.gz", hash = "sha256:3024e88e9d29d7b8bb07fd6b59c9d5dcf14d2060122be29e30e72d27b65d7da9"}, ] [[package]] name = "mdurl" version = "0.1.2" requires_python = ">=3.7" summary = "Markdown URL utilities" groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, ] [[package]] name = "multidict" version = "6.0.5" requires_python = ">=3.7" summary = "multidict implementation" groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85f67aed7bb647f93e7520633d8f51d3cbc6ab96957c71272b286b2f30dc70ed"}, {file = "multidict-6.0.5-py3-none-any.whl", hash = "sha256:0d63c74e3d7ab26de115c49bffc92cc77ed23395303d496eae515d4204a625e7"}, {file = "multidict-6.0.5.tar.gz", hash = "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da"}, ] [[package]] name = "mypy" version = "1.10.1" requires_python = ">=3.8" summary = "Optional static typing for Python" groups = ["typing"] marker = "python_version == \"3.11\"" dependencies = [ "mypy-extensions>=1.0.0", "tomli>=1.1.0; python_version < \"3.11\"", "typing-extensions>=4.1.0", ] files = [ {file = "mypy-1.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8edd4e9bbbc9d7b79502eb9592cab808585516ae1bcc1446eb9122656c6066f"}, {file = "mypy-1.10.1-py3-none-any.whl", hash = "sha256:71d8ac0b906354ebda8ef1673e5fde785936ac1f29ff6987c7483cfbd5a4235a"}, {file = "mypy-1.10.1.tar.gz", hash = "sha256:1f8f492d7db9e3593ef42d4f115f04e556130f2819ad33ab84551403e97dd4c0"}, ] [[package]] name = "mypy-extensions" version = "1.0.0" requires_python = ">=3.5" summary = "Type system extensions for programs checked with the mypy type checker." groups = ["typing"] marker = "python_version == \"3.11\"" files = [ {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, ] [[package]] name = "mysqlclient" version = "2.2.4" requires_python = ">=3.8" summary = "Python interface to MySQL" groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "mysqlclient-2.2.4.tar.gz", hash = "sha256:33bc9fb3464e7d7c10b1eaf7336c5ff8f2a3d3b88bab432116ad2490beb3bf41"}, ] [[package]] name = "nh3" version = "0.2.18" summary = "Python bindings to the ammonia HTML sanitization library." groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "nh3-0.2.18-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3ceed6e661954871d6cd78b410213bdcb136f79aafe22aa7182e028b8c7307"}, {file = "nh3-0.2.18.tar.gz", hash = "sha256:94a166927e53972a9698af9542ace4e38b9de50c34352b962f4d9a7d4c927af4"}, ] [[package]] name = "odfpy" version = "1.4.1" summary = "Python API and tools to manipulate OpenDocument files" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "defusedxml", ] files = [ {file = "odfpy-1.4.1.tar.gz", hash = "sha256:db766a6e59c5103212f3cc92ec8dd50a0f3a02790233ed0b52148b70d3c438ec"}, ] [[package]] name = "openapi-client-udm" version = "1.0.2" summary = "Univention Directory Manager REST interface" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "aiohttp>=3.0.0", "python-dateutil", "six>=1.10", "urllib3>=1.25.3", ] files = [ {file = "openapi-client-udm-1.0.2.tar.gz", hash = "sha256:c0f41109320ec4bda2f7a72c3705ddb839f06b60a88089a041f7df1442dd396b"}, {file = "openapi_client_udm-1.0.2-py3-none-any.whl", hash = "sha256:453d4fe405542729cd307005e4b9710ae475693c6795616b1568e045114e1be5"}, ] [[package]] name = "openpyxl" version = "3.1.5" requires_python = ">=3.8" summary = "A Python library to read/write Excel 2010 xlsx/xlsm files" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "et-xmlfile", ] files = [ {file = "openpyxl-3.1.5-py2.py3-none-any.whl", hash = "sha256:5282c12b107bffeef825f4617dc029afaf41d0ea60823bbb665ef3079dc79de2"}, {file = "openpyxl-3.1.5.tar.gz", hash = "sha256:cf0e3cf56142039133628b5acffe8ef0c12bc902d2aadd3e0fe5878dc08d1050"}, ] [[package]] name = "packaging" version = "24.1" requires_python = ">=3.8" summary = "Core utilities for Python packages" groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, ] [[package]] name = "parso" version = "0.8.4" requires_python = ">=3.6" summary = "A Python Parser" groups = ["dev"] marker = "python_version == \"3.11\"" files = [ {file = "parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18"}, {file = "parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d"}, ] [[package]] name = "pathspec" version = "0.12.1" requires_python = ">=3.8" summary = "Utility library for gitignore style pattern matching of file paths." groups = ["lint"] marker = "python_version == \"3.11\"" files = [ {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, ] [[package]] name = "pexpect" version = "4.9.0" summary = "Pexpect allows easy control of interactive console applications." groups = ["dev"] marker = "(sys_platform != \"win32\" and sys_platform != \"emscripten\") and python_version == \"3.11\"" dependencies = [ "ptyprocess>=0.5", ] files = [ {file = "pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523"}, {file = "pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"}, ] [[package]] name = "pillow" version = "10.4.0" requires_python = ">=3.8" summary = "Python Imaging Library (Fork)" groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6"}, {file = "pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319"}, {file = "pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06"}, ] [[package]] name = "prompt-toolkit" version = "3.0.47" requires_python = ">=3.7.0" summary = "Library for building powerful interactive command lines in Python" groups = ["dev"] marker = "python_version == \"3.11\"" dependencies = [ "wcwidth", ] files = [ {file = "prompt_toolkit-3.0.47-py3-none-any.whl", hash = "sha256:0d7bfa67001d5e39d02c224b663abc33687405033a8c422d0d675a5a13361d10"}, {file = "prompt_toolkit-3.0.47.tar.gz", hash = "sha256:1e1b29cb58080b1e69f207c893a1a7bf16d127a5c30c9d17a25a5d77792e5360"}, ] [[package]] name = "ptyprocess" version = "0.7.0" summary = "Run a subprocess in a pseudo terminal" groups = ["dev"] marker = "(sys_platform != \"win32\" and sys_platform != \"emscripten\") and python_version == \"3.11\"" files = [ {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, ] [[package]] name = "pure-eval" version = "0.2.3" summary = "Safely evaluate AST nodes without side effects" groups = ["dev"] marker = "python_version == \"3.11\"" files = [ {file = "pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0"}, {file = "pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42"}, ] [[package]] name = "pyasn1" version = "0.6.0" requires_python = ">=3.8" summary = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "pyasn1-0.6.0-py2.py3-none-any.whl", hash = "sha256:cca4bb0f2df5504f02f6f8a775b6e416ff9b0b3b16f7ee80b5a3153d9b804473"}, {file = "pyasn1-0.6.0.tar.gz", hash = "sha256:3a35ab2c4b5ef98e17dfdec8ab074046fbda76e281c5a706ccd82328cfc8f64c"}, ] [[package]] name = "pyasn1-modules" version = "0.4.0" requires_python = ">=3.8" summary = "A collection of ASN.1-based protocols modules" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "pyasn1<0.7.0,>=0.4.6", ] files = [ {file = "pyasn1_modules-0.4.0-py3-none-any.whl", hash = "sha256:be04f15b66c206eed667e0bb5ab27e2b1855ea54a842e5037738099e8ca4ae0b"}, {file = "pyasn1_modules-0.4.0.tar.gz", hash = "sha256:831dbcea1b177b28c9baddf4c6d1013c24c3accd14a1873fffaa6a2e905f17b6"}, ] [[package]] name = "pycparser" version = "2.22" requires_python = ">=3.8" summary = "C parser in Python" groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, ] [[package]] name = "pydyf" version = "0.11.0" requires_python = ">=3.8" summary = "A low-level PDF generator." groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "pydyf-0.11.0-py3-none-any.whl", hash = "sha256:0aaf9e2ebbe786ec7a78ec3fbffa4cdcecde53fd6f563221d53c6bc1328848a3"}, {file = "pydyf-0.11.0.tar.gz", hash = "sha256:394dddf619cca9d0c55715e3c55ea121a9bf9cbc780cdc1201a2427917b86b64"}, ] [[package]] name = "pygments" version = "2.18.0" requires_python = ">=3.8" summary = "Pygments is a syntax highlighting package written in Python." groups = ["dev"] marker = "python_version == \"3.11\"" files = [ {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, ] [[package]] name = "pyphen" version = "0.16.0" requires_python = ">=3.8" summary = "Pure Python module to hyphenate text" groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "pyphen-0.16.0-py3-none-any.whl", hash = "sha256:b4a4c6d7d5654b698b5fc68123148bb799b3debe0175d1d5dc3edfe93066fc4c"}, {file = "pyphen-0.16.0.tar.gz", hash = "sha256:2c006b3ddf072c9571ab97606d9ab3c26a92eaced4c0d59fd1d26988f308f413"}, ] [[package]] name = "python-dateutil" version = "2.9.0.post0" requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" summary = "Extensions to the standard Python datetime module" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "six>=1.5", ] 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]] name = "python-dotenv" version = "1.0.1" requires_python = ">=3.8" summary = "Read key-value pairs from a .env file and set them as environment variables" groups = ["server"] marker = "python_version == \"3.11\"" files = [ {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"}, {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"}, ] [[package]] name = "python-ldap" version = "3.4.4" requires_python = ">=3.6" summary = "Python modules for implementing LDAP clients" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "pyasn1-modules>=0.1.5", "pyasn1>=0.3.7", ] files = [ {file = "python-ldap-3.4.4.tar.gz", hash = "sha256:7edb0accec4e037797705f3a05cbf36a9fde50d08c8f67f2aef99a2628fab828"}, ] [[package]] name = "pyyaml" version = "6.0.1" requires_python = ">=3.6" summary = "YAML parser and emitter for Python" groups = ["lint", "server"] marker = "python_version == \"3.11\"" files = [ {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, ] [[package]] name = "regex" version = "2023.12.25" requires_python = ">=3.7" summary = "Alternative regular expression module, to replace re." groups = ["lint"] marker = "python_version == \"3.11\"" files = [ {file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f72cbae7f6b01591f90814250e636065850c5926751af02bb48da94dfced7baa"}, {file = "regex-2023.12.25.tar.gz", hash = "sha256:29171aa128da69afdf4bde412d5bedc335f2ca8fcfe4489038577d05f16181e5"}, ] [[package]] name = "requests" version = "2.32.3" requires_python = ">=3.8" summary = "Python HTTP for Humans." groups = ["default", "typing"] marker = "python_version == \"3.11\"" dependencies = [ "certifi>=2017.4.17", "charset-normalizer<4,>=2", "idna<4,>=2.5", "urllib3<3,>=1.21.1", ] files = [ {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, ] [[package]] name = "ruff" version = "0.5.6" requires_python = ">=3.7" summary = "An extremely fast Python linter and code formatter, written in Rust." groups = ["lint"] marker = "python_version == \"3.11\"" files = [ {file = "ruff-0.5.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c94e084ba3eaa80c2172918c2ca2eb2230c3f15925f4ed8b6297260c6ef179ad"}, {file = "ruff-0.5.6.tar.gz", hash = "sha256:07c9e3c2a8e1fe377dd460371c3462671a728c981c3205a5217291422209f642"}, ] [[package]] name = "semver" version = "3.0.2" requires_python = ">=3.7" summary = "Python helper for Semantic Versioning (https://semver.org)" groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "semver-3.0.2-py3-none-any.whl", hash = "sha256:b1ea4686fe70b981f85359eda33199d60c53964284e0cfb4977d243e37cf4bf4"}, {file = "semver-3.0.2.tar.gz", hash = "sha256:6253adb39c70f6e51afed2fa7152bcd414c411286088fb4b9effb133885ab4cc"}, ] [[package]] name = "setuptools" version = "72.1.0" requires_python = ">=3.8" summary = "Easily download, build, install, upgrade, and uninstall Python packages" groups = ["server", "typing"] marker = "python_version == \"3.11\"" files = [ {file = "setuptools-72.1.0-py3-none-any.whl", hash = "sha256:5a03e1860cf56bb6ef48ce186b0e557fdba433237481a9a625176c2831be15d1"}, {file = "setuptools-72.1.0.tar.gz", hash = "sha256:8d243eff56d095e5817f796ede6ae32941278f542e0f941867cc05ae52b162ec"}, ] [[package]] name = "six" version = "1.16.0" requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" summary = "Python 2 and 3 compatibility utilities" groups = ["default", "dev", "lint"] marker = "python_version == \"3.11\"" files = [ {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, ] [[package]] name = "sniffio" version = "1.3.1" requires_python = ">=3.7" summary = "Sniff out which async library your code is running under" groups = ["server"] marker = "python_version == \"3.11\"" 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" summary = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set" groups = ["dev"] marker = "python_version == \"3.11\"" 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 = "soupsieve" version = "2.5" requires_python = ">=3.8" summary = "A modern CSS selector implementation for Beautiful Soup." groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "soupsieve-2.5-py3-none-any.whl", hash = "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"}, {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"}, ] [[package]] name = "sqlparse" version = "0.5.1" requires_python = ">=3.8" summary = "A non-validating SQL parser." groups = ["default", "debug", "dev", "typing"] marker = "python_version == \"3.11\"" files = [ {file = "sqlparse-0.5.1-py3-none-any.whl", hash = "sha256:773dcbf9a5ab44a090f3441e2180efe2560220203dc2f8c0b0fa141e18b505e4"}, {file = "sqlparse-0.5.1.tar.gz", hash = "sha256:bb6b4df465655ef332548e24f08e205afc81b9ab86cb1c45657a7ff173a3a00e"}, ] [[package]] name = "stack-data" version = "0.6.3" summary = "Extract data from python stack frames and tracebacks for informative displays" groups = ["dev"] marker = "python_version == \"3.11\"" dependencies = [ "asttokens>=2.1.0", "executing>=1.2.0", "pure-eval", ] files = [ {file = "stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695"}, {file = "stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"}, ] [[package]] name = "tablib" version = "3.6.1" requires_python = ">=3.8" summary = "Format agnostic tabular data library (XLS, JSON, YAML, CSV, etc.)" groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "tablib-3.6.1-py3-none-any.whl", hash = "sha256:c771d38ed1d74350a69873db43e0afb7f1cca0ed2915a7243094463eb6789207"}, {file = "tablib-3.6.1.tar.gz", hash = "sha256:040685fde11e9237675f43e985edb94b63250a5e9236f89d561ce6fb1465b839"}, ] [[package]] name = "tablib" version = "3.6.1" extras = ["ods", "xlsx"] requires_python = ">=3.8" summary = "Format agnostic tabular data library (XLS, JSON, YAML, CSV, etc.)" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "odfpy", "openpyxl>=2.6.0", "tablib==3.6.1", ] files = [ {file = "tablib-3.6.1-py3-none-any.whl", hash = "sha256:c771d38ed1d74350a69873db43e0afb7f1cca0ed2915a7243094463eb6789207"}, {file = "tablib-3.6.1.tar.gz", hash = "sha256:040685fde11e9237675f43e985edb94b63250a5e9236f89d561ce6fb1465b839"}, ] [[package]] name = "tblib" version = "3.0.0" requires_python = ">=3.8" summary = "Traceback serialization library." groups = ["dev"] marker = "python_version == \"3.11\"" files = [ {file = "tblib-3.0.0-py3-none-any.whl", hash = "sha256:80a6c77e59b55e83911e1e607c649836a69c103963c5f28a46cbeef44acf8129"}, {file = "tblib-3.0.0.tar.gz", hash = "sha256:93622790a0a29e04f0346458face1e144dc4d32f493714c6c3dff82a4adb77e6"}, ] [[package]] name = "tinycss2" version = "1.3.0" requires_python = ">=3.8" summary = "A tiny CSS parser" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "webencodings>=0.4", ] files = [ {file = "tinycss2-1.3.0-py3-none-any.whl", hash = "sha256:54a8dbdffb334d536851be0226030e9505965bb2f30f21a4a82c55fb2a80fae7"}, {file = "tinycss2-1.3.0.tar.gz", hash = "sha256:152f9acabd296a8375fbca5b84c961ff95971fcfc32e79550c8df8e29118c54d"}, ] [[package]] name = "tqdm" version = "4.66.5" requires_python = ">=3.7" summary = "Fast, Extensible Progress Meter" groups = ["lint"] marker = "python_version == \"3.11\"" dependencies = [ "colorama; platform_system == \"Windows\"", ] files = [ {file = "tqdm-4.66.5-py3-none-any.whl", hash = "sha256:90279a3770753eafc9194a0364852159802111925aa30eb3f9d85b0e805ac7cd"}, {file = "tqdm-4.66.5.tar.gz", hash = "sha256:e1020aef2e5096702d8a025ac7d16b1577279c9d63f8375b63083e9a5f0fcbad"}, ] [[package]] name = "traitlets" version = "5.14.3" requires_python = ">=3.8" summary = "Traitlets Python configuration system" groups = ["dev"] marker = "python_version == \"3.11\"" files = [ {file = "traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f"}, {file = "traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7"}, ] [[package]] name = "types-beautifulsoup4" version = "4.12.0.20240511" requires_python = ">=3.8" summary = "Typing stubs for beautifulsoup4" groups = ["typing"] marker = "python_version == \"3.11\"" dependencies = [ "types-html5lib", ] files = [ {file = "types-beautifulsoup4-4.12.0.20240511.tar.gz", hash = "sha256:004f6096fdd83b19cdbf6cb10e4eae57b10205eccc365d0a69d77da836012e28"}, {file = "types_beautifulsoup4-4.12.0.20240511-py3-none-any.whl", hash = "sha256:7ceda66a93ba28d759d5046d7fec9f4cad2f563a77b3a789efc90bcadafeefd1"}, ] [[package]] name = "types-bleach" version = "6.1.0.20240331" requires_python = ">=3.8" summary = "Typing stubs for bleach" groups = ["typing"] marker = "python_version == \"3.11\"" dependencies = [ "types-html5lib", ] files = [ {file = "types-bleach-6.1.0.20240331.tar.gz", hash = "sha256:2ee858a84fb06fc2225ff56ba2f7f6c88b65638659efae0d7bfd6b24a1b5a524"}, {file = "types_bleach-6.1.0.20240331-py3-none-any.whl", hash = "sha256:399bc59bfd20a36a56595f13f805e56c8a08e5a5c07903e5cf6fafb5a5107dd4"}, ] [[package]] name = "types-docutils" version = "0.21.0.20240724" requires_python = ">=3.8" summary = "Typing stubs for docutils" groups = ["typing"] marker = "python_version == \"3.11\"" files = [ {file = "types-docutils-0.21.0.20240724.tar.gz", hash = "sha256:29ff7e27660f4fe76ea61d7e54d05ca3ce3b733ca9e8e8721e0fa587dbc10489"}, {file = "types_docutils-0.21.0.20240724-py3-none-any.whl", hash = "sha256:bf51c6c488d23c0412f9b3ba10686fb1a6cb0b957ef04b45128d8a55c79ebb00"}, ] [[package]] name = "types-html5lib" version = "1.1.11.20240806" requires_python = ">=3.8" summary = "Typing stubs for html5lib" groups = ["typing"] marker = "python_version == \"3.11\"" files = [ {file = "types-html5lib-1.1.11.20240806.tar.gz", hash = "sha256:8060dc98baf63d6796a765bbbc809fff9f7a383f6e3a9add526f814c086545ef"}, {file = "types_html5lib-1.1.11.20240806-py3-none-any.whl", hash = "sha256:575c4fd84ba8eeeaa8520c7e4c7042b7791f5ec3e9c0a5d5c418124c42d9e7e4"}, ] [[package]] name = "types-lxml" version = "2024.4.14" requires_python = ">=3.8" summary = "Complete lxml external type annotation" groups = ["typing"] marker = "python_version == \"3.11\"" dependencies = [ "cssselect~=1.2", "types-beautifulsoup4~=4.12", "typing-extensions~=4.5", ] files = [ {file = "types_lxml-2024.4.14-py3-none-any.whl", hash = "sha256:7e5f836067cde4fddce3cdbf2bac7192c764bf5ee6d3eb86c732ad1b84f265c5"}, {file = "types_lxml-2024.4.14.tar.gz", hash = "sha256:dd8105b579925af1b6ae77469f4fc835be3872b15e86cb46ad4fcc33b20c781d"}, ] [[package]] name = "types-markdown" version = "3.6.0.20240316" requires_python = ">=3.8" summary = "Typing stubs for Markdown" groups = ["typing"] marker = "python_version == \"3.11\"" files = [ {file = "types-Markdown-3.6.0.20240316.tar.gz", hash = "sha256:de9fb84860b55b647b170ca576895fcca61b934a6ecdc65c31932c6795b440b8"}, {file = "types_Markdown-3.6.0.20240316-py3-none-any.whl", hash = "sha256:d3ecd26a940781787c7b57a0e3c9d77c150db64e12989ef687059edc83dfd78a"}, ] [[package]] name = "types-psycopg2" version = "2.9.21.20240417" requires_python = ">=3.8" summary = "Typing stubs for psycopg2" groups = ["typing"] marker = "python_version == \"3.11\"" files = [ {file = "types-psycopg2-2.9.21.20240417.tar.gz", hash = "sha256:05db256f4a459fb21a426b8e7fca0656c3539105ff0208eaf6bdaf406a387087"}, {file = "types_psycopg2-2.9.21.20240417-py3-none-any.whl", hash = "sha256:644d6644d64ebbe37203229b00771012fb3b3bddd507a129a2e136485990e4f8"}, ] [[package]] name = "types-pygments" version = "2.18.0.20240506" requires_python = ">=3.8" summary = "Typing stubs for Pygments" groups = ["typing"] marker = "python_version == \"3.11\"" dependencies = [ "types-docutils", "types-setuptools", ] files = [ {file = "types-Pygments-2.18.0.20240506.tar.gz", hash = "sha256:4b4c37812c87bbde687dbf27adf5bac593745a321e57f678dbc311571ba2ac9d"}, {file = "types_Pygments-2.18.0.20240506-py3-none-any.whl", hash = "sha256:11c90bc1737c9af55e5569558b88df7c2233e12325cb516215f722271444e91d"}, ] [[package]] name = "types-pyyaml" version = "6.0.12.20240724" requires_python = ">=3.8" summary = "Typing stubs for PyYAML" groups = ["typing"] marker = "python_version == \"3.11\"" files = [ {file = "types-PyYAML-6.0.12.20240724.tar.gz", hash = "sha256:cf7b31ae67e0c5b2919c703d2affc415485099d3fe6666a6912f040fd05cb67f"}, {file = "types_PyYAML-6.0.12.20240724-py3-none-any.whl", hash = "sha256:e5becec598f3aa3a2ddf671de4a75fa1c6856fbf73b2840286c9d50fae2d5d48"}, ] [[package]] name = "types-requests" version = "2.32.0.20240712" requires_python = ">=3.8" summary = "Typing stubs for requests" groups = ["typing"] marker = "python_version == \"3.11\"" dependencies = [ "urllib3>=2", ] files = [ {file = "types-requests-2.32.0.20240712.tar.gz", hash = "sha256:90c079ff05e549f6bf50e02e910210b98b8ff1ebdd18e19c873cd237737c1358"}, {file = "types_requests-2.32.0.20240712-py3-none-any.whl", hash = "sha256:f754283e152c752e46e70942fa2a146b5bc70393522257bb85bd1ef7e019dcc3"}, ] [[package]] name = "types-setuptools" version = "71.1.0.20240806" requires_python = ">=3.8" summary = "Typing stubs for setuptools" groups = ["typing"] marker = "python_version == \"3.11\"" files = [ {file = "types-setuptools-71.1.0.20240806.tar.gz", hash = "sha256:ae5e7b4d643ab9e99fc00ac00041804118cabe72a56183c30d524fb064897ad6"}, {file = "types_setuptools-71.1.0.20240806-py3-none-any.whl", hash = "sha256:3bd8dd02039be0bb79ad880d8893b8eefcb022fabbeeb61245c61b20c9ab1ed0"}, ] [[package]] name = "types-urllib3" version = "1.26.25.14" summary = "Typing stubs for urllib3" groups = ["typing"] marker = "python_version == \"3.11\"" files = [ {file = "types-urllib3-1.26.25.14.tar.gz", hash = "sha256:229b7f577c951b8c1b92c1bc2b2fdb0b49847bd2af6d1cc2a2e3dd340f3bda8f"}, {file = "types_urllib3-1.26.25.14-py3-none-any.whl", hash = "sha256:9683bbb7fb72e32bfe9d2be6e04875fbe1b3eeec3cbb4ea231435aa7fd6b4f0e"}, ] [[package]] name = "typing-extensions" version = "4.12.2" requires_python = ">=3.8" summary = "Backported and Experimental Type Hints for Python 3.8+" groups = ["default", "dev", "typing"] marker = "python_version == \"3.11\"" files = [ {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] [[package]] name = "udm-rest-client" version = "1.2.3" requires_python = ">=3.6" summary = "Python library to interact with the Univention UDM REST API. Implements the simple Python UDM API." groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "aiohttp<4,>=3.8.1", "async-property<0.3,>=0.2.1", "click<9,>=7", "docker<7,>=6.1.1", "requests<3,>=2.26", ] files = [ {file = "udm-rest-client-1.2.3.tar.gz", hash = "sha256:80724cafa3498d23849124f27f965bc56f10f1dd09b8c2e61e89670c40931a5e"}, {file = "udm_rest_client-1.2.3-py2.py3-none-any.whl", hash = "sha256:ee29e94e3ba5fba63a694e33d119b1af7450afcdce3a44301d4cd5ddfa1f980b"}, ] [[package]] name = "urllib3" version = "2.2.2" requires_python = ">=3.8" summary = "HTTP library with thread-safe connection pooling, file post, and more." groups = ["default", "typing"] marker = "python_version == \"3.11\"" files = [ {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, ] [[package]] name = "uvicorn" version = "0.30.5" requires_python = ">=3.8" summary = "The lightning-fast ASGI server." groups = ["server"] marker = "python_version == \"3.11\"" dependencies = [ "click>=7.0", "h11>=0.8", "typing-extensions>=4.0; python_version < \"3.11\"", ] files = [ {file = "uvicorn-0.30.5-py3-none-any.whl", hash = "sha256:b2d86de274726e9878188fa07576c9ceeff90a839e2b6e25c917fe05f5a6c835"}, {file = "uvicorn-0.30.5.tar.gz", hash = "sha256:ac6fdbd4425c5fd17a9fe39daf4d4d075da6fdc80f653e5894cdc2fd98752bee"}, ] [[package]] name = "uvicorn" version = "0.30.5" extras = ["standard"] requires_python = ">=3.8" summary = "The lightning-fast ASGI server." groups = ["server"] marker = "python_version == \"3.11\"" dependencies = [ "colorama>=0.4; sys_platform == \"win32\"", "httptools>=0.5.0", "python-dotenv>=0.13", "pyyaml>=5.1", "uvicorn==0.30.5", "uvloop!=0.15.0,!=0.15.1,>=0.14.0; (sys_platform != \"cygwin\" and sys_platform != \"win32\") and platform_python_implementation != \"PyPy\"", "watchfiles>=0.13", "websockets>=10.4", ] files = [ {file = "uvicorn-0.30.5-py3-none-any.whl", hash = "sha256:b2d86de274726e9878188fa07576c9ceeff90a839e2b6e25c917fe05f5a6c835"}, {file = "uvicorn-0.30.5.tar.gz", hash = "sha256:ac6fdbd4425c5fd17a9fe39daf4d4d075da6fdc80f653e5894cdc2fd98752bee"}, ] [[package]] name = "uvloop" version = "0.19.0" requires_python = ">=3.8.0" summary = "Fast implementation of asyncio event loop on top of libuv" groups = ["server"] marker = "(sys_platform != \"cygwin\" and sys_platform != \"win32\") and platform_python_implementation != \"PyPy\" and python_version == \"3.11\"" files = [ {file = "uvloop-0.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5138821e40b0c3e6c9478643b4660bd44372ae1e16a322b8fc07478f92684e24"}, {file = "uvloop-0.19.0.tar.gz", hash = "sha256:0246f4fd1bf2bf702e06b0d45ee91677ee5c31242f39aab4ea6fe0c51aedd0fd"}, ] [[package]] name = "watchfiles" version = "0.22.0" requires_python = ">=3.8" summary = "Simple, modern and high performance file watching and code reload in python." groups = ["server"] marker = "python_version == \"3.11\"" dependencies = [ "anyio>=3.0.0", ] files = [ {file = "watchfiles-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94ebe84a035993bb7668f58a0ebf998174fb723a39e4ef9fce95baabb42b787f"}, {file = "watchfiles-0.22.0.tar.gz", hash = "sha256:988e981aaab4f3955209e7e28c7794acdb690be1efa7f16f8ea5aba7ffdadacb"}, ] [[package]] name = "wcwidth" version = "0.2.13" summary = "Measures the displayed width of unicode strings in a terminal" groups = ["dev"] marker = "python_version == \"3.11\"" dependencies = [ "backports-functools-lru-cache>=1.2.1; python_version < \"3.2\"", ] files = [ {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, ] [[package]] name = "weasyprint" version = "62.3" requires_python = ">=3.9" summary = "The Awesome Document Factory" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "Pillow>=9.1.0", "Pyphen>=0.9.1", "cffi>=0.6", "cssselect2>=0.1", "fonttools[woff]>=4.0.0", "html5lib>=1.1", "pydyf>=0.10.0", "tinycss2>=1.3.0", ] files = [ {file = "weasyprint-62.3-py3-none-any.whl", hash = "sha256:d31048646ce15084e135b33e334a61f526aa68d2f679fcc109ed0e0f5edaed21"}, {file = "weasyprint-62.3.tar.gz", hash = "sha256:8d8680d732f7fa0fcbc587692a5a5cb095c3525627066918d6e203cbf42b7fcd"}, ] [[package]] name = "webencodings" version = "0.5.1" summary = "Character encoding aliases for legacy web content" groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, ] [[package]] name = "websocket-client" version = "1.8.0" requires_python = ">=3.8" summary = "WebSocket client for Python with low level API options" groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526"}, {file = "websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da"}, ] [[package]] name = "websockets" version = "12.0" requires_python = ">=3.8" summary = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" groups = ["server"] marker = "python_version == \"3.11\"" files = [ {file = "websockets-12.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e9e7db18b4539a29cc5ad8c8b252738a30e2b13f033c2d6e9d0549b45841c04"}, {file = "websockets-12.0-py3-none-any.whl", hash = "sha256:dc284bbc8d7c78a6c69e0c7325ab46ee5e40bb4d50e494d8131a07ef47500e9e"}, {file = "websockets-12.0.tar.gz", hash = "sha256:81df9cbcbb6c260de1e007e58c011bfebe2dafc8435107b0537f393dd38c8b1b"}, ] [[package]] name = "yarl" version = "1.9.4" requires_python = ">=3.7" summary = "Yet another URL library" groups = ["default"] marker = "python_version == \"3.11\"" dependencies = [ "idna>=2.0", "multidict>=4.0", "typing-extensions>=3.7.4; python_version < \"3.8\"", ] files = [ {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e23a6d84d9d1738dbc6e38167776107e63307dfc8ad108e580548d1f2c587f42"}, {file = "yarl-1.9.4-py3-none-any.whl", hash = "sha256:928cecb0ef9d5a7946eb6ff58417ad2fe9375762382f1bf5c55e61645f2c43ad"}, {file = "yarl-1.9.4.tar.gz", hash = "sha256:566db86717cf8080b99b58b083b773a908ae40f06681e87e589a976faf8246bf"}, ] [[package]] name = "zopfli" version = "0.2.3" requires_python = ">=3.8" summary = "Zopfli module for python" groups = ["default"] marker = "python_version == \"3.11\"" files = [ {file = "zopfli-0.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61abe5f11400f9c6b22be578091e28dfb9f1a61efaaeaa2da66138b03ee93072"}, {file = "zopfli-0.2.3.zip", hash = "sha256:dbc9841bedd736041eb5e6982cd92da93bee145745f5422f3795f6f258cdc6ef"}, ]