diff --git a/poetry.lock b/poetry.lock
index da8567527..f0fef9b95 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1,3 +1,17 @@
+[[package]]
+name = "asgiref"
+version = "3.7.2"
+description = "ASGI specs, helper code, and adapters"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[package.dependencies]
+typing-extensions = {version = ">=4", markers = "python_version < \"3.11\""}
+
+[package.extras]
+tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"]
+
[[package]]
name = "bidict"
version = "0.22.1"
@@ -32,7 +46,7 @@ pycparser = "*"
[[package]]
name = "charset-normalizer"
-version = "3.3.1"
+version = "3.3.2"
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
category = "main"
optional = false
@@ -91,18 +105,19 @@ python-versions = ">=3.6"
[[package]]
name = "django"
-version = "2.2.28"
+version = "3.2.23"
description = "A high-level Python Web framework that encourages rapid development and clean, pragmatic design."
category = "main"
optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.6"
[package.dependencies]
+asgiref = ">=3.3.2,<4"
pytz = "*"
sqlparse = ">=0.2.2"
[package.extras]
-argon2 = ["argon2-cffi (>=16.1.0)"]
+argon2 = ["argon2-cffi (>=19.1.0)"]
bcrypt = ["bcrypt"]
[[package]]
@@ -398,6 +413,14 @@ python-versions = "*"
[package.extras]
testing = ["pytest", "pytest-cov"]
+[[package]]
+name = "typing-extensions"
+version = "4.8.0"
+description = "Backported and Experimental Type Hints for Python 3.8+"
+category = "main"
+optional = false
+python-versions = ">=3.8"
+
[[package]]
name = "urllib3"
version = "2.0.7"
@@ -422,11 +445,11 @@ python-versions = "*"
[[package]]
name = "wrapt"
-version = "1.15.0"
+version = "1.16.0"
description = "Module for decorators, wrappers and monkey patching."
category = "main"
optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
+python-versions = ">=3.6"
[[package]]
name = "wsproto"
@@ -467,9 +490,13 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"]
[metadata]
lock-version = "1.1"
python-versions = "~3.9"
-content-hash = "4e8a487d0968eb8d0f14de7a1b33b086ef6aae9f6bc3cdf24f6532b76d15a809"
+content-hash = "b341f77df1a007c270dda140501a029d1552ccdebd07bd522f968fa14f5683c3"
[metadata.files]
+asgiref = [
+ {file = "asgiref-3.7.2-py3-none-any.whl", hash = "sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e"},
+ {file = "asgiref-3.7.2.tar.gz", hash = "sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed"},
+]
bidict = [
{file = "bidict-0.22.1-py3-none-any.whl", hash = "sha256:6ef212238eb884b664f28da76f33f1d28b260f665fc737b413b287d5487d1e7b"},
{file = "bidict-0.22.1.tar.gz", hash = "sha256:1e0f7f74e4860e6d0943a05d4134c63a2fad86f3d4732fb265bd79e4e856d81d"},
@@ -533,96 +560,96 @@ cffi = [
{file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"},
]
charset-normalizer = [
- {file = "charset-normalizer-3.3.1.tar.gz", hash = "sha256:d9137a876020661972ca6eec0766d81aef8a5627df628b664b234b73396e727e"},
- {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8aee051c89e13565c6bd366813c386939f8e928af93c29fda4af86d25b73d8f8"},
- {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:352a88c3df0d1fa886562384b86f9a9e27563d4704ee0e9d56ec6fcd270ea690"},
- {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:223b4d54561c01048f657fa6ce41461d5ad8ff128b9678cfe8b2ecd951e3f8a2"},
- {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f861d94c2a450b974b86093c6c027888627b8082f1299dfd5a4bae8e2292821"},
- {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1171ef1fc5ab4693c5d151ae0fdad7f7349920eabbaca6271f95969fa0756c2d"},
- {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28f512b9a33235545fbbdac6a330a510b63be278a50071a336afc1b78781b147"},
- {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0e842112fe3f1a4ffcf64b06dc4c61a88441c2f02f373367f7b4c1aa9be2ad5"},
- {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3f9bc2ce123637a60ebe819f9fccc614da1bcc05798bbbaf2dd4ec91f3e08846"},
- {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f194cce575e59ffe442c10a360182a986535fd90b57f7debfaa5c845c409ecc3"},
- {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:9a74041ba0bfa9bc9b9bb2cd3238a6ab3b7618e759b41bd15b5f6ad958d17605"},
- {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b578cbe580e3b41ad17b1c428f382c814b32a6ce90f2d8e39e2e635d49e498d1"},
- {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:6db3cfb9b4fcecb4390db154e75b49578c87a3b9979b40cdf90d7e4b945656e1"},
- {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:debb633f3f7856f95ad957d9b9c781f8e2c6303ef21724ec94bea2ce2fcbd056"},
- {file = "charset_normalizer-3.3.1-cp310-cp310-win32.whl", hash = "sha256:87071618d3d8ec8b186d53cb6e66955ef2a0e4fa63ccd3709c0c90ac5a43520f"},
- {file = "charset_normalizer-3.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:e372d7dfd154009142631de2d316adad3cc1c36c32a38b16a4751ba78da2a397"},
- {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae4070f741f8d809075ef697877fd350ecf0b7c5837ed68738607ee0a2c572cf"},
- {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:58e875eb7016fd014c0eea46c6fa92b87b62c0cb31b9feae25cbbe62c919f54d"},
- {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dbd95e300367aa0827496fe75a1766d198d34385a58f97683fe6e07f89ca3e3c"},
- {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de0b4caa1c8a21394e8ce971997614a17648f94e1cd0640fbd6b4d14cab13a72"},
- {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:985c7965f62f6f32bf432e2681173db41336a9c2611693247069288bcb0c7f8b"},
- {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a15c1fe6d26e83fd2e5972425a772cca158eae58b05d4a25a4e474c221053e2d"},
- {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae55d592b02c4349525b6ed8f74c692509e5adffa842e582c0f861751701a673"},
- {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be4d9c2770044a59715eb57c1144dedea7c5d5ae80c68fb9959515037cde2008"},
- {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:851cf693fb3aaef71031237cd68699dded198657ec1e76a76eb8be58c03a5d1f"},
- {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:31bbaba7218904d2eabecf4feec0d07469284e952a27400f23b6628439439fa7"},
- {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:871d045d6ccc181fd863a3cd66ee8e395523ebfbc57f85f91f035f50cee8e3d4"},
- {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:501adc5eb6cd5f40a6f77fbd90e5ab915c8fd6e8c614af2db5561e16c600d6f3"},
- {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f5fb672c396d826ca16a022ac04c9dce74e00a1c344f6ad1a0fdc1ba1f332213"},
- {file = "charset_normalizer-3.3.1-cp311-cp311-win32.whl", hash = "sha256:bb06098d019766ca16fc915ecaa455c1f1cd594204e7f840cd6258237b5079a8"},
- {file = "charset_normalizer-3.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:8af5a8917b8af42295e86b64903156b4f110a30dca5f3b5aedea123fbd638bff"},
- {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:7ae8e5142dcc7a49168f4055255dbcced01dc1714a90a21f87448dc8d90617d1"},
- {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5b70bab78accbc672f50e878a5b73ca692f45f5b5e25c8066d748c09405e6a55"},
- {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5ceca5876032362ae73b83347be8b5dbd2d1faf3358deb38c9c88776779b2e2f"},
- {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34d95638ff3613849f473afc33f65c401a89f3b9528d0d213c7037c398a51296"},
- {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9edbe6a5bf8b56a4a84533ba2b2f489d0046e755c29616ef8830f9e7d9cf5728"},
- {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6a02a3c7950cafaadcd46a226ad9e12fc9744652cc69f9e5534f98b47f3bbcf"},
- {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10b8dd31e10f32410751b3430996f9807fc4d1587ca69772e2aa940a82ab571a"},
- {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edc0202099ea1d82844316604e17d2b175044f9bcb6b398aab781eba957224bd"},
- {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b891a2f68e09c5ef989007fac11476ed33c5c9994449a4e2c3386529d703dc8b"},
- {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:71ef3b9be10070360f289aea4838c784f8b851be3ba58cf796262b57775c2f14"},
- {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:55602981b2dbf8184c098bc10287e8c245e351cd4fdcad050bd7199d5a8bf514"},
- {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:46fb9970aa5eeca547d7aa0de5d4b124a288b42eaefac677bde805013c95725c"},
- {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:520b7a142d2524f999447b3a0cf95115df81c4f33003c51a6ab637cbda9d0bf4"},
- {file = "charset_normalizer-3.3.1-cp312-cp312-win32.whl", hash = "sha256:8ec8ef42c6cd5856a7613dcd1eaf21e5573b2185263d87d27c8edcae33b62a61"},
- {file = "charset_normalizer-3.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:baec8148d6b8bd5cee1ae138ba658c71f5b03e0d69d5907703e3e1df96db5e41"},
- {file = "charset_normalizer-3.3.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:63a6f59e2d01310f754c270e4a257426fe5a591dc487f1983b3bbe793cf6bac6"},
- {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d6bfc32a68bc0933819cfdfe45f9abc3cae3877e1d90aac7259d57e6e0f85b1"},
- {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4f3100d86dcd03c03f7e9c3fdb23d92e32abbca07e7c13ebd7ddfbcb06f5991f"},
- {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39b70a6f88eebe239fa775190796d55a33cfb6d36b9ffdd37843f7c4c1b5dc67"},
- {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e12f8ee80aa35e746230a2af83e81bd6b52daa92a8afaef4fea4a2ce9b9f4fa"},
- {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b6cefa579e1237ce198619b76eaa148b71894fb0d6bcf9024460f9bf30fd228"},
- {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:61f1e3fb621f5420523abb71f5771a204b33c21d31e7d9d86881b2cffe92c47c"},
- {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4f6e2a839f83a6a76854d12dbebde50e4b1afa63e27761549d006fa53e9aa80e"},
- {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:1ec937546cad86d0dce5396748bf392bb7b62a9eeb8c66efac60e947697f0e58"},
- {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:82ca51ff0fc5b641a2d4e1cc8c5ff108699b7a56d7f3ad6f6da9dbb6f0145b48"},
- {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:633968254f8d421e70f91c6ebe71ed0ab140220469cf87a9857e21c16687c034"},
- {file = "charset_normalizer-3.3.1-cp37-cp37m-win32.whl", hash = "sha256:c0c72d34e7de5604df0fde3644cc079feee5e55464967d10b24b1de268deceb9"},
- {file = "charset_normalizer-3.3.1-cp37-cp37m-win_amd64.whl", hash = "sha256:63accd11149c0f9a99e3bc095bbdb5a464862d77a7e309ad5938fbc8721235ae"},
- {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5a3580a4fdc4ac05f9e53c57f965e3594b2f99796231380adb2baaab96e22761"},
- {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2465aa50c9299d615d757c1c888bc6fef384b7c4aec81c05a0172b4400f98557"},
- {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cb7cd68814308aade9d0c93c5bd2ade9f9441666f8ba5aa9c2d4b389cb5e2a45"},
- {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91e43805ccafa0a91831f9cd5443aa34528c0c3f2cc48c4cb3d9a7721053874b"},
- {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:854cc74367180beb327ab9d00f964f6d91da06450b0855cbbb09187bcdb02de5"},
- {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c15070ebf11b8b7fd1bfff7217e9324963c82dbdf6182ff7050519e350e7ad9f"},
- {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4c99f98fc3a1835af8179dcc9013f93594d0670e2fa80c83aa36346ee763d2"},
- {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3fb765362688821404ad6cf86772fc54993ec11577cd5a92ac44b4c2ba52155b"},
- {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:dced27917823df984fe0c80a5c4ad75cf58df0fbfae890bc08004cd3888922a2"},
- {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a66bcdf19c1a523e41b8e9d53d0cedbfbac2e93c649a2e9502cb26c014d0980c"},
- {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ecd26be9f112c4f96718290c10f4caea6cc798459a3a76636b817a0ed7874e42"},
- {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:3f70fd716855cd3b855316b226a1ac8bdb3caf4f7ea96edcccc6f484217c9597"},
- {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:17a866d61259c7de1bdadef418a37755050ddb4b922df8b356503234fff7932c"},
- {file = "charset_normalizer-3.3.1-cp38-cp38-win32.whl", hash = "sha256:548eefad783ed787b38cb6f9a574bd8664468cc76d1538215d510a3cd41406cb"},
- {file = "charset_normalizer-3.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:45f053a0ece92c734d874861ffe6e3cc92150e32136dd59ab1fb070575189c97"},
- {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bc791ec3fd0c4309a753f95bb6c749ef0d8ea3aea91f07ee1cf06b7b02118f2f"},
- {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0c8c61fb505c7dad1d251c284e712d4e0372cef3b067f7ddf82a7fa82e1e9a93"},
- {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2c092be3885a1b7899cd85ce24acedc1034199d6fca1483fa2c3a35c86e43041"},
- {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c2000c54c395d9e5e44c99dc7c20a64dc371f777faf8bae4919ad3e99ce5253e"},
- {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4cb50a0335382aac15c31b61d8531bc9bb657cfd848b1d7158009472189f3d62"},
- {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c30187840d36d0ba2893bc3271a36a517a717f9fd383a98e2697ee890a37c273"},
- {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe81b35c33772e56f4b6cf62cf4aedc1762ef7162a31e6ac7fe5e40d0149eb67"},
- {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0bf89afcbcf4d1bb2652f6580e5e55a840fdf87384f6063c4a4f0c95e378656"},
- {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:06cf46bdff72f58645434d467bf5228080801298fbba19fe268a01b4534467f5"},
- {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:3c66df3f41abee950d6638adc7eac4730a306b022570f71dd0bd6ba53503ab57"},
- {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd805513198304026bd379d1d516afbf6c3c13f4382134a2c526b8b854da1c2e"},
- {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:9505dc359edb6a330efcd2be825fdb73ee3e628d9010597aa1aee5aa63442e97"},
- {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:31445f38053476a0c4e6d12b047b08ced81e2c7c712e5a1ad97bc913256f91b2"},
- {file = "charset_normalizer-3.3.1-cp39-cp39-win32.whl", hash = "sha256:bd28b31730f0e982ace8663d108e01199098432a30a4c410d06fe08fdb9e93f4"},
- {file = "charset_normalizer-3.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:555fe186da0068d3354cdf4bbcbc609b0ecae4d04c921cc13e209eece7720727"},
- {file = "charset_normalizer-3.3.1-py3-none-any.whl", hash = "sha256:800561453acdecedaac137bf09cd719c7a440b6800ec182f077bb8e7025fb708"},
+ {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"},
+ {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"},
+ {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-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"},
+ {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"},
+ {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"},
+ {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"},
+ {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"},
+ {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"},
+ {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"},
]
cryptography = [
{file = "cryptography-41.0.5-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:da6a0ff8f1016ccc7477e6339e1d50ce5f59b88905585f77193ebd5068f1e797"},
@@ -661,8 +688,8 @@ distro = [
{file = "distro-1.8.0.tar.gz", hash = "sha256:02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8"},
]
django = [
- {file = "Django-2.2.28-py3-none-any.whl", hash = "sha256:365429d07c1336eb42ba15aa79f45e1c13a0b04d5c21569e7d596696418a6a45"},
- {file = "Django-2.2.28.tar.gz", hash = "sha256:0200b657afbf1bc08003845ddda053c7641b9b24951e52acd51f6abda33a7413"},
+ {file = "Django-3.2.23-py3-none-any.whl", hash = "sha256:d48608d5f62f2c1e260986835db089fa3b79d6f58510881d316b8d88345ae6e1"},
+ {file = "Django-3.2.23.tar.gz", hash = "sha256:82968f3640e29ef4a773af2c28448f5f7a08d001c6ac05b32d02aeee6509508b"},
]
django-oauth-toolkit = [
{file = "django-oauth-toolkit-2.3.0.tar.gz", hash = "sha256:cf1cb1a5744672e6bd7d66b4a110a463bcef9cf5ed4f27e29682cc6a4d0df1ed"},
@@ -909,6 +936,10 @@ supervisor = [
{file = "supervisor-4.2.4-py2.py3-none-any.whl", hash = "sha256:bbae57abf74e078fe0ecc9f30068b6da41b840546e233ef1e659a12e4c875af6"},
{file = "supervisor-4.2.4.tar.gz", hash = "sha256:40dc582ce1eec631c3df79420b187a6da276bbd68a4ec0a8f1f123ea616b97a2"},
]
+typing-extensions = [
+ {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"},
+ {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"},
+]
urllib3 = [
{file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"},
{file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"},
@@ -917,81 +948,76 @@ urlobject = [
{file = "URLObject-2.1.1.tar.gz", hash = "sha256:06462b6ab3968e7be99442a0ecaf20ac90fdf0c50dca49126019b7bf803b1d17"},
]
wrapt = [
- {file = "wrapt-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ca1cccf838cd28d5a0883b342474c630ac48cac5df0ee6eacc9c7290f76b11c1"},
- {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e826aadda3cae59295b95343db8f3d965fb31059da7de01ee8d1c40a60398b29"},
- {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5fc8e02f5984a55d2c653f5fea93531e9836abbd84342c1d1e17abc4a15084c2"},
- {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:96e25c8603a155559231c19c0349245eeb4ac0096fe3c1d0be5c47e075bd4f46"},
- {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:40737a081d7497efea35ab9304b829b857f21558acfc7b3272f908d33b0d9d4c"},
- {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:f87ec75864c37c4c6cb908d282e1969e79763e0d9becdfe9fe5473b7bb1e5f09"},
- {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:1286eb30261894e4c70d124d44b7fd07825340869945c79d05bda53a40caa079"},
- {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:493d389a2b63c88ad56cdc35d0fa5752daac56ca755805b1b0c530f785767d5e"},
- {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:58d7a75d731e8c63614222bcb21dd992b4ab01a399f1f09dd82af17bbfc2368a"},
- {file = "wrapt-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:21f6d9a0d5b3a207cdf7acf8e58d7d13d463e639f0c7e01d82cdb671e6cb7923"},
- {file = "wrapt-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce42618f67741d4697684e501ef02f29e758a123aa2d669e2d964ff734ee00ee"},
- {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41d07d029dd4157ae27beab04d22b8e261eddfc6ecd64ff7000b10dc8b3a5727"},
- {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54accd4b8bc202966bafafd16e69da9d5640ff92389d33d28555c5fd4f25ccb7"},
- {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fbfbca668dd15b744418265a9607baa970c347eefd0db6a518aaf0cfbd153c0"},
- {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:76e9c727a874b4856d11a32fb0b389afc61ce8aaf281ada613713ddeadd1cfec"},
- {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e20076a211cd6f9b44a6be58f7eeafa7ab5720eb796975d0c03f05b47d89eb90"},
- {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a74d56552ddbde46c246b5b89199cb3fd182f9c346c784e1a93e4dc3f5ec9975"},
- {file = "wrapt-1.15.0-cp310-cp310-win32.whl", hash = "sha256:26458da5653aa5b3d8dc8b24192f574a58984c749401f98fff994d41d3f08da1"},
- {file = "wrapt-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:75760a47c06b5974aa5e01949bf7e66d2af4d08cb8c1d6516af5e39595397f5e"},
- {file = "wrapt-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ba1711cda2d30634a7e452fc79eabcadaffedf241ff206db2ee93dd2c89a60e7"},
- {file = "wrapt-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:56374914b132c702aa9aa9959c550004b8847148f95e1b824772d453ac204a72"},
- {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a89ce3fd220ff144bd9d54da333ec0de0399b52c9ac3d2ce34b569cf1a5748fb"},
- {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bbe623731d03b186b3d6b0d6f51865bf598587c38d6f7b0be2e27414f7f214e"},
- {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3abbe948c3cbde2689370a262a8d04e32ec2dd4f27103669a45c6929bcdbfe7c"},
- {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b67b819628e3b748fd3c2192c15fb951f549d0f47c0449af0764d7647302fda3"},
- {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7eebcdbe3677e58dd4c0e03b4f2cfa346ed4049687d839adad68cc38bb559c92"},
- {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:74934ebd71950e3db69960a7da29204f89624dde411afbfb3b4858c1409b1e98"},
- {file = "wrapt-1.15.0-cp311-cp311-win32.whl", hash = "sha256:bd84395aab8e4d36263cd1b9308cd504f6cf713b7d6d3ce25ea55670baec5416"},
- {file = "wrapt-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:a487f72a25904e2b4bbc0817ce7a8de94363bd7e79890510174da9d901c38705"},
- {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:4ff0d20f2e670800d3ed2b220d40984162089a6e2c9646fdb09b85e6f9a8fc29"},
- {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9ed6aa0726b9b60911f4aed8ec5b8dd7bf3491476015819f56473ffaef8959bd"},
- {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:896689fddba4f23ef7c718279e42f8834041a21342d95e56922e1c10c0cc7afb"},
- {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:75669d77bb2c071333417617a235324a1618dba66f82a750362eccbe5b61d248"},
- {file = "wrapt-1.15.0-cp35-cp35m-win32.whl", hash = "sha256:fbec11614dba0424ca72f4e8ba3c420dba07b4a7c206c8c8e4e73f2e98f4c559"},
- {file = "wrapt-1.15.0-cp35-cp35m-win_amd64.whl", hash = "sha256:fd69666217b62fa5d7c6aa88e507493a34dec4fa20c5bd925e4bc12fce586639"},
- {file = "wrapt-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b0724f05c396b0a4c36a3226c31648385deb6a65d8992644c12a4963c70326ba"},
- {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbeccb1aa40ab88cd29e6c7d8585582c99548f55f9b2581dfc5ba68c59a85752"},
- {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38adf7198f8f154502883242f9fe7333ab05a5b02de7d83aa2d88ea621f13364"},
- {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:578383d740457fa790fdf85e6d346fda1416a40549fe8db08e5e9bd281c6a475"},
- {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:a4cbb9ff5795cd66f0066bdf5947f170f5d63a9274f99bdbca02fd973adcf2a8"},
- {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:af5bd9ccb188f6a5fdda9f1f09d9f4c86cc8a539bd48a0bfdc97723970348418"},
- {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b56d5519e470d3f2fe4aa7585f0632b060d532d0696c5bdfb5e8319e1d0f69a2"},
- {file = "wrapt-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:77d4c1b881076c3ba173484dfa53d3582c1c8ff1f914c6461ab70c8428b796c1"},
- {file = "wrapt-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:077ff0d1f9d9e4ce6476c1a924a3332452c1406e59d90a2cf24aeb29eeac9420"},
- {file = "wrapt-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5c5aa28df055697d7c37d2099a7bc09f559d5053c3349b1ad0c39000e611d317"},
- {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a8564f283394634a7a7054b7983e47dbf39c07712d7b177b37e03f2467a024e"},
- {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780c82a41dc493b62fc5884fb1d3a3b81106642c5c5c78d6a0d4cbe96d62ba7e"},
- {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e169e957c33576f47e21864cf3fc9ff47c223a4ebca8960079b8bd36cb014fd0"},
- {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b02f21c1e2074943312d03d243ac4388319f2456576b2c6023041c4d57cd7019"},
- {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f2e69b3ed24544b0d3dbe2c5c0ba5153ce50dcebb576fdc4696d52aa22db6034"},
- {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d787272ed958a05b2c86311d3a4135d3c2aeea4fc655705f074130aa57d71653"},
- {file = "wrapt-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:02fce1852f755f44f95af51f69d22e45080102e9d00258053b79367d07af39c0"},
- {file = "wrapt-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:abd52a09d03adf9c763d706df707c343293d5d106aea53483e0ec8d9e310ad5e"},
- {file = "wrapt-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cdb4f085756c96a3af04e6eca7f08b1345e94b53af8921b25c72f096e704e145"},
- {file = "wrapt-1.15.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:230ae493696a371f1dbffaad3dafbb742a4d27a0afd2b1aecebe52b740167e7f"},
- {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63424c681923b9f3bfbc5e3205aafe790904053d42ddcc08542181a30a7a51bd"},
- {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6bcbfc99f55655c3d93feb7ef3800bd5bbe963a755687cbf1f490a71fb7794b"},
- {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c99f4309f5145b93eca6e35ac1a988f0dc0a7ccf9ccdcd78d3c0adf57224e62f"},
- {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b130fe77361d6771ecf5a219d8e0817d61b236b7d8b37cc045172e574ed219e6"},
- {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:96177eb5645b1c6985f5c11d03fc2dbda9ad24ec0f3a46dcce91445747e15094"},
- {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5fe3e099cf07d0fb5a1e23d399e5d4d1ca3e6dfcbe5c8570ccff3e9208274f7"},
- {file = "wrapt-1.15.0-cp38-cp38-win32.whl", hash = "sha256:abd8f36c99512755b8456047b7be10372fca271bf1467a1caa88db991e7c421b"},
- {file = "wrapt-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:b06fa97478a5f478fb05e1980980a7cdf2712015493b44d0c87606c1513ed5b1"},
- {file = "wrapt-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2e51de54d4fb8fb50d6ee8327f9828306a959ae394d3e01a1ba8b2f937747d86"},
- {file = "wrapt-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0970ddb69bba00670e58955f8019bec4a42d1785db3faa043c33d81de2bf843c"},
- {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76407ab327158c510f44ded207e2f76b657303e17cb7a572ffe2f5a8a48aa04d"},
- {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd525e0e52a5ff16653a3fc9e3dd827981917d34996600bbc34c05d048ca35cc"},
- {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d37ac69edc5614b90516807de32d08cb8e7b12260a285ee330955604ed9dd29"},
- {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:078e2a1a86544e644a68422f881c48b84fef6d18f8c7a957ffd3f2e0a74a0d4a"},
- {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2cf56d0e237280baed46f0b5316661da892565ff58309d4d2ed7dba763d984b8"},
- {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7dc0713bf81287a00516ef43137273b23ee414fe41a3c14be10dd95ed98a2df9"},
- {file = "wrapt-1.15.0-cp39-cp39-win32.whl", hash = "sha256:46ed616d5fb42f98630ed70c3529541408166c22cdfd4540b88d5f21006b0eff"},
- {file = "wrapt-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:eef4d64c650f33347c1f9266fa5ae001440b232ad9b98f1f43dfe7a79435c0a6"},
- {file = "wrapt-1.15.0-py3-none-any.whl", hash = "sha256:64b1df0f83706b4ef4cfb4fb0e4c2669100fd7ecacfb59e091fad300d4e04640"},
- {file = "wrapt-1.15.0.tar.gz", hash = "sha256:d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a"},
+ {file = "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"},
+ {file = "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"},
+ {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440"},
+ {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487"},
+ {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf"},
+ {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72"},
+ {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0"},
+ {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136"},
+ {file = "wrapt-1.16.0-cp310-cp310-win32.whl", hash = "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d"},
+ {file = "wrapt-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2"},
+ {file = "wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09"},
+ {file = "wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d"},
+ {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389"},
+ {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060"},
+ {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1"},
+ {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3"},
+ {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956"},
+ {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d"},
+ {file = "wrapt-1.16.0-cp311-cp311-win32.whl", hash = "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362"},
+ {file = "wrapt-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89"},
+ {file = "wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b"},
+ {file = "wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36"},
+ {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73"},
+ {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809"},
+ {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b"},
+ {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81"},
+ {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9"},
+ {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c"},
+ {file = "wrapt-1.16.0-cp312-cp312-win32.whl", hash = "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc"},
+ {file = "wrapt-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8"},
+ {file = "wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8"},
+ {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39"},
+ {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c"},
+ {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40"},
+ {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc"},
+ {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e"},
+ {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465"},
+ {file = "wrapt-1.16.0-cp36-cp36m-win32.whl", hash = "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e"},
+ {file = "wrapt-1.16.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966"},
+ {file = "wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593"},
+ {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292"},
+ {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5"},
+ {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf"},
+ {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228"},
+ {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f"},
+ {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c"},
+ {file = "wrapt-1.16.0-cp37-cp37m-win32.whl", hash = "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c"},
+ {file = "wrapt-1.16.0-cp37-cp37m-win_amd64.whl", hash = "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00"},
+ {file = "wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0"},
+ {file = "wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202"},
+ {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0"},
+ {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e"},
+ {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f"},
+ {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267"},
+ {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca"},
+ {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6"},
+ {file = "wrapt-1.16.0-cp38-cp38-win32.whl", hash = "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b"},
+ {file = "wrapt-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41"},
+ {file = "wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2"},
+ {file = "wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb"},
+ {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8"},
+ {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c"},
+ {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a"},
+ {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664"},
+ {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f"},
+ {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537"},
+ {file = "wrapt-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3"},
+ {file = "wrapt-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35"},
+ {file = "wrapt-1.16.0-py3-none-any.whl", hash = "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1"},
+ {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"},
]
wsproto = [
{file = "wsproto-1.2.0-py3-none-any.whl", hash = "sha256:b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736"},
diff --git a/pyproject.toml b/pyproject.toml
index 7ac9aa2a8..7d359787a 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -60,7 +60,7 @@ generate-setup-file = false
python = "~3.9"
# [tool.poetry.group.django.dependencies]
-django = "~2.2"
+django = "~3.2"
django-oauth-toolkit = "*"
djangorestframework = "==3.13.1" # Last version to support Django 2.2 (up to 4.0)
django-pipeline = "*"
diff --git a/src/rockstor/settings.py b/src/rockstor/settings.py
index 206d06991..172922c87 100644
--- a/src/rockstor/settings.py
+++ b/src/rockstor/settings.py
@@ -388,6 +388,12 @@
OAUTH_INTERNAL_APP = "cliapp"
OAUTH2_PROVIDER_APPLICATION_MODEL = "oauth2_provider.Application"
+# Django 3.2 onwards requires explicitly AutoField defined:
+# The following is the prior default of 32bit for auto id fields, so no migrations.
+# https://docs.djangoproject.com/en/3.2/releases/3.2/#customizing-type-of-auto-created-primary-keys
+# if the new default of "django.db.models.BigAutoField" is configured, migrations are required.
+DEFAULT_AUTO_FIELD = "django.db.models.AutoField"
+
# Header string to separate auto config options from rest of config file.
# this could be generalized across all Rockstor config files, problems during
# upgrades though
diff --git a/src/rockstor/smart_manager/urls/replicas.py b/src/rockstor/smart_manager/urls/replicas.py
index 87df8edac..57778626d 100644
--- a/src/rockstor/smart_manager/urls/replicas.py
+++ b/src/rockstor/smart_manager/urls/replicas.py
@@ -16,7 +16,7 @@
along with this program. If not, see .
"""
-from django.conf.urls import url
+from django.urls import re_path
from django.conf import settings
from smart_manager.views import (
ReplicaTrailListView,
@@ -32,28 +32,28 @@
share_regex = settings.SHARE_REGEX
urlpatterns = [
- url(r"^(?P[0-9]+)$", ReplicaDetailView.as_view(), name="replica-view"),
- url(
+ re_path(r"^(?P[0-9]+)$", ReplicaDetailView.as_view(), name="replica-view"),
+ re_path(
r"^share/(?P%s)$" % share_regex,
ReplicaDetailView.as_view(),
name="replica-view",
),
- url(r"^trail$", ReplicaTrailListView.as_view(), name="replica-view"),
- url(
+ re_path(r"^trail$", ReplicaTrailListView.as_view(), name="replica-view"),
+ re_path(
r"^trail/replica/(?P[0-9]+)",
ReplicaTrailListView.as_view(),
name="replica-view",
),
- url(
+ re_path(
r"^trail/(?P[0-9]+)",
ReplicaTrailDetailView.as_view(),
name="replica-view",
),
- url(r"^rshare$", ReplicaShareListView.as_view()),
- url(r"^rshare/(?P[0-9]+)$", ReplicaShareDetailView.as_view()),
- url(r"^rshare/(?P%s)$" % share_regex, ReplicaShareDetailView.as_view()),
- url(r"^rtrail$", ReceiveTrailListView.as_view()),
- url(r"^rtrail/rshare/(?P[0-9]+)$", ReceiveTrailListView.as_view()),
- url(r"^rtrail/(?P[0-9]+)", ReceiveTrailDetailView.as_view()),
- url(r"^rpool/(?P.*)$", ReceiverPoolListView.as_view()),
+ re_path(r"^rshare$", ReplicaShareListView.as_view()),
+ re_path(r"^rshare/(?P[0-9]+)$", ReplicaShareDetailView.as_view()),
+ re_path(r"^rshare/(?P%s)$" % share_regex, ReplicaShareDetailView.as_view()),
+ re_path(r"^rtrail$", ReceiveTrailListView.as_view()),
+ re_path(r"^rtrail/rshare/(?P[0-9]+)$", ReceiveTrailListView.as_view()),
+ re_path(r"^rtrail/(?P[0-9]+)", ReceiveTrailDetailView.as_view()),
+ re_path(r"^rpool/(?P.*)$", ReceiverPoolListView.as_view()),
]
diff --git a/src/rockstor/smart_manager/urls/services.py b/src/rockstor/smart_manager/urls/services.py
index 45b9de4f9..809396665 100644
--- a/src/rockstor/smart_manager/urls/services.py
+++ b/src/rockstor/smart_manager/urls/services.py
@@ -16,7 +16,7 @@
along with this program. If not, see .
"""
-from django.conf.urls import url
+from django.urls import re_path
from smart_manager.views import (
ActiveDirectoryServiceView,
BootstrapServiceView,
@@ -45,70 +45,70 @@
urlpatterns = [
# Services
- url(r"^nis$", NISServiceView.as_view()),
- url(r"^nis/(?P%s)$" % command_regex, NISServiceView.as_view()),
- url(r"^smb$", SambaServiceView.as_view()),
- url(r"^smb/(?P%s)$" % command_regex, SambaServiceView.as_view()),
- url(r"^nfs$", NFSServiceView.as_view()),
- url(r"^nfs/(?P%s)$" % command_regex, NFSServiceView.as_view()),
- url(r"^ntpd$", NTPServiceView.as_view()),
- url(r"^ntpd/(?P%s)$" % command_regex, NTPServiceView.as_view()),
- url(r"^active-directory$", ActiveDirectoryServiceView.as_view()),
- url(
+ re_path(r"^nis$", NISServiceView.as_view()),
+ re_path(r"^nis/(?P%s)$" % command_regex, NISServiceView.as_view()),
+ re_path(r"^smb$", SambaServiceView.as_view()),
+ re_path(r"^smb/(?P%s)$" % command_regex, SambaServiceView.as_view()),
+ re_path(r"^nfs$", NFSServiceView.as_view()),
+ re_path(r"^nfs/(?P%s)$" % command_regex, NFSServiceView.as_view()),
+ re_path(r"^ntpd$", NTPServiceView.as_view()),
+ re_path(r"^ntpd/(?P%s)$" % command_regex, NTPServiceView.as_view()),
+ re_path(r"^active-directory$", ActiveDirectoryServiceView.as_view()),
+ re_path(
r"^active-directory/(?P%s)$" % command_regex,
ActiveDirectoryServiceView.as_view(),
),
- url(r"^ldap$", LdapServiceView.as_view()),
- url(r"^ldap/(?P%s)$" % command_regex, LdapServiceView.as_view()),
- url(r"^sftp$", SFTPServiceView.as_view()),
- url(r"^sftp/(?P%s)$" % command_regex, SFTPServiceView.as_view()),
- url(r"^replication$", ReplicationServiceView.as_view()),
- url(
+ re_path(r"^ldap$", LdapServiceView.as_view()),
+ re_path(r"^ldap/(?P%s)$" % command_regex, LdapServiceView.as_view()),
+ re_path(r"^sftp$", SFTPServiceView.as_view()),
+ re_path(r"^sftp/(?P%s)$" % command_regex, SFTPServiceView.as_view()),
+ re_path(r"^replication$", ReplicationServiceView.as_view()),
+ re_path(
r"^replication/(?P%s)$" % command_regex,
ReplicationServiceView.as_view(),
),
- url(r"^task-scheduler$", TaskSchedulerServiceView.as_view()),
- url(
+ re_path(r"^task-scheduler$", TaskSchedulerServiceView.as_view()),
+ re_path(
r"^task-scheduler/(?P%s)$" % command_regex,
TaskSchedulerServiceView.as_view(),
),
- url(r"^data-collector$", DataCollectorServiceView.as_view()),
- url(
+ re_path(r"^data-collector$", DataCollectorServiceView.as_view()),
+ re_path(
r"^data-collector/(?P%s)$" % command_regex,
DataCollectorServiceView.as_view(),
),
- url(r"^service-monitor$", ServiceMonitorView.as_view()),
- url(
+ re_path(r"^service-monitor$", ServiceMonitorView.as_view()),
+ re_path(
r"^service-monitor/(?P%s)$" % command_regex,
ServiceMonitorView.as_view(),
),
- url(r"^snmpd$", SNMPServiceView.as_view()),
- url(r"^snmpd/(?P%s)$" % command_regex, SNMPServiceView.as_view()),
- url(r"^docker$", DockerServiceView.as_view()),
- url(r"^docker/(?P%s)$" % command_regex, DockerServiceView.as_view()),
- url(r"^smartd$", SMARTDServiceView.as_view()),
- url(r"^smartd/(?P%s)$" % command_regex, SMARTDServiceView.as_view()),
- url(r"^nut$", NUTServiceView.as_view()),
- url(r"^nut/(?P%s)$" % command_regex, NUTServiceView.as_view()),
- url(r"^ztask-daemon$", ZTaskdServiceView.as_view()),
- url(r"^ztask-daemon/(?P%s)$" % command_regex, ZTaskdServiceView.as_view()),
- url(r"^rockstor-bootstrap$", BootstrapServiceView.as_view()),
- url(
+ re_path(r"^snmpd$", SNMPServiceView.as_view()),
+ re_path(r"^snmpd/(?P%s)$" % command_regex, SNMPServiceView.as_view()),
+ re_path(r"^docker$", DockerServiceView.as_view()),
+ re_path(r"^docker/(?P%s)$" % command_regex, DockerServiceView.as_view()),
+ re_path(r"^smartd$", SMARTDServiceView.as_view()),
+ re_path(r"^smartd/(?P%s)$" % command_regex, SMARTDServiceView.as_view()),
+ re_path(r"^nut$", NUTServiceView.as_view()),
+ re_path(r"^nut/(?P%s)$" % command_regex, NUTServiceView.as_view()),
+ re_path(r"^ztask-daemon$", ZTaskdServiceView.as_view()),
+ re_path(r"^ztask-daemon/(?P%s)$" % command_regex, ZTaskdServiceView.as_view()),
+ re_path(r"^rockstor-bootstrap$", BootstrapServiceView.as_view()),
+ re_path(
r"^rockstor-bootstrap/(?P%s)$" % command_regex,
BootstrapServiceView.as_view(),
),
- url(r"^shellinaboxd$", ShellInABoxServiceView.as_view()),
- url(
+ re_path(r"^shellinaboxd$", ShellInABoxServiceView.as_view()),
+ re_path(
r"^shellinaboxd/(?P%s)$" % command_regex,
ShellInABoxServiceView.as_view(),
),
- url(r"^rockstor$", RockstorServiceView.as_view()),
- url(r"^rockstor/(?P%s)$" % command_regex, RockstorServiceView.as_view()),
- url(r"^tailscaled$", TailscaledServiceView.as_view()),
- url(
+ re_path(r"^rockstor$", RockstorServiceView.as_view()),
+ re_path(r"^rockstor/(?P%s)$" % command_regex, RockstorServiceView.as_view()),
+ re_path(r"^tailscaled$", TailscaledServiceView.as_view()),
+ re_path(
r"^tailscaled/(?P%s)$" % command_regex, TailscaledServiceView.as_view()
),
- url(
+ re_path(
r"^tailscaled/(?P%s)/(?P%s)$" % (command_regex, action_regex),
TailscaledServiceView.as_view(),
),
diff --git a/src/rockstor/smart_manager/urls/sprobes.py b/src/rockstor/smart_manager/urls/sprobes.py
index be9943cb9..8f84d0b72 100644
--- a/src/rockstor/smart_manager/urls/sprobes.py
+++ b/src/rockstor/smart_manager/urls/sprobes.py
@@ -16,7 +16,7 @@
along with this program. If not, see .
"""
-from django.conf.urls import url
+from django.urls import re_path
from smart_manager.views import (
MemInfoView,
NetStatView,
@@ -35,70 +35,70 @@
urlpatterns = [
# Smart probes
- url(r"^metadata$", SProbeMetadataView.as_view(), name="probe-view"),
- url(
+ re_path(r"^metadata$", SProbeMetadataView.as_view(), name="probe-view"),
+ re_path(
r"^metadata/(?P[0-9]+)$",
SProbeMetadataDetailView.as_view(),
name="probe-view",
),
# Generic smart probes
- url(r"^diskstat/$", DiskStatView.as_view(), name="diskstat-view"),
- url(r"^meminfo/$", MemInfoView.as_view(), name="meminfo-view"),
- url(r"^netstat/$", NetStatView.as_view(), name="netstat-view"),
- url(r"^cpumetric/$", CPUMetricView.as_view(), name="cpumetric-view"),
- url(r"^loadavg$", LoadAvgView.as_view(), name="loadavg-view"),
+ re_path(r"^diskstat/$", DiskStatView.as_view(), name="diskstat-view"),
+ re_path(r"^meminfo/$", MemInfoView.as_view(), name="meminfo-view"),
+ re_path(r"^netstat/$", NetStatView.as_view(), name="netstat-view"),
+ re_path(r"^cpumetric/$", CPUMetricView.as_view(), name="cpumetric-view"),
+ re_path(r"^loadavg$", LoadAvgView.as_view(), name="loadavg-view"),
# Advanced smart probes
- url(r"^nfs-1$", NFSDistribView.as_view(), name="nfsdistrib-view"),
- url(r"^nfs-1/(?P[0-9]+)$", NFSDistribView.as_view(), name="nfsdistrib-view"),
- url(
+ re_path(r"^nfs-1$", NFSDistribView.as_view(), name="nfsdistrib-view"),
+ re_path(r"^nfs-1/(?P[0-9]+)$", NFSDistribView.as_view(), name="nfsdistrib-view"),
+ re_path(
r"^nfs-1/(?P[0-9]+)/(?P[a-z]+)$",
NFSDistribView.as_view(),
name="nfsdistrib-view",
),
- url(r"^nfs-2$", NFSDClientDistribView.as_view(), name="nfsclientdistrib-view"),
- url(
+ re_path(r"^nfs-2$", NFSDClientDistribView.as_view(), name="nfsclientdistrib-view"),
+ re_path(
r"^nfs-2/(?P[0-9]+)$",
NFSDClientDistribView.as_view(),
name="nfsclientdistrib-view",
),
- url(
+ re_path(
r"^nfs-2/(?P[0-9]+)/(?P[a-z]+)$",
NFSDClientDistribView.as_view(),
name="nfsclientdistrib-view",
),
- url(r"^nfs-3$", NFSDShareDistribView.as_view(), name="nfssharedistrib-view"),
- url(
+ re_path(r"^nfs-3$", NFSDShareDistribView.as_view(), name="nfssharedistrib-view"),
+ re_path(
r"^nfs-3/(?P[0-9]+)$",
NFSDShareDistribView.as_view(),
name="nfssharedistrib-view",
),
- url(
+ re_path(
r"^nfs-3/(?P[0-9]+)/(?P[a-z]+)$",
NFSDShareDistribView.as_view(),
name="nfssharedistrib-view",
),
- url(
+ re_path(
r"^nfs-4$",
NFSDShareClientDistribView.as_view(),
name="nfsshareclientdistrib-view",
),
- url(
+ re_path(
r"^nfs-4/(?P[0-9]+)$",
NFSDShareClientDistribView.as_view(),
name="nfsshareclientdistrib-view",
),
- url(
+ re_path(
r"^nfs-4/(?P[0-9]+)/(?P[a-z]+)$",
NFSDShareClientDistribView.as_view(),
name="nfsshareclientdistrib-view",
),
- url(r"^nfs-5$", NFSDUidGidDistributionView.as_view(), name="nfsuidgid-view"),
- url(
+ re_path(r"^nfs-5$", NFSDUidGidDistributionView.as_view(), name="nfsuidgid-view"),
+ re_path(
r"^nfs-5/(?P[0-9]+)$",
NFSDUidGidDistributionView.as_view(),
name="nfsuidgid-view",
),
- url(
+ re_path(
r"^nfs-5/(?P[0-9]+)/(?P[a-z]+)$",
NFSDUidGidDistributionView.as_view(),
name="nfsuidgid-view",
diff --git a/src/rockstor/smart_manager/urls/tasks.py b/src/rockstor/smart_manager/urls/tasks.py
index 4f4f009cf..6536dea06 100644
--- a/src/rockstor/smart_manager/urls/tasks.py
+++ b/src/rockstor/smart_manager/urls/tasks.py
@@ -16,7 +16,7 @@
along with this program. If not, see .
"""
-from django.conf.urls import url
+from django.urls import re_path
from smart_manager.views import (
TaskLogView,
TaskTypeView,
@@ -24,10 +24,10 @@
)
urlpatterns = [
- url(r"^(?P\d+)$", TaskSchedulerDetailView.as_view(),),
- url(r"^log$", TaskLogView.as_view(),),
- url(r"^log/(?Pprune)$", TaskLogView.as_view(),),
- url(r"^log/taskdef/(?P\d+)", TaskLogView.as_view(),),
- url(r"^log/(?P\d+)", TaskLogView.as_view(),),
- url(r"^types$", TaskTypeView.as_view(),),
+ re_path(r"^(?P\d+)$", TaskSchedulerDetailView.as_view(),),
+ re_path(r"^log$", TaskLogView.as_view(),),
+ re_path(r"^log/(?Pprune)$", TaskLogView.as_view(),),
+ re_path(r"^log/taskdef/(?P\d+)", TaskLogView.as_view(),),
+ re_path(r"^log/(?P\d+)", TaskLogView.as_view(),),
+ re_path(r"^types$", TaskTypeView.as_view(),),
]
diff --git a/src/rockstor/storageadmin/templates/storageadmin/base.html b/src/rockstor/storageadmin/templates/storageadmin/base.html
index db9b20cf1..dfeee388f 100644
--- a/src/rockstor/storageadmin/templates/storageadmin/base.html
+++ b/src/rockstor/storageadmin/templates/storageadmin/base.html
@@ -1,4 +1,4 @@
-{% load staticfiles %}
+{% load static %}
diff --git a/src/rockstor/storageadmin/templates/storageadmin/setup.html b/src/rockstor/storageadmin/templates/storageadmin/setup.html
index 9a64b173a..b9aef973e 100644
--- a/src/rockstor/storageadmin/templates/storageadmin/setup.html
+++ b/src/rockstor/storageadmin/templates/storageadmin/setup.html
@@ -1,4 +1,4 @@
-{% load staticfiles %}
+{% load static %}
diff --git a/src/rockstor/storageadmin/urls/commands.py b/src/rockstor/storageadmin/urls/commands.py
index ebed2b87f..81ae7110b 100644
--- a/src/rockstor/storageadmin/urls/commands.py
+++ b/src/rockstor/storageadmin/urls/commands.py
@@ -16,7 +16,8 @@
along with this program. If not, see .
"""
-from django.conf.urls import url
+
+from django.urls import re_path
from storageadmin.views import CommandView
valid_commands = (
@@ -28,8 +29,8 @@
)
urlpatterns =[
- url(r"(?P%s)$" % valid_commands, CommandView.as_view(), name="user-view"),
- url(
+ re_path(r"(?P%s)$" % valid_commands, CommandView.as_view(), name="user-view"),
+ re_path(
r"(?Pshutdown|suspend)/(?P\d+)$",
CommandView.as_view(),
name="user-view",
diff --git a/src/rockstor/storageadmin/urls/disks.py b/src/rockstor/storageadmin/urls/disks.py
index 634ba7466..6b1156bfc 100644
--- a/src/rockstor/storageadmin/urls/disks.py
+++ b/src/rockstor/storageadmin/urls/disks.py
@@ -16,14 +16,14 @@
along with this program. If not, see .
"""
-from django.conf.urls import url
+from django.urls import re_path
from storageadmin.views import DiskListView, DiskDetailView, DiskSMARTDetailView
disk_regex = "[A-Za-z0-9]+[A-Za-z0-9:_-]*"
urlpatterns = [
- url(r"^smart/(?P.+)/(?P\d+)$", DiskSMARTDetailView.as_view()),
- url(r"^(?Pscan)$", DiskListView.as_view()),
- url(r"^(?P\d+)$", DiskDetailView.as_view()),
- url(r"^(?P\d+)/(?P.+)$", DiskDetailView.as_view()),
+ re_path(r"^smart/(?P.+)/(?P\d+)$", DiskSMARTDetailView.as_view()),
+ re_path(r"^(?Pscan)$", DiskListView.as_view()),
+ re_path(r"^(?P\d+)$", DiskDetailView.as_view()),
+ re_path(r"^(?P\d+)/(?P.+)$", DiskDetailView.as_view()),
]
diff --git a/src/rockstor/storageadmin/urls/network.py b/src/rockstor/storageadmin/urls/network.py
index 951bee42c..e83424694 100644
--- a/src/rockstor/storageadmin/urls/network.py
+++ b/src/rockstor/storageadmin/urls/network.py
@@ -16,7 +16,7 @@
along with this program. If not, see .
"""
-from django.conf.urls import url
+from django.urls import re_path
from storageadmin.views import (
NetworkConnectionListView,
NetworkConnectionDetailView,
@@ -26,12 +26,12 @@
urlpatterns = [
- url(r"^connections$", NetworkConnectionListView.as_view()),
- url(r"^connections/(?P\d+)$", NetworkConnectionDetailView.as_view()),
- url(
+ re_path(r"^connections$", NetworkConnectionListView.as_view()),
+ re_path(r"^connections/(?P\d+)$", NetworkConnectionDetailView.as_view()),
+ re_path(
r"^connections/(?P\d+)/(?Pup|down|reload)$",
NetworkConnectionDetailView.as_view(),
),
- url(r"^devices$", NetworkDeviceListView.as_view()),
- url(r"^refresh$", NetworkStateView.as_view()),
+ re_path(r"^devices$", NetworkDeviceListView.as_view()),
+ re_path(r"^refresh$", NetworkStateView.as_view()),
]
diff --git a/src/rockstor/storageadmin/urls/pools.py b/src/rockstor/storageadmin/urls/pools.py
index 3008ffbf0..1674a8b21 100644
--- a/src/rockstor/storageadmin/urls/pools.py
+++ b/src/rockstor/storageadmin/urls/pools.py
@@ -16,7 +16,7 @@
along with this program. If not, see .
"""
-from django.conf.urls import url
+from django.urls import re_path
from storageadmin.views import (
PoolDetailView,
PoolScrubView,
@@ -27,12 +27,12 @@
urlpatterns = [
- url(r"^usage_bound$", get_usage_bound),
- url(r"^(?P\d+)$", PoolDetailView.as_view()),
- url(r"^(?P\d+)/shares$", PoolShareListView.as_view(),),
- url(r"^(?P\d+)/balance$", PoolBalanceView.as_view(),),
- url(r"^(?P\d+)/balance/(?P.*)$", PoolBalanceView.as_view()),
- url(r"^(?P\d+)/scrub$", PoolScrubView.as_view(),),
- url(r"^(?P\d+)/scrub/(?P.*)$", PoolScrubView.as_view(),),
- url(r"^(?P\d+)/(?P.*)$", PoolDetailView.as_view(),),
+ re_path(r"^usage_bound$", get_usage_bound),
+ re_path(r"^(?P\d+)$", PoolDetailView.as_view()),
+ re_path(r"^(?P\d+)/shares$", PoolShareListView.as_view(),),
+ re_path(r"^(?P\d+)/balance$", PoolBalanceView.as_view(),),
+ re_path(r"^(?P\d+)/balance/(?P.*)$", PoolBalanceView.as_view()),
+ re_path(r"^(?P\d+)/scrub$", PoolScrubView.as_view(),),
+ re_path(r"^(?P\d+)/scrub/(?P.*)$", PoolScrubView.as_view(),),
+ re_path(r"^(?P\d+)/(?P.*)$", PoolDetailView.as_view(),),
]
diff --git a/src/rockstor/storageadmin/urls/rockons.py b/src/rockstor/storageadmin/urls/rockons.py
index 8283c9128..27659b010 100644
--- a/src/rockstor/storageadmin/urls/rockons.py
+++ b/src/rockstor/storageadmin/urls/rockons.py
@@ -16,7 +16,7 @@
along with this program. If not, see .
"""
-from django.conf.urls import url
+from django.urls import re_path
from storageadmin.views import (
RockOnView,
RockOnIdView,
@@ -31,17 +31,17 @@
)
urlpatterns = [
- url(r"^volumes/(?P\d+)$", RockOnVolumeView.as_view(),),
- url(r"^docker/containers/(?P\d+)$", RockOnContainerView.as_view(),),
- url(r"^ports/(?P\d+)$", RockOnPortView.as_view(),),
- url(r"^customconfig/(?P\d+)$", RockOnCustomConfigView.as_view(),),
- url(r"^environment/(?P\d+)$", RockOnEnvironmentView.as_view(),),
- url(r"^devices/(?P\d+)$", RockOnDeviceView.as_view(),),
- url(r"^labels/(?P\d+)$", RockOnLabelView.as_view(),),
- url(r"^networks/(?P\d+)$", RockOnNetworkView.as_view(),),
- url(r"^(?Pupdate)$", RockOnView.as_view(),),
- url(r"^(?P\d+)$", RockOnIdView.as_view(),),
- url(
+ re_path(r"^volumes/(?P\d+)$", RockOnVolumeView.as_view(),),
+ re_path(r"^docker/containers/(?P\d+)$", RockOnContainerView.as_view(),),
+ re_path(r"^ports/(?P\d+)$", RockOnPortView.as_view(),),
+ re_path(r"^customconfig/(?P\d+)$", RockOnCustomConfigView.as_view(),),
+ re_path(r"^environment/(?P\d+)$", RockOnEnvironmentView.as_view(),),
+ re_path(r"^devices/(?P\d+)$", RockOnDeviceView.as_view(),),
+ re_path(r"^labels/(?P\d+)$", RockOnLabelView.as_view(),),
+ re_path(r"^networks/(?P\d+)$", RockOnNetworkView.as_view(),),
+ re_path(r"^(?Pupdate)$", RockOnView.as_view(),),
+ re_path(r"^(?P\d+)$", RockOnIdView.as_view(),),
+ re_path(
r"^(?P\d+)/(?Pinstall|uninstall|update|start|stop|state_update|status_update)$", # noqa E501
RockOnIdView.as_view(),
),
diff --git a/src/rockstor/storageadmin/urls/share.py b/src/rockstor/storageadmin/urls/share.py
index e5b82eac7..ccc7739dc 100644
--- a/src/rockstor/storageadmin/urls/share.py
+++ b/src/rockstor/storageadmin/urls/share.py
@@ -16,7 +16,7 @@
along with this program. If not, see .
"""
-from django.conf.urls import url
+from django.urls import re_path
from storageadmin.views import (
ShareDetailView,
ShareACLView,
@@ -32,21 +32,21 @@
share_command = "rollback|clone"
urlpatterns = [
- url(r"^(?P\d+)$", ShareDetailView.as_view(), name="share-view"),
- url(r"^(?P\d+)/(?Pforce)$", ShareDetailView.as_view(),),
+ re_path(r"^(?P\d+)$", ShareDetailView.as_view(), name="share-view"),
+ re_path(r"^(?P\d+)/(?Pforce)$", ShareDetailView.as_view(),),
# Individual snapshots don't have detailed representation in the web-ui. So
# thre is no need for SnapshotDetailView.
- url(r"^(?P\d+)/snapshots$", SnapshotView.as_view(), name="snapshot-view"),
- url(
+ re_path(r"^(?P\d+)/snapshots$", SnapshotView.as_view(), name="snapshot-view"),
+ re_path(
r"^(?P\d+)/snapshots/(?P%s)$" % snap_regex,
SnapshotView.as_view(),
name="snapshot-view",
),
- url(
+ re_path(
r"^(?P\d+)/snapshots/(?P%s)/(?P%s)$"
% (snap_regex, snap_command),
SnapshotView.as_view(),
),
- url(r"^(?P\d+)/acl$", ShareACLView.as_view(), name="acl-view"),
- url(r"^(?P\d+)/(?P%s)$" % share_command, ShareCommandView.as_view()),
+ re_path(r"^(?P\d+)/acl$", ShareACLView.as_view(), name="acl-view"),
+ re_path(r"^(?P\d+)/(?P%s)$" % share_command, ShareCommandView.as_view()),
]
diff --git a/src/rockstor/storageadmin/urls/update_subscription.py b/src/rockstor/storageadmin/urls/update_subscription.py
index 45dc9d3b2..c37d2ee31 100644
--- a/src/rockstor/storageadmin/urls/update_subscription.py
+++ b/src/rockstor/storageadmin/urls/update_subscription.py
@@ -16,10 +16,10 @@
along with this program. If not, see .
"""
-from django.conf.urls import url
+from django.urls import re_path
from storageadmin.views import UpdateSubscriptionListView, UpdateSubscriptionDetailView
urlpatterns = [
- url(r"^(?P\d+)$", UpdateSubscriptionDetailView.as_view()),
- url(r"^(?P.*)$", UpdateSubscriptionListView.as_view()),
+ re_path(r"^(?P\d+)$", UpdateSubscriptionDetailView.as_view()),
+ re_path(r"^(?P.*)$", UpdateSubscriptionListView.as_view()),
]
diff --git a/src/rockstor/urls.py b/src/rockstor/urls.py
index eea70e1e3..90f7ed831 100644
--- a/src/rockstor/urls.py
+++ b/src/rockstor/urls.py
@@ -16,7 +16,7 @@
along with this program. If not, see .
"""
-from django.conf.urls import include, url
+from django.urls import include, re_path
from django.views.static import serve
from django.conf import settings
@@ -74,82 +74,80 @@
img_doc_root = os.path.join(os.path.dirname(__file__), "/templates/storageadmin/img")
js_doc_root = os.path.join(os.path.dirname(__file__), "/templates/storageadmin/js")
-# TODO move to path() and re_path() introduced in Django 2.0.
-# url() is to be deprecated, as of 2.0 it's a link to re_path()
urlpatterns = [
- url(r"^$", home, name="home"),
- url(r"^login_page$", login_page, name="login_page"),
- url(r"^login_submit$", login_submit, name="login_submit"),
- url(r"^logout_user$", logout_user, name="logout_user"),
- url(r"^home$", home, name="home"),
- url(r"^setup_user$", SetupUserView.as_view()),
+ re_path(r"^$", home, name="home"),
+ re_path(r"^login_page$", login_page, name="login_page"),
+ re_path(r"^login_submit$", login_submit, name="login_submit"),
+ re_path(r"^logout_user$", logout_user, name="logout_user"),
+ re_path(r"^home$", home, name="home"),
+ re_path(r"^setup_user$", SetupUserView.as_view()),
# https://docs.djangoproject.com/en/1.10/howto/static-files/#serving-files-uploaded-by-a-user-during-development
- url(r"^site_media/(?P.*)$", serve, {"document_root": site_media}),
- url(r"^css/(?P.*)$", serve, {"document_root": css_doc_root}),
- url(r"^js/(?P.*)$", serve, {"document_root": js_doc_root}),
- url(r"^img/(?P.*)$", serve, {"document_root": img_doc_root}),
- url(r"^o/", include("oauth2_provider.urls", namespace="oauth2_provider")),
+ re_path(r"^site_media/(?P.*)$", serve, {"document_root": site_media}),
+ re_path(r"^css/(?P.*)$", serve, {"document_root": css_doc_root}),
+ re_path(r"^js/(?P.*)$", serve, {"document_root": js_doc_root}),
+ re_path(r"^img/(?P.*)$", serve, {"document_root": img_doc_root}),
+ re_path(r"^o/", include("oauth2_provider.urls", namespace="oauth2_provider")),
# REST API
- url(r"^api/login", LoginView.as_view()),
- url(r"^api/appliances$", ApplianceListView.as_view()),
- url(r"^api/appliances/(?P\d+)$", ApplianceDetailView.as_view()),
- url(r"^api/commands/", include("storageadmin.urls.commands")),
- url(r"^api/disks$", DiskListView.as_view()),
- url(r"^api/disks/", include("storageadmin.urls.disks")),
- url(r"^api/network$", NetworkStateView.as_view()),
- url(r"^api/network/", include("storageadmin.urls.network")),
- url(r"^api/pools$", PoolListView.as_view(), name="pool-view"),
- url(r"^api/pools/", include("storageadmin.urls.pools")),
- url(r"^api/shares$", ShareListView.as_view(), name="share-view"),
- url(r"^api/shares/", include("storageadmin.urls.share")),
- url(r"^api/snapshots", SnapshotView.as_view()),
- url(r"^api/users$", UserListView.as_view()),
- url(
+ re_path(r"^api/login", LoginView.as_view()),
+ re_path(r"^api/appliances$", ApplianceListView.as_view()),
+ re_path(r"^api/appliances/(?P\d+)$", ApplianceDetailView.as_view()),
+ re_path(r"^api/commands/", include("storageadmin.urls.commands")),
+ re_path(r"^api/disks$", DiskListView.as_view()),
+ re_path(r"^api/disks/", include("storageadmin.urls.disks")),
+ re_path(r"^api/network$", NetworkStateView.as_view()),
+ re_path(r"^api/network/", include("storageadmin.urls.network")),
+ re_path(r"^api/pools$", PoolListView.as_view(), name="pool-view"),
+ re_path(r"^api/pools/", include("storageadmin.urls.pools")),
+ re_path(r"^api/shares$", ShareListView.as_view(), name="share-view"),
+ re_path(r"^api/shares/", include("storageadmin.urls.share")),
+ re_path(r"^api/snapshots", SnapshotView.as_view()),
+ re_path(r"^api/users$", UserListView.as_view()),
+ re_path(
r"^api/users/(?P%s)$" % settings.USERNAME_REGEX,
UserDetailView.as_view(),
),
- url(r"^api/groups$", GroupListView.as_view()),
- url(
+ re_path(r"^api/groups$", GroupListView.as_view()),
+ re_path(
r"^api/groups/(?P%s)$" % settings.USERNAME_REGEX,
GroupDetailView.as_view(),
),
- url(r"^api/nfs-exports$", NFSExportGroupListView.as_view()),
- url(r"^api/nfs-exports/(?P\d+)$", NFSExportGroupDetailView.as_view()),
- url(r"^api/adv-nfs-exports$", AdvancedNFSExportView.as_view()),
- url(r"^api/samba$", SambaListView.as_view()),
- url(r"^api/samba/(?P\d+)$", SambaDetailView.as_view()),
- url(r"^api/sftp$", SFTPListView.as_view()),
- url(r"^api/sftp/(?P\d+)$", SFTPDetailView.as_view()),
+ re_path(r"^api/nfs-exports$", NFSExportGroupListView.as_view()),
+ re_path(r"^api/nfs-exports/(?P\d+)$", NFSExportGroupDetailView.as_view()),
+ re_path(r"^api/adv-nfs-exports$", AdvancedNFSExportView.as_view()),
+ re_path(r"^api/samba$", SambaListView.as_view()),
+ re_path(r"^api/samba/(?P\d+)$", SambaDetailView.as_view()),
+ re_path(r"^api/sftp$", SFTPListView.as_view()),
+ re_path(r"^api/sftp/(?P\d+)$", SFTPDetailView.as_view()),
# Dashboard config
- url(r"^api/dashboardconfig$", DashboardConfigView.as_view()),
- url(r"^api/oauth_app$", OauthAppView.as_view()),
- url(r"^api/oauth_app/(?P\d+)$", OauthAppView.as_view()),
- url(r"^api/sm/services$", BaseServiceView.as_view()),
- url(r"^api/sm/services/", include("smart_manager.urls.services")),
- url(r"^api/sm/sprobes$", SProbeView.as_view(), name="probe-view"),
- url(r"^api/sm/sprobes/", include("smart_manager.urls.sprobes")),
- url(r"^api/sm/tasks$", TaskSchedulerListView.as_view()),
- url(r"^api/sm/tasks/", include("smart_manager.urls.tasks")),
- url(r"^api/sm/replicas$", ReplicaListView.as_view(), name="replica-view"),
- url(r"^api/sm/replicas/", include("smart_manager.urls.replicas")),
+ re_path(r"^api/dashboardconfig$", DashboardConfigView.as_view()),
+ re_path(r"^api/oauth_app$", OauthAppView.as_view()),
+ re_path(r"^api/oauth_app/(?P\d+)$", OauthAppView.as_view()),
+ re_path(r"^api/sm/services$", BaseServiceView.as_view()),
+ re_path(r"^api/sm/services/", include("smart_manager.urls.services")),
+ re_path(r"^api/sm/sprobes$", SProbeView.as_view(), name="probe-view"),
+ re_path(r"^api/sm/sprobes/", include("smart_manager.urls.sprobes")),
+ re_path(r"^api/sm/tasks$", TaskSchedulerListView.as_view()),
+ re_path(r"^api/sm/tasks/", include("smart_manager.urls.tasks")),
+ re_path(r"^api/sm/replicas$", ReplicaListView.as_view(), name="replica-view"),
+ re_path(r"^api/sm/replicas/", include("smart_manager.urls.replicas")),
# Certificate url
- url(r"^api/certificate", TLSCertificateView.as_view()),
- url(r"^api/rockons$", RockOnView.as_view()),
- url(r"^api/rockons/", include("storageadmin.urls.rockons")),
+ re_path(r"^api/certificate", TLSCertificateView.as_view()),
+ re_path(r"^api/rockons$", RockOnView.as_view()),
+ re_path(r"^api/rockons/", include("storageadmin.urls.rockons")),
# Config Backup
- url(r"^api/config-backup$", ConfigBackupListView.as_view()),
- url(r"^api/config-backup/(?P\d+)$", ConfigBackupDetailView.as_view()),
- url(r"^api/config-backup/file-upload$", ConfigBackupUpload.as_view()),
- url(r"^api/email$", EmailClientView.as_view()),
- url(r"^api/email/(?P.*)$", EmailClientView.as_view()),
+ re_path(r"^api/config-backup$", ConfigBackupListView.as_view()),
+ re_path(r"^api/config-backup/(?P\d+)$", ConfigBackupDetailView.as_view()),
+ re_path(r"^api/config-backup/file-upload$", ConfigBackupUpload.as_view()),
+ re_path(r"^api/email$", EmailClientView.as_view()),
+ re_path(r"^api/email/(?P.*)$", EmailClientView.as_view()),
# Pincard
- url(
+ re_path(
r"^api/pincardmanager/(?Pcreate|reset)/(?P\w+)$",
PincardView.as_view(),
),
# update subscription
- url(r"^api/update-subscriptions$", UpdateSubscriptionListView.as_view()),
- url(
+ re_path(r"^api/update-subscriptions$", UpdateSubscriptionListView.as_view()),
+ re_path(
r"^api/update-subscriptions/", include("storageadmin.urls.update_subscription")
),
]