Skip to content
Snippets Groups Projects
Commit 6273c726 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Merge branch 'add-docs' into 'master'

Add docs

See merge request !109
parents 557346c7 26124838
No related branches found
No related tags found
1 merge request!109Add docs
Pipeline #49836 passed
Pipeline: AlekSIS

#49838

    ......@@ -56,3 +56,5 @@ docs/_build/
    # Test
    .tox/
    poetry.lock
    include:
    - project: "AlekSIS/official/AlekSIS"
    file: /ci/general.yml
    - project: "AlekSIS/official/AlekSIS"
    file: /ci/prepare/lock.yml
    # - project: "AlekSIS/official/AlekSIS"
    # file: /ci/test/test.yml
    - project: "AlekSIS/official/AlekSIS"
    ......
    # Minimal makefile for Sphinx documentation
    #
    # You can set these variables from the command line.
    SPHINXOPTS =
    SPHINXBUILD = sphinx-build
    SOURCEDIR = .
    BUILDDIR = _build
    # Put it first so that "make" without argument is like "make help".
    help:
    @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
    .PHONY: help Makefile
    # Catch-all target: route all unknown targets to Sphinx using the new
    # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
    %: Makefile
    @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
    Importing timetables and substitutions from Untis
    =================================================
    .. toctree::
    :glob:
    *
    Untis data and their relation to AlekSIS
    ========================================
    Untis is a proprietary timetable management software which is popular
    in the German-speaking area, but used internationally. AlekSIS provides
    functionality to automatically import data from Untis into data models
    of the core and `Chronos`, the timetable and substitution app of AlekSIS.
    Currently, we only support importing data from the MySQL database of
    `Untis MultiUser`. This is done through configurable background tasks
    which are executed in a specific interval or at specific points in time.
    Supported Untis features
    ------------------------
    Not all features of Untis are supported in AlekSIS. The following
    information form Untis can be imported into AlekSIS:
    * Terms
    * Holidays
    * Classes, teachers, subjects
    * Rooms, supervision areas (corridors in Untis)
    * Lesson and break times
    * Timetable data (lessons, supervisions)
    * Absences, absence reasons
    * Substitutions, extra lessons, cancellations
    * Events
    Currently, the following features are known not to be supported:
    * Students, student groups, student choices
    * Exams
    * Calendars
    * Prebookings
    * Statistical data
    * Special rooms (subject and group rooms)
    Setting up the Untis integration
    ================================
    Requirements
    ------------
    To use the importer, you must have a current Untis MultiUser
    license (version 2019 and above) and a MySQL database which
    is reachable by the AlekSIS server. How to configure Untis
    to use this database is described in the `Untis MultiUser Manual`_.
    In addition to the technical requirements of AlekSIS itself,
    a few extra system packages are required:
    .. code-block:: shell
    apt install libmariadb-dev
    The MySQL (or MariaDB) server must be reachable from the AlekSIS
    server, and a user account in the database is needed. It is sufficient
    to create this user with ``SELECT`` permissions. On the MySQL shell,
    you can create such a user with something like:
    .. code-block:: sql
    CREATE USER `aleksis`@`aleksisserver` IDENTIFIED BY 'securepassword';
    GRANT SELECT ON `untis`.* TO `aleksis`@`aleksisserver`;
    FLUSH PRIVILEGES;
    .. _Untis MultiUser Manual: https://help.Untis.at/hc/de/article_attachments/360004504079/Untis_MultiUser.pdf
    Configure database connection
    -----------------------------
    In the AlekSIS configuration file, you have to set following settings:
    .. code-block:: toml
    [untis.database]
    enabled = true
    name = "untis"
    user = "aleksis"
    password = "securepassword"
    host = "mysqlserver"
    port = 3306
    Customise how data are imported
    -------------------------------
    The way data are imported can be configured from the menu under
    `Admin → Configuration → Untis`. The following preferences are available:
    * **Update values of existing subjects:** This will update the values of
    already existing subjects if Untis has different data.
    * **Update short name of existing persons:** This will update the short
    name of already existing persons if Untis has different data.
    * **Update name of existing persons:** This will update the name of
    already existing persons if Untis has different data.
    * **Update short name of existing groups:** This will update the short name
    of already existing groups if Untis has different data.
    * **Update name of existing groups:** This will update the name of already
    existing groups if Untis has different data.
    * **Overwrite group owners:** This will update the group owners of already
    existing groups if Untis has different data.
    * **Update name of existing rooms:** This will update the name of already
    existing rooms if Untis has different data.
    * **Update existing supervision areas:** This will update the values of
    already existing supervision areas if Untis has different data.
    * **Use course groups:** This will build or search course groups (groups
    for each subject in a class) instead of setting the classes as groups.
    Scheduling import tasks
    -----------------------
    The integration provides different background tasks to import the data from Untis:
    * ``untis_import_mysql_current_term``: This will import all data from the **current**
    Untis term.
    * ``untis_import_mysql_future_terms``: This will import all data from all **future**
    Untis terms, but not from the current.
    * ``untis_import_mysql_all_terms``: This will import all data from **all** Untis
    terms which are in the database.
    * ``untis_import_mysql_current_next_term``: This will import all data from the
    **current and the directly following** Untis term.
    * ``untis_import_mysql_current_future_terms``: This will import all data from the
    **current and all future** Untis terms.
    We suggest using ``untis_import_mysql_current_next_term`` as a task because this will
    ensure that all current data are up-to-date, but also that the next timetable version
    is also already imported when it becomes reelvant.
    In general, all tasks will do nothing if there is no matching Untis term.
    To use these tasks, you have to add them as periodic tasks.
    How existing data is matched
    ----------------------------
    If there are already existing data in AlekSIS' database, the Untis import will
    always try to combine these data. The main data field used for this is the
    ``short name`` field. If the data were imported one time, each object in
    Chronos will save the respective ID from Untis to make sure that the data are
    properly updated at the next import.
    The import is thus idempotent.
    # -*- coding: utf-8 -*-
    #
    # Configuration file for the Sphinx documentation builder.
    #
    # This file does only contain a selection of the most common options. For a
    # full list see the documentation:
    # http://www.sphinx-doc.org/en/master/config
    # -- Path setup --------------------------------------------------------------
    import os
    import sys
    # If extensions (or modules to document with autodoc) are in another directory,
    # add these directories to sys.path here. If the directory is relative to the
    # documentation root, use os.path.abspath to make it absolute, like shown here.
    #
    import django
    sys.path.insert(0, os.path.abspath(".."))
    os.environ["DJANGO_SETTINGS_MODULE"] = "aleksis.core.settings"
    os.environ["LOCAL_SETTINGS_FILE"] = os.path.abspath(os.path.join("..", "local.cfg"))
    django.setup()
    # -- Project information -----------------------------------------------------
    project = "AlekSIS-App-Untis"
    copyright = "2018-2022 The AlekSIS team"
    author = "The AlekSIS Team"
    # The short X.Y version
    version = "2.2"
    # The full version, including alpha/beta/rc tags
    release = "2.2.1.dev0"
    # -- General configuration ---------------------------------------------------
    # If your documentation needs a minimal Sphinx version, state it here.
    #
    # needs_sphinx = '1.0'
    # Add any Sphinx extension module names here, as strings. They can be
    # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
    # ones.
    extensions = [
    "sphinx.ext.autodoc",
    "sphinxcontrib_django",
    "sphinx_autodoc_typehints",
    "sphinx.ext.intersphinx",
    "sphinx.ext.viewcode",
    ]
    # Add any paths that contain templates here, relative to this directory.
    templates_path = ["_templates"]
    # The suffix(es) of source filenames.
    # You can specify multiple suffix as a list of string:
    #
    # source_suffix = ['.rst', '.md']
    source_suffix = ".rst"
    # The master toctree document.
    master_doc = "index"
    # The language for content autogenerated by Sphinx. Refer to documentation
    # for a list of supported languages.
    #
    # This is also used if you do content translation via gettext catalogs.
    # Usually you set "language" from the command line for these cases.
    language = None
    # List of patterns, relative to source directory, that match files and
    # directories to ignore when looking for source files.
    # This pattern also affects html_static_path and html_extra_path.
    exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
    # The name of the Pygments (syntax highlighting) style to use.
    pygments_style = None
    # -- Options for HTML output -------------------------------------------------
    # The theme to use for HTML and HTML Help pages. See the documentation for
    # a list of builtin themes.
    #
    html_theme = "sphinx_material"
    html_favicon = "../aleksis/core/static/img/aleksis-icon.png"
    html_logo = "../aleksis/core/static/img/aleksis-banner.svg"
    # Theme options are theme-specific and customize the look and feel of a theme
    # further. For a list of options available for each theme, see the
    # documentation.
    #
    html_theme_options = {
    "repo_url": f"https://edugit.org/AlekSIS/official/{project}",
    "repo_name": "EduGit",
    "repo_type": "gitlab",
    "theme_color": "#0d5eaf",
    "color_primary": "#0d5eaf",
    "color_accent": "#0d5eaf",
    "globaltoc_depth": 2,
    "globaltoc_collapse": False,
    }
    # Add any paths that contain custom static files (such as style sheets) here,
    # relative to this directory. They are copied after the builtin static files,
    # so a file named "default.css" will overwrite the builtin "default.css".
    html_static_path = ["_static"]
    # Custom sidebar templates, must be a dictionary that maps document names
    # to template names.
    #
    # The default sidebars (for documents that don't match any pattern) are
    # defined by theme itself. Builtin themes are using these templates by
    # default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
    # 'searchbox.html']``.
    #
    html_sidebars = {
    "**": ["logo-text.html", "globaltoc.html", "localtoc.html", "searchbox.html"]
    }
    # -- Options for HTMLHelp output ---------------------------------------------
    # Output file base name for HTML help builder.
    htmlhelp_basename = f"{project}doc"
    # -- Options for LaTeX output ------------------------------------------------
    latex_elements = {
    # The paper size ('letterpaper' or 'a4paper').
    #
    # 'papersize': 'letterpaper',
    # The font size ('10pt', '11pt' or '12pt').
    #
    # 'pointsize': '10pt',
    # Additional stuff for the LaTeX preamble.
    #
    # 'preamble': '',
    # Latex figure (float) alignment
    #
    # 'figure_align': 'htbp',
    }
    # Grouping the document tree into LaTeX files. List of tuples
    # (source start file, target name, title,
    # author, documentclass [howto, manual, or own class]).
    latex_documents = [
    (master_doc, f"{project}.tex", f"{project} Documentation", author, "manual"),
    ]
    # -- Options for manual page output ------------------------------------------
    # One entry per manual page. List of tuples
    # (source start file, name, description, authors, manual section).
    man_pages = [(master_doc, "aleksis", f"{project} Documentation", [author], 1)]
    # -- Options for Texinfo output ----------------------------------------------
    # Grouping the document tree into Texinfo files. List of tuples
    # (source start file, target name, title, author,
    # dir menu entry, description, category)
    texinfo_documents = [
    (
    master_doc,
    project,
    f"{project} Documentation",
    author,
    project,
    "One line description of project.",
    "Miscellaneous",
    ),
    ]
    # -- Options for Epub output -------------------------------------------------
    # Bibliographic Dublin Core info.
    epub_title = project
    # The unique identifier of the text. This can be a ISBN number
    # or the project homepage.
    #
    # epub_identifier = ''
    # A unique identification for the text.
    #
    # epub_uid = ''
    # A list of files that should not be packed into the epub file.
    epub_exclude_files = ["search.html"]
    # -- Extension configuration -------------------------------------------------
    # -- Options for intersphinx extension ---------------------------------------
    # Example configuration for intersphinx: refer to the Python standard library.
    intersphinx_mapping = {
    "https://docs.python.org/": None,
    "https://docs.djangoproject.com/en/stable": "https://docs.djangoproject.com/en/stable/_objects",
    }
    .. AlekSIS documentation master file, created by
    sphinx-quickstart on Thu Aug 15 10:49:03 2019.
    You can adapt this file completely to your liking, but it should at least
    contain the root `toctree` directive.
    Welcome to AlekSIS-App-Untis' documentation!
    ============================================
    .. toctree::
    :maxdepth: 2
    :caption: Contents:
    user/00_index
    admin/00_index
    dev/00_index
    ref/00_index
    Indices and tables
    ==================
    * :ref:`genindex`
    * :ref:`modindex`
    * :ref:`search`
    @ECHO OFF
    pushd %~dp0
    REM Command file for Sphinx documentation
    if "%SPHINXBUILD%" == "" (
    set SPHINXBUILD=sphinx-build
    )
    set SOURCEDIR=.
    set BUILDDIR=_build
    if "%1" == "" goto help
    %SPHINXBUILD% >NUL 2>NUL
    if errorlevel 9009 (
    echo.
    echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
    echo.installed, then set the SPHINXBUILD environment variable to point
    echo.to the full path of the 'sphinx-build' executable. Alternatively you
    echo.may add the Sphinx directory to PATH.
    echo.
    echo.If you don't have Sphinx installed, grab it from
    echo.http://sphinx-doc.org/
    exit /b 1
    )
    %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
    goto end
    :help
    %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
    :end
    popd
    [[package]]
    name = "alabaster"
    version = "0.7.12"
    description = "A configurable sidebar-enabled Sphinx theme"
    category = "dev"
    optional = false
    python-versions = "*"
    [[package]]
    name = "aleksis-app-chronos"
    version = "2.1.dev3"
    description = "AlekSIS (School Information System) — App Χρόνος (digital timetables)"
    category = "main"
    optional = false
    python-versions = ">=3.9,<4.0"
    [package.dependencies]
    aleksis-app-resint = ">=2.0b0,<3.0"
    aleksis-core = ">=2.0rc3,<3.0"
    calendarweek = ">=0.5.0,<0.6.0"
    [[package]]
    name = "aleksis-app-resint"
    version = "2.0b1+20211107142135.95d735a4"
    description = "AlekSIS (School Information System) — App Resint (Public poster)"
    category = "main"
    optional = false
    python-versions = ">=3.9,<4.0"
    [package.dependencies]
    AlekSIS-Core = ">=2.1,<3.0"
    [package.source]
    type = "legacy"
    url = "https://edugit.org/api/v4/projects/461/packages/pypi/simple"
    reference = "gitlab"
    [[package]]
    name = "aleksis-builddeps"
    version = "5+20211118185200.f1c0d03f"
    description = "AlekSIS (School Information System) — Build/Dev dependencies for apps"
    category = "dev"
    optional = false
    python-versions = ">=3.9,<4.0"
    [package.dependencies]
    black = ">=21.10b0,<22.0"
    curlylint = ">=0.13.0,<0.14.0"
    django-stubs = ">=1.1,<2.0"
    flake8 = ">=4.0.0,<5.0.0"
    flake8-bandit = ">=2.1.2,<3.0.0"
    flake8-black = ">=0.2.0,<0.3.0"
    flake8-builtins = ">=1.4.1,<2.0.0"
    flake8-django = ">=1.0.0,<2.0.0"
    flake8-docstrings = ">=1.5.0,<2.0.0"
    flake8-fixme = ">=1.1.1,<2.0.0"
    flake8-isort = ">=4.0.0,<5.0.0"
    flake8-mypy = ">=17.8.0,<18.0.0"
    flake8-rst-docstrings = ">=0.2.0,<0.3.0"
    freezegun = ">=1.1.0,<2.0.0"
    isort = ">=5.0.0,<6.0.0"
    pytest = ">=6.0,<7.0"
    pytest-cov = ">=3.0.0,<4.0.0"
    pytest-django = ">=4.1,<5.0"
    pytest-django-testing-postgresql = ">=0.1,<0.2"
    pytest-sugar = ">=0.9.2,<0.10.0"
    safety = ">=1.8.5,<2.0.0"
    selenium = ">=4.0.0,<5.0.0"
    sphinx = ">=3.0,<4.0"
    sphinx-autodoc-typehints = ">=1.7,<2.0"
    sphinx_materialdesign_theme = ">=0.1.11,<0.2.0"
    sphinxcontrib-django = ">=0.5.0,<0.6.0"
    [package.source]
    type = "legacy"
    url = "https://edugit.org/api/v4/projects/461/packages/pypi/simple"
    reference = "gitlab"
    [[package]]
    name = "aleksis-core"
    version = "2.2.dev0+20211114193927.5ca5f145"
    description = "AlekSIS (School Information System) — Core"
    category = "main"
    optional = false
    python-versions = ">=3.9,<4.0"
    [package.dependencies]
    bs4 = ">=0.0.1,<0.0.2"
    calendarweek = ">=0.5.0,<0.6.0"
    Celery = {version = ">=5.0.0,<6.0.0", extras = ["django", "redis"]}
    celery-haystack-ng = ">=0.20,<0.21"
    celery-progress = ">=0.1.0,<0.2.0"
    colour = ">=0.1.5,<0.2.0"
    Django = ">=3.2.5,<4.0.0"
    django-allauth = ">=0.45.0,<0.46.0"
    django-any-js = ">=1.1,<2.0"
    django-bleach = ">=0.9.0,<0.10.0"
    django-cachalot = ">=2.3.2,<3.0.0"
    django-cache-memoize = ">=0.1.6,<0.2.0"
    django-celery-beat = ">=2.2.0,<3.0.0"
    django-celery-email = ">=3.0.0,<4.0.0"
    django-celery-results = ">=2.0.1,<3.0.0"
    django-ckeditor = ">=6.0.0,<7.0.0"
    django-cleanup = ">=5.1.0,<6.0.0"
    django-colorfield = ">=0.4.0,<0.5.0"
    django-dbbackup = ">=3.3.0,<4.0.0"
    django-debug-toolbar = ">=3.2,<4.0"
    django-dynamic-preferences = ">=1.11,<2.0"
    django-extensions = ">=3.1.1,<4.0.0"
    django-favicon-plus-reloaded = ">=1.1.2,<2.0.0"
    django-filter = ">=2.2.0,<3.0.0"
    django-guardian = ">=2.2.0,<3.0.0"
    django-haystack = ">=3.1,<4.0"
    django-health-check = ">=3.12.1,<4.0.0"
    django-impersonate = ">=1.4,<2.0"
    django-ipware = ">=4.0,<5.0"
    django-js-reverse = ">=0.9.1,<0.10.0"
    django-jsonstore = ">=0.5.0,<0.6.0"
    django-maintenance-mode = ">=0.16.0,<0.17.0"
    django-material = ">=1.6.0,<2.0.0"
    django-menu-generator-ng = ">=1.2.3,<2.0.0"
    django-model-utils = ">=4.0.0,<5.0.0"
    django-oauth-toolkit = ">=1.5.0,<2.0.0"
    django-phonenumber-field = {version = ">=5.2,<6.0", extras = ["phonenumbers"]}
    django-polymorphic = ">=3.0.0,<4.0.0"
    django-prometheus = ">=2.1.0,<3.0.0"
    django-redis = ">=5.0.0,<6.0.0"
    django-reversion = ">=4.0.0,<5.0.0"
    django-sass-processor = "1.0"
    django_select2 = ">=7.1,<8.0"
    django-tables2 = ">=2.1,<3.0"
    django-templated-email = ">=3.0.0,<4.0.0"
    django-titofisto = ">=0.2.0,<0.3.0"
    django-two-factor-auth = {version = ">=1.12.1,<2.0.0", extras = ["call", "phonenumbers", "sms", "yubikey"]}
    django-uwsgi-ng = ">=1.1.0,<2.0.0"
    django_widget_tweaks = ">=1.4.5,<2.0.0"
    django-yarnpkg = ">=6.0,<7.0"
    djangorestframework = ">=3.12.4,<4.0.0"
    dynaconf = {version = ">=3.1,<4.0", extras = ["ini", "toml", "yaml"]}
    haystack-redis = ">=0.0.1,<0.0.2"
    html2text = ">=2020.0.0,<2021.0.0"
    ipython = ">=7.20.0,<8.0.0"
    libsass = ">=0.21.0,<0.22.0"
    license-expression = ">=1.2,<2.0"
    psutil = ">=5.7.0,<6.0.0"
    psycopg2 = ">=2.8,<3.0"
    python-gnupg = ">=0.4.7,<0.5.0"
    rules = ">=3.0,<4.0"
    sentry-sdk = ">=1.4.3,<2.0.0"
    spdx-license-list = ">=0.5.0,<0.6.0"
    Whoosh = ">=2.7.4,<3.0.0"
    [package.extras]
    s3 = ["boto3 (>=1.17.33,<2.0.0)", "django-storages (>=1.11.1,<2.0.0)"]
    ldap = ["django-auth-ldap (>=3.0,<4.0)"]
    [package.source]
    type = "legacy"
    url = "https://edugit.org/api/v4/projects/461/packages/pypi/simple"
    reference = "gitlab"
    [[package]]
    name = "amqp"
    version = "5.0.6"
    description = "Low-level AMQP client for Python (fork of amqplib)."
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    vine = "5.0.0"
    [[package]]
    name = "appnope"
    version = "0.1.2"
    description = "Disable App Nap on macOS >= 10.9"
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "asgiref"
    version = "3.4.1"
    description = "ASGI specs, helper code, and adapters"
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [package.extras]
    tests = ["pytest", "pytest-asyncio", "mypy (>=0.800)"]
    [[package]]
    name = "asn1crypto"
    version = "1.4.0"
    description = "Fast ASN.1 parser and serializer with definitions for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, PKCS#12, PKCS#5, X.509 and TSP"
    category = "dev"
    optional = false
    python-versions = "*"
    [[package]]
    name = "async-generator"
    version = "1.10"
    description = "Async generators and context managers for Python 3.5+"
    category = "dev"
    optional = false
    python-versions = ">=3.5"
    [[package]]
    name = "atomicwrites"
    version = "1.4.0"
    description = "Atomic file writes."
    category = "dev"
    optional = false
    python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
    [[package]]
    name = "attrs"
    version = "21.2.0"
    description = "Classes Without Boilerplate"
    category = "dev"
    optional = false
    python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
    [package.extras]
    dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit"]
    docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"]
    tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface"]
    tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins"]
    [[package]]
    name = "babel"
    version = "2.9.1"
    description = "Internationalization utilities"
    category = "dev"
    optional = false
    python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
    [package.dependencies]
    pytz = ">=2015.7"
    [[package]]
    name = "backcall"
    version = "0.2.0"
    description = "Specifications for callback functions passed in to an API"
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "bandit"
    version = "1.7.1"
    description = "Security oriented static analyser for python code."
    category = "dev"
    optional = false
    python-versions = ">=3.5"
    [package.dependencies]
    colorama = {version = ">=0.3.9", markers = "platform_system == \"Windows\""}
    GitPython = ">=1.0.1"
    PyYAML = ">=5.3.1"
    stevedore = ">=1.20.0"
    [[package]]
    name = "beautifulsoup4"
    version = "4.10.0"
    description = "Screen-scraping library"
    category = "main"
    optional = false
    python-versions = ">3.0.0"
    [package.dependencies]
    soupsieve = ">1.2"
    [package.extras]
    html5lib = ["html5lib"]
    lxml = ["lxml"]
    [[package]]
    name = "billiard"
    version = "3.6.4.0"
    description = "Python multiprocessing fork with improvements and bugfixes"
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "black"
    version = "21.11b1"
    description = "The uncompromising code formatter."
    category = "dev"
    optional = false
    python-versions = ">=3.6.2"
    [package.dependencies]
    click = ">=7.1.2"
    mypy-extensions = ">=0.4.3"
    pathspec = ">=0.9.0,<1"
    platformdirs = ">=2"
    regex = ">=2021.4.4"
    tomli = ">=0.2.6,<2.0.0"
    typing-extensions = [
    {version = ">=3.10.0.0", markers = "python_version < \"3.10\""},
    {version = "!=3.10.0.1", markers = "python_version >= \"3.10\""},
    ]
    [package.extras]
    colorama = ["colorama (>=0.4.3)"]
    d = ["aiohttp (>=3.7.4)"]
    jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"]
    python2 = ["typed-ast (>=1.4.3)"]
    uvloop = ["uvloop (>=0.15.2)"]
    [[package]]
    name = "bleach"
    version = "4.1.0"
    description = "An easy safelist-based HTML-sanitizing tool."
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    packaging = "*"
    six = ">=1.9.0"
    webencodings = "*"
    [[package]]
    name = "boolean.py"
    version = "3.8"
    description = "Define boolean algebras, create and parse boolean expressions and create custom boolean DSL."
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "bs4"
    version = "0.0.1"
    description = "Dummy package for Beautiful Soup"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    beautifulsoup4 = "*"
    [[package]]
    name = "calendarweek"
    version = "0.5.0"
    description = "Utilities for working with calendar weeks in Python and Django"
    category = "main"
    optional = false
    python-versions = ">=3.7,<4.0"
    [package.extras]
    django = ["Django (>=2.2,<4.0)"]
    [[package]]
    name = "celery"
    version = "5.2.1"
    description = "Distributed Task Queue."
    category = "main"
    optional = false
    python-versions = ">=3.7,"
    [package.dependencies]
    billiard = ">=3.6.4.0,<4.0"
    click = ">=8.0,<9.0"
    click-didyoumean = ">=0.0.3"
    click-plugins = ">=1.1.1"
    click-repl = ">=0.2.0"
    Django = {version = ">=1.11", optional = true, markers = "extra == \"django\""}
    kombu = ">=5.2.2,<6.0"
    pytz = ">0.dev.0"
    redis = {version = ">=3.4.1,<4.0.0", optional = true, markers = "extra == \"redis\""}
    vine = ">=5.0.0,<6.0"
    [package.extras]
    arangodb = ["pyArango (>=1.3.2)"]
    auth = ["cryptography"]
    azureblockblob = ["azure-storage-blob (==12.9.0)"]
    brotli = ["brotli (>=1.0.0)", "brotlipy (>=0.7.0)"]
    cassandra = ["cassandra-driver (<3.21.0)"]
    consul = ["python-consul2"]
    cosmosdbsql = ["pydocumentdb (==2.3.2)"]
    couchbase = ["couchbase (>=3.0.0)"]
    couchdb = ["pycouchdb"]
    django = ["Django (>=1.11)"]
    dynamodb = ["boto3 (>=1.9.178)"]
    elasticsearch = ["elasticsearch"]
    eventlet = ["eventlet (>=0.32.0)"]
    gevent = ["gevent (>=1.5.0)"]
    librabbitmq = ["librabbitmq (>=1.5.0)"]
    memcache = ["pylibmc"]
    mongodb = ["pymongo[srv] (>=3.3.0,<3.12.1)"]
    msgpack = ["msgpack"]
    pymemcache = ["python-memcached"]
    pyro = ["pyro4"]
    pytest = ["pytest-celery"]
    redis = ["redis (>=3.4.1,<4.0.0)"]
    s3 = ["boto3 (>=1.9.125)"]
    slmq = ["softlayer-messaging (>=1.0.3)"]
    solar = ["ephem"]
    sqlalchemy = ["sqlalchemy"]
    sqs = ["kombu"]
    tblib = ["tblib (>=1.3.0)", "tblib (>=1.5.0)"]
    yaml = ["PyYAML (>=3.10)"]
    zookeeper = ["kazoo (>=1.3.1)"]
    zstd = ["zstandard"]
    [[package]]
    name = "celery-haystack-ng"
    version = "0.20.post2"
    description = "An app for integrating Celery with Haystack"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    celery = ">=4.0"
    django-appconf = ">=0.4.1"
    django-haystack = ">=2.0"
    [[package]]
    name = "celery-progress"
    version = "0.1.1"
    description = "Drop in, configurable, dependency-free progress bars for your Django/Celery applications."
    category = "main"
    optional = false
    python-versions = "*"
    [package.extras]
    rabbitmq = ["channels-rabbitmq"]
    redis = ["channels-redis"]
    websockets = ["channels"]
    [[package]]
    name = "certifi"
    version = "2021.10.8"
    description = "Python package for providing Mozilla's CA Bundle."
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "cffi"
    version = "1.15.0"
    description = "Foreign Function Interface for Python calling C code."
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    pycparser = "*"
    [[package]]
    name = "charset-normalizer"
    version = "2.0.7"
    description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
    category = "main"
    optional = false
    python-versions = ">=3.5.0"
    [package.extras]
    unicode_backport = ["unicodedata2"]
    [[package]]
    name = "click"
    version = "8.0.3"
    description = "Composable command line interface toolkit"
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    colorama = {version = "*", markers = "platform_system == \"Windows\""}
    [[package]]
    name = "click-didyoumean"
    version = "0.3.0"
    description = "Enables git-like *did-you-mean* feature in click"
    category = "main"
    optional = false
    python-versions = ">=3.6.2,<4.0.0"
    [package.dependencies]
    click = ">=7"
    [[package]]
    name = "click-plugins"
    version = "1.1.1"
    description = "An extension module for click to enable registering CLI commands via setuptools entry-points."
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    click = ">=4.0"
    [package.extras]
    dev = ["pytest (>=3.6)", "pytest-cov", "wheel", "coveralls"]
    [[package]]
    name = "click-repl"
    version = "0.2.0"
    description = "REPL plugin for Click"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    click = "*"
    prompt-toolkit = "*"
    six = "*"
    [[package]]
    name = "colorama"
    version = "0.4.4"
    description = "Cross-platform colored terminal text."
    category = "main"
    optional = false
    python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
    [[package]]
    name = "colour"
    version = "0.1.5"
    description = "converts and manipulates various color representation (HSL, RVB, web, X11, ...)"
    category = "main"
    optional = false
    python-versions = "*"
    [package.extras]
    test = ["nose"]
    [[package]]
    name = "configobj"
    version = "5.0.6"
    description = "Config file reading, writing and validation."
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    six = "*"
    [[package]]
    name = "coverage"
    version = "6.1.2"
    description = "Code coverage measurement for Python"
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    tomli = {version = "*", optional = true, markers = "extra == \"toml\""}
    [package.extras]
    toml = ["tomli"]
    [[package]]
    name = "cryptography"
    version = "36.0.0"
    description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    cffi = ">=1.12"
    [package.extras]
    docs = ["sphinx (>=1.6.5,!=1.8.0,!=3.1.0,!=3.1.1)", "sphinx-rtd-theme"]
    docstest = ["pyenchant (>=1.6.11)", "twine (>=1.12.0)", "sphinxcontrib-spelling (>=4.0.1)"]
    pep8test = ["black", "flake8", "flake8-import-order", "pep8-naming"]
    sdist = ["setuptools_rust (>=0.11.4)"]
    ssh = ["bcrypt (>=3.1.5)"]
    test = ["pytest (>=6.2.0)", "pytest-cov", "pytest-subtests", "pytest-xdist", "pretend", "iso8601", "pytz", "hypothesis (>=1.11.4,!=3.79.2)"]
    [[package]]
    name = "curlylint"
    version = "0.13.0"
    description = "{{ 🎀}} Experimental HTML templates linting for Jinja, Nunjucks, Django templates, Twig, Liquid"
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    attrs = ">=17.2.0"
    click = ">=6.5"
    parsy = "1.1.0"
    pathspec = ">=0.6,<1"
    toml = ">=0.9.4"
    [[package]]
    name = "decorator"
    version = "5.1.0"
    description = "Decorators for Humans"
    category = "main"
    optional = false
    python-versions = ">=3.5"
    [[package]]
    name = "defusedxml"
    version = "0.7.1"
    description = "XML bomb protection for Python stdlib modules"
    category = "main"
    optional = false
    python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
    [[package]]
    name = "deprecated"
    version = "1.2.13"
    description = "Python @deprecated decorator to deprecate old python classes, functions or methods."
    category = "main"
    optional = false
    python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
    [package.dependencies]
    wrapt = ">=1.10,<2"
    [package.extras]
    dev = ["tox", "bump2version (<1)", "sphinx (<2)", "importlib-metadata (<3)", "importlib-resources (<4)", "configparser (<5)", "sphinxcontrib-websupport (<2)", "zipp (<2)", "PyTest (<5)", "PyTest-Cov (<2.6)", "pytest", "pytest-cov"]
    [[package]]
    name = "dj-database-url"
    version = "0.5.0"
    description = "Use Database URLs in your Django Application."
    category = "dev"
    optional = false
    python-versions = "*"
    [[package]]
    name = "django"
    version = "3.2.9"
    description = "A high-level Python Web framework that encourages rapid development and clean, pragmatic design."
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    asgiref = ">=3.3.2,<4"
    pytz = "*"
    sqlparse = ">=0.2.2"
    [package.extras]
    argon2 = ["argon2-cffi (>=19.1.0)"]
    bcrypt = ["bcrypt"]
    [[package]]
    name = "django-allauth"
    version = "0.45.0"
    description = "Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication."
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    Django = ">=2.0"
    pyjwt = {version = ">=1.7", extras = ["crypto"]}
    python3-openid = ">=3.0.8"
    requests = "*"
    requests-oauthlib = ">=0.3.0"
    [[package]]
    name = "django-any-js"
    version = "1.1"
    description = "Include JavaScript/CSS libraries with readable template tags"
    category = "main"
    optional = false
    python-versions = ">=3.7,<4.0"
    [package.dependencies]
    Django = ">=2.2,<4.0"
    [[package]]
    name = "django-appconf"
    version = "1.0.5"
    description = "A helper class for handling configuration defaults of packaged apps gracefully."
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    django = "*"
    [[package]]
    name = "django-bleach"
    version = "0.9.0"
    description = "Easily use bleach with Django models and templates"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    bleach = ">=1.5.0"
    Django = ">=1.11"
    [[package]]
    name = "django-cachalot"
    version = "2.4.4"
    description = "Caches your Django ORM queries and automatically invalidates them."
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    Django = ">=2.2,<3.3"
    [[package]]
    name = "django-cache-memoize"
    version = "0.1.10"
    description = "Django utility for a memoization decorator that uses the Django cache framework."
    category = "main"
    optional = false
    python-versions = ">=3.5"
    [package.extras]
    dev = ["flake8", "tox", "twine", "therapist", "black"]
    [[package]]
    name = "django-celery-beat"
    version = "2.2.1"
    description = "Database-backed Periodic Tasks."
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    celery = ">=5.0,<6.0"
    Django = ">=2.2,<4.0"
    django-timezone-field = ">=4.1.0,<5.0"
    python-crontab = ">=2.3.4"
    [[package]]
    name = "django-celery-email"
    version = "3.0.0"
    description = "An async Django email backend using celery"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    celery = ">=4.0"
    django = ">=2.2"
    django-appconf = "*"
    [[package]]
    name = "django-celery-results"
    version = "2.2.0"
    description = "Celery result backends for Django."
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    celery = ">=5.0,<6.0"
    [[package]]
    name = "django-ckeditor"
    version = "6.2.0"
    description = "Django admin CKEditor integration."
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    django-js-asset = ">=1.2.2"
    [[package]]
    name = "django-cleanup"
    version = "5.2.0"
    description = "Deletes old files."
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "django-colorfield"
    version = "0.4.5"
    description = "simple color field for your models with a nice color-picker in the admin-interface."
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "django-dbbackup"
    version = "3.3.0"
    description = "Management commands to help backup and restore a project database and media"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    Django = ">=1.5"
    pytz = "*"
    six = "*"
    [[package]]
    name = "django-debug-toolbar"
    version = "3.2.2"
    description = "A configurable set of panels that display various debug information about the current request/response."
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    Django = ">=2.2"
    sqlparse = ">=0.2.0"
    [[package]]
    name = "django-dynamic-preferences"
    version = "1.11.0"
    description = "Dynamic global and instance settings for your django project"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    django = ">=1.11"
    persisting-theory = ">=0.2.1"
    six = "*"
    [[package]]
    name = "django-extensions"
    version = "3.1.5"
    description = "Extensions for Django"
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    Django = ">=2.2"
    [[package]]
    name = "django-favicon-plus-reloaded"
    version = "1.1.3"
    description = "simple Django app which allows you to upload a image and it renders a wide variety for html link tags to display the favicon"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    django = "*"
    pillow = "*"
    [[package]]
    name = "django-filter"
    version = "2.4.0"
    description = "Django-filter is a reusable Django application for allowing users to filter querysets dynamically."
    category = "main"
    optional = false
    python-versions = ">=3.5"
    [package.dependencies]
    Django = ">=2.2"
    [[package]]
    name = "django-formtools"
    version = "2.3"
    description = "A set of high-level abstractions for Django forms"
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    Django = ">=2.2"
    [[package]]
    name = "django-guardian"
    version = "2.4.0"
    description = "Implementation of per object permissions for Django."
    category = "main"
    optional = false
    python-versions = ">=3.5"
    [package.dependencies]
    Django = ">=2.2"
    [[package]]
    name = "django-haystack"
    version = "3.1.1"
    description = "Pluggable search for Django."
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    Django = ">=2.2"
    [package.extras]
    elasticsearch = ["elasticsearch (>=5,<6)"]
    [[package]]
    name = "django-health-check"
    version = "3.16.4"
    description = "Run checks on services like databases, queue servers, celery processes, etc."
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    django = ">=2.2"
    [[package]]
    name = "django-impersonate"
    version = "1.7.3"
    description = "Django app to allow superusers to impersonate other users."
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "django-ipware"
    version = "4.0.0"
    description = "A Django application to retrieve user's IP address"
    category = "main"
    optional = false
    python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
    [[package]]
    name = "django-js-asset"
    version = "1.2.2"
    description = "script tag with additional attributes for django.forms.Media"
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "django-js-reverse"
    version = "0.9.1"
    description = "Javascript url handling for Django that doesn't hurt."
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    Django = ">=1.5"
    [[package]]
    name = "django-jsonstore"
    version = "0.5.0"
    description = "Expose JSONField data as a virtual django model fields."
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    Django = ">=1.11"
    six = "*"
    [[package]]
    name = "django-maintenance-mode"
    version = "0.16.1"
    description = "django-maintenance-mode shows a 503 error page when maintenance-mode is on."
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "django-material"
    version = "1.10.0"
    description = "Material design for django forms and admin"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    six = "*"
    [[package]]
    name = "django-menu-generator-ng"
    version = "1.2.3"
    description = "A straightforward menu generator for Django"
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "django-model-utils"
    version = "4.2.0"
    description = "Django model mixins and utilities"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    Django = ">=2.0.1"
    [[package]]
    name = "django-oauth-toolkit"
    version = "1.5.0"
    description = "OAuth2 Provider for Django"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    django = ">=2.2"
    jwcrypto = ">=0.8.0"
    oauthlib = ">=3.1.0"
    requests = ">=2.13.0"
    six = "*"
    [[package]]
    name = "django-otp"
    version = "1.1.1"
    description = "A pluggable framework for adding two-factor authentication to Django using one-time passwords."
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    django = ">=2.2"
    [package.extras]
    qrcode = ["qrcode"]
    [[package]]
    name = "django-otp-yubikey"
    version = "1.0.0.post1"
    description = "A django-otp plugin that verifies YubiKey OTP tokens."
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    django-otp = ">=1.0.0"
    YubiOTP = ">=0.2.2"
    [[package]]
    name = "django-phonenumber-field"
    version = "5.2.0"
    description = "An international phone number field for django models."
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    Django = ">=2.2"
    phonenumbers = {version = ">=7.0.2", optional = true, markers = "extra == \"phonenumbers\""}
    [package.extras]
    phonenumbers = ["phonenumbers (>=7.0.2)"]
    phonenumberslite = ["phonenumberslite (>=7.0.2)"]
    [[package]]
    name = "django-polymorphic"
    version = "3.1.0"
    description = "Seamless polymorphic inheritance for Django models"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    Django = ">=2.1"
    [[package]]
    name = "django-prometheus"
    version = "2.1.0"
    description = "Django middlewares to monitor your application with Prometheus.io."
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    prometheus-client = ">=0.7"
    [[package]]
    name = "django-redis"
    version = "5.0.0"
    description = "Full featured redis cache backend for Django."
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    Django = ">=2.2"
    redis = ">=3.0.0"
    [[package]]
    name = "django-render-block"
    version = "0.8.1"
    description = "Render a particular block from a template to a string."
    category = "main"
    optional = false
    python-versions = ">=3.5"
    [package.dependencies]
    django = ">=2.2"
    [[package]]
    name = "django-reversion"
    version = "4.0.1"
    description = "An extension to the Django web framework that provides version control for model instances."
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    django = ">=2.0"
    [[package]]
    name = "django-sass-processor"
    version = "1.0.0"
    description = "SASS processor to compile SCSS files into *.css, while rendering, or offline."
    category = "main"
    optional = false
    python-versions = "*"
    [package.extras]
    management_command = ["django-compressor (>=2.4)"]
    [[package]]
    name = "django-select2"
    version = "7.9.0"
    description = "Select2 option fields for Django"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    django = ">=2.2"
    django-appconf = ">=0.6.0"
    [package.extras]
    test = ["pytest", "pytest-cov", "pytest-django", "selenium"]
    [[package]]
    name = "django-stubs"
    version = "1.9.0"
    description = "Mypy stubs for Django"
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    django = "*"
    django-stubs-ext = ">=0.3.0"
    mypy = ">=0.910"
    toml = "*"
    types-pytz = "*"
    types-PyYAML = "*"
    typing-extensions = "*"
    [[package]]
    name = "django-stubs-ext"
    version = "0.3.1"
    description = "Monkey-patching and extensions for django-stubs"
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    django = "*"
    typing-extensions = "*"
    [[package]]
    name = "django-tables2"
    version = "2.4.1"
    description = "Table/data-grid framework for Django"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    Django = ">=1.11"
    [package.extras]
    tablib = ["tablib"]
    [[package]]
    name = "django-templated-email"
    version = "3.0.0"
    description = "A Django oriented templated / transaction email abstraction"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    django-render-block = ">=0.5"
    [[package]]
    name = "django-timezone-field"
    version = "4.2.1"
    description = "A Django app providing database and form fields for pytz timezone objects."
    category = "main"
    optional = false
    python-versions = ">=3.5"
    [package.dependencies]
    django = ">=2.2"
    pytz = "*"
    [package.extras]
    rest_framework = ["djangorestframework (>=3.0.0)"]
    [[package]]
    name = "django-titofisto"
    version = "0.2.0"
    description = "Django Time-Token File Storage"
    category = "main"
    optional = false
    python-versions = ">=3.9,<4.0"
    [package.dependencies]
    Django = ">2.2,<4.0"
    [[package]]
    name = "django-two-factor-auth"
    version = "1.13.1"
    description = "Complete Two-Factor Authentication for Django"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    Django = ">=2.2"
    django-formtools = "*"
    django-otp = ">=0.8.0"
    django-otp-yubikey = {version = "*", optional = true, markers = "extra == \"yubikey\""}
    django-phonenumber-field = ">=1.1.0,<6"
    phonenumbers = {version = ">=7.0.9,<8.99", optional = true, markers = "extra == \"phonenumbers\""}
    qrcode = ">=4.0.0,<6.99"
    twilio = {version = ">=6.0", optional = true, markers = "extra == \"call\""}
    [package.extras]
    call = ["twilio (>=6.0)"]
    phonenumbers = ["phonenumbers (>=7.0.9,<8.99)"]
    phonenumberslite = ["phonenumberslite (>=7.0.9,<8.99)"]
    sms = ["twilio (>=6.0)"]
    yubikey = ["django-otp-yubikey"]
    [[package]]
    name = "django-uwsgi-ng"
    version = "1.1.2"
    description = "uWSGI stuff for Django projects"
    category = "main"
    optional = false
    python-versions = "*"
    [package.extras]
    uwsgi = ["uwsgi"]
    [[package]]
    name = "django-widget-tweaks"
    version = "1.4.9"
    description = "Tweak the form field rendering in templates, not in python-level form definitions."
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "django-yarnpkg"
    version = "6.0.1"
    description = "Integrate django with yarnpkg"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    django = "*"
    six = "*"
    [[package]]
    name = "djangorestframework"
    version = "3.12.4"
    description = "Web APIs for Django, made easy."
    category = "main"
    optional = false
    python-versions = ">=3.5"
    [package.dependencies]
    django = ">=2.2"
    [[package]]
    name = "docutils"
    version = "0.16"
    description = "Docutils -- Python Documentation Utilities"
    category = "dev"
    optional = false
    python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
    [[package]]
    name = "dparse"
    version = "0.5.1"
    description = "A parser for Python dependency files"
    category = "dev"
    optional = false
    python-versions = ">=3.5"
    [package.dependencies]
    packaging = "*"
    pyyaml = "*"
    toml = "*"
    [package.extras]
    pipenv = ["pipenv"]
    [[package]]
    name = "dynaconf"
    version = "3.1.7"
    description = "The dynamic configurator for your Python Project"
    category = "main"
    optional = false
    python-versions = ">=3.7"
    [package.dependencies]
    configobj = {version = "*", optional = true, markers = "extra == \"ini\""}
    "ruamel.yaml" = {version = "*", optional = true, markers = "extra == \"yaml\""}
    toml = {version = "*", optional = true, markers = "extra == \"toml\""}
    [package.extras]
    all = ["redis", "ruamel.yaml", "configobj", "hvac"]
    configobj = ["configobj"]
    ini = ["configobj"]
    redis = ["redis"]
    toml = ["toml"]
    vault = ["hvac"]
    yaml = ["ruamel.yaml"]
    [[package]]
    name = "flake8"
    version = "4.0.1"
    description = "the modular source code checker: pep8 pyflakes and co"
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    mccabe = ">=0.6.0,<0.7.0"
    pycodestyle = ">=2.8.0,<2.9.0"
    pyflakes = ">=2.4.0,<2.5.0"
    [[package]]
    name = "flake8-bandit"
    version = "2.1.2"
    description = "Automated security testing with bandit and flake8."
    category = "dev"
    optional = false
    python-versions = "*"
    [package.dependencies]
    bandit = "*"
    flake8 = "*"
    flake8-polyfill = "*"
    pycodestyle = "*"
    [[package]]
    name = "flake8-black"
    version = "0.2.3"
    description = "flake8 plugin to call black as a code style validator"
    category = "dev"
    optional = false
    python-versions = "*"
    [package.dependencies]
    black = "*"
    flake8 = ">=3.0.0"
    toml = "*"
    [[package]]
    name = "flake8-builtins"
    version = "1.5.3"
    description = "Check for python builtins being used as variables or parameters."
    category = "dev"
    optional = false
    python-versions = "*"
    [package.dependencies]
    flake8 = "*"
    [package.extras]
    test = ["coverage", "coveralls", "mock", "pytest", "pytest-cov"]
    [[package]]
    name = "flake8-django"
    version = "1.1.1"
    description = "Plugin to catch bad style specific to Django Projects"
    category = "dev"
    optional = false
    python-versions = "*"
    [package.dependencies]
    flake8 = "*"
    [[package]]
    name = "flake8-docstrings"
    version = "1.6.0"
    description = "Extension for flake8 which uses pydocstyle to check docstrings"
    category = "dev"
    optional = false
    python-versions = "*"
    [package.dependencies]
    flake8 = ">=3"
    pydocstyle = ">=2.1"
    [[package]]
    name = "flake8-fixme"
    version = "1.1.1"
    description = "Check for FIXME, TODO and other temporary developer notes. Plugin for flake8."
    category = "dev"
    optional = false
    python-versions = "*"
    [[package]]
    name = "flake8-isort"
    version = "4.1.1"
    description = "flake8 plugin that integrates isort ."
    category = "dev"
    optional = false
    python-versions = "*"
    [package.dependencies]
    flake8 = ">=3.2.1,<5"
    isort = ">=4.3.5,<6"
    testfixtures = ">=6.8.0,<7"
    [package.extras]
    test = ["pytest-cov"]
    [[package]]
    name = "flake8-mypy"
    version = "17.8.0"
    description = "A plugin for flake8 integrating mypy."
    category = "dev"
    optional = false
    python-versions = "*"
    [package.dependencies]
    attrs = "*"
    flake8 = ">=3.0.0"
    mypy = "*"
    [[package]]
    name = "flake8-polyfill"
    version = "1.0.2"
    description = "Polyfill package for Flake8 plugins"
    category = "dev"
    optional = false
    python-versions = "*"
    [package.dependencies]
    flake8 = "*"
    [[package]]
    name = "flake8-rst-docstrings"
    version = "0.2.3"
    description = "Python docstring reStructuredText (RST) validator"
    category = "dev"
    optional = false
    python-versions = ">=3.3"
    [package.dependencies]
    flake8 = ">=3.0.0"
    pygments = "*"
    restructuredtext-lint = "*"
    [[package]]
    name = "freezegun"
    version = "1.1.0"
    description = "Let your Python tests travel through time"
    category = "dev"
    optional = false
    python-versions = ">=3.5"
    [package.dependencies]
    python-dateutil = ">=2.7"
    [[package]]
    name = "gitdb"
    version = "4.0.9"
    description = "Git Object Database"
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    smmap = ">=3.0.1,<6"
    [[package]]
    name = "gitpython"
    version = "3.1.24"
    description = "GitPython is a python library used to interact with Git repositories"
    category = "dev"
    optional = false
    python-versions = ">=3.7"
    [package.dependencies]
    gitdb = ">=4.0.1,<5"
    typing-extensions = {version = ">=3.7.4.3", markers = "python_version < \"3.10\""}
    [[package]]
    name = "h11"
    version = "0.12.0"
    description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [[package]]
    name = "haystack-redis"
    version = "0.0.1"
    description = "Use redis as a persistence layer for Whoosh and Haystack"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    django-haystack = "*"
    redis = "*"
    whoosh = "*"
    [[package]]
    name = "html2text"
    version = "2020.1.16"
    description = "Turn HTML into equivalent Markdown-structured text."
    category = "main"
    optional = false
    python-versions = ">=3.5"
    [[package]]
    name = "idna"
    version = "3.3"
    description = "Internationalized Domain Names in Applications (IDNA)"
    category = "main"
    optional = false
    python-versions = ">=3.5"
    [[package]]
    name = "imagesize"
    version = "1.3.0"
    description = "Getting image size from png/jpeg/jpeg2000/gif file"
    category = "dev"
    optional = false
    python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
    [[package]]
    name = "iniconfig"
    version = "1.1.1"
    description = "iniconfig: brain-dead simple config-ini parsing"
    category = "dev"
    optional = false
    python-versions = "*"
    [[package]]
    name = "ipython"
    version = "7.29.0"
    description = "IPython: Productive Interactive Computing"
    category = "main"
    optional = false
    python-versions = ">=3.7"
    [package.dependencies]
    appnope = {version = "*", markers = "sys_platform == \"darwin\""}
    backcall = "*"
    colorama = {version = "*", markers = "sys_platform == \"win32\""}
    decorator = "*"
    jedi = ">=0.16"
    matplotlib-inline = "*"
    pexpect = {version = ">4.3", markers = "sys_platform != \"win32\""}
    pickleshare = "*"
    prompt-toolkit = ">=2.0.0,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.1.0"
    pygments = "*"
    traitlets = ">=4.2"
    [package.extras]
    all = ["Sphinx (>=1.3)", "ipykernel", "ipyparallel", "ipywidgets", "nbconvert", "nbformat", "nose (>=0.10.1)", "notebook", "numpy (>=1.17)", "pygments", "qtconsole", "requests", "testpath"]
    doc = ["Sphinx (>=1.3)"]
    kernel = ["ipykernel"]
    nbconvert = ["nbconvert"]
    nbformat = ["nbformat"]
    notebook = ["notebook", "ipywidgets"]
    parallel = ["ipyparallel"]
    qtconsole = ["qtconsole"]
    test = ["nose (>=0.10.1)", "requests", "testpath", "pygments", "nbformat", "ipykernel", "numpy (>=1.17)"]
    [[package]]
    name = "isort"
    version = "5.10.1"
    description = "A Python utility / library to sort Python imports."
    category = "dev"
    optional = false
    python-versions = ">=3.6.1,<4.0"
    [package.extras]
    pipfile_deprecated_finder = ["pipreqs", "requirementslib"]
    requirements_deprecated_finder = ["pipreqs", "pip-api"]
    colors = ["colorama (>=0.4.3,<0.5.0)"]
    plugins = ["setuptools"]
    [[package]]
    name = "jedi"
    version = "0.18.1"
    description = "An autocompletion tool for Python that can be used for text editors."
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    parso = ">=0.8.0,<0.9.0"
    [package.extras]
    qa = ["flake8 (==3.8.3)", "mypy (==0.782)"]
    testing = ["Django (<3.1)", "colorama", "docopt", "pytest (<7.0.0)"]
    [[package]]
    name = "jinja2"
    version = "3.0.3"
    description = "A very fast and expressive template engine."
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    MarkupSafe = ">=2.0"
    [package.extras]
    i18n = ["Babel (>=2.7)"]
    [[package]]
    name = "jwcrypto"
    version = "1.0"
    description = "Implementation of JOSE Web standards"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    cryptography = ">=2.3"
    deprecated = "*"
    [[package]]
    name = "kombu"
    version = "5.2.2"
    description = "Messaging library for Python."
    category = "main"
    optional = false
    python-versions = ">=3.7"
    [package.dependencies]
    amqp = ">=5.0.6,<6.0.0"
    vine = "*"
    [package.extras]
    azureservicebus = ["azure-servicebus (>=7.0.0)"]
    azurestoragequeues = ["azure-storage-queue"]
    consul = ["python-consul (>=0.6.0)"]
    librabbitmq = ["librabbitmq (>=2.0.0)"]
    mongodb = ["pymongo (>=3.3.0,<3.12.1)"]
    msgpack = ["msgpack"]
    pyro = ["pyro4"]
    qpid = ["qpid-python (>=0.26)", "qpid-tools (>=0.26)"]
    redis = ["redis (>=3.4.1,<4.0.0)"]
    slmq = ["softlayer-messaging (>=1.0.3)"]
    sqlalchemy = ["sqlalchemy"]
    sqs = ["boto3 (>=1.9.12)", "pycurl (>=7.44.1,<7.45.0)", "urllib3 (>=1.26.7)"]
    yaml = ["PyYAML (>=3.10)"]
    zookeeper = ["kazoo (>=1.3.1)"]
    [[package]]
    name = "libsass"
    version = "0.21.0"
    description = "Sass for Python: A straightforward binding of libsass for Python."
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    six = "*"
    [[package]]
    name = "license-expression"
    version = "1.2"
    description = "license-expression is small utility library to parse, compare, simplify and normalize license expressions (such as SPDX license expressions) using boolean logic."
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    "boolean.py" = ">=3.6,<4.0.0"
    [[package]]
    name = "markupsafe"
    version = "2.0.1"
    description = "Safely add untrusted strings to HTML/XML markup."
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [[package]]
    name = "matplotlib-inline"
    version = "0.1.3"
    description = "Inline Matplotlib backend for Jupyter"
    category = "main"
    optional = false
    python-versions = ">=3.5"
    [package.dependencies]
    traitlets = "*"
    [[package]]
    name = "mccabe"
    version = "0.6.1"
    description = "McCabe checker, plugin for flake8"
    category = "dev"
    optional = false
    python-versions = "*"
    [[package]]
    name = "mypy"
    version = "0.910"
    description = "Optional static typing for Python"
    category = "dev"
    optional = false
    python-versions = ">=3.5"
    [package.dependencies]
    mypy-extensions = ">=0.4.3,<0.5.0"
    toml = "*"
    typing-extensions = ">=3.7.4"
    [package.extras]
    dmypy = ["psutil (>=4.0)"]
    python2 = ["typed-ast (>=1.4.0,<1.5.0)"]
    [[package]]
    name = "mypy-extensions"
    version = "0.4.3"
    description = "Experimental type system extensions for programs checked with the mypy typechecker."
    category = "dev"
    optional = false
    python-versions = "*"
    [[package]]
    name = "mysqlclient"
    version = "2.1.0"
    description = "Python interface to MySQL"
    category = "main"
    optional = false
    python-versions = ">=3.5"
    [[package]]
    name = "oauthlib"
    version = "3.1.1"
    description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic"
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [package.extras]
    rsa = ["cryptography (>=3.0.0,<4)"]
    signals = ["blinker (>=1.4.0)"]
    signedtoken = ["cryptography (>=3.0.0,<4)", "pyjwt (>=2.0.0,<3)"]
    [[package]]
    name = "outcome"
    version = "1.1.0"
    description = "Capture the outcome of Python function calls."
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    attrs = ">=19.2.0"
    [[package]]
    name = "packaging"
    version = "21.3"
    description = "Core utilities for Python packages"
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    pyparsing = ">=2.0.2,<3.0.5 || >3.0.5"
    [[package]]
    name = "parso"
    version = "0.8.2"
    description = "A Python Parser"
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [package.extras]
    qa = ["flake8 (==3.8.3)", "mypy (==0.782)"]
    testing = ["docopt", "pytest (<6.0.0)"]
    [[package]]
    name = "parsy"
    version = "1.1.0"
    description = "easy-to-use parser combinators, for parsing in pure Python"
    category = "dev"
    optional = false
    python-versions = "*"
    [[package]]
    name = "pathspec"
    version = "0.9.0"
    description = "Utility library for gitignore style pattern matching of file paths."
    category = "dev"
    optional = false
    python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
    [[package]]
    name = "pbr"
    version = "5.8.0"
    description = "Python Build Reasonableness"
    category = "dev"
    optional = false
    python-versions = ">=2.6"
    [[package]]
    name = "persisting-theory"
    version = "0.2.1"
    description = "Registries that can autodiscover values accross your project apps"
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "pexpect"
    version = "4.8.0"
    description = "Pexpect allows easy control of interactive console applications."
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    ptyprocess = ">=0.5"
    [[package]]
    name = "pg8000"
    version = "1.23.0"
    description = "PostgreSQL interface library"
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    scramp = ">=1.4.1"
    [[package]]
    name = "phonenumbers"
    version = "8.12.37"
    description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers."
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "pickleshare"
    version = "0.7.5"
    description = "Tiny 'shelve'-like database with concurrency support"
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "pillow"
    version = "8.4.0"
    description = "Python Imaging Library (Fork)"
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [[package]]
    name = "platformdirs"
    version = "2.4.0"
    description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [package.extras]
    docs = ["Sphinx (>=4)", "furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx-autodoc-typehints (>=1.12)"]
    test = ["appdirs (==1.4.4)", "pytest (>=6)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)"]
    [[package]]
    name = "pluggy"
    version = "1.0.0"
    description = "plugin and hook calling mechanisms for python"
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [package.extras]
    dev = ["pre-commit", "tox"]
    testing = ["pytest", "pytest-benchmark"]
    [[package]]
    name = "prometheus-client"
    version = "0.12.0"
    description = "Python client for the Prometheus monitoring system."
    category = "main"
    optional = false
    python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
    [package.extras]
    twisted = ["twisted"]
    [[package]]
    name = "prompt-toolkit"
    version = "3.0.22"
    description = "Library for building powerful interactive command lines in Python"
    category = "main"
    optional = false
    python-versions = ">=3.6.2"
    [package.dependencies]
    wcwidth = "*"
    [[package]]
    name = "psutil"
    version = "5.8.0"
    description = "Cross-platform lib for process and system monitoring in Python."
    category = "main"
    optional = false
    python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
    [package.extras]
    test = ["ipaddress", "mock", "unittest2", "enum34", "pywin32", "wmi"]
    [[package]]
    name = "psycopg2"
    version = "2.9.2"
    description = "psycopg2 - Python-PostgreSQL Database Adapter"
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [[package]]
    name = "ptyprocess"
    version = "0.7.0"
    description = "Run a subprocess in a pseudo terminal"
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "py"
    version = "1.11.0"
    description = "library with cross-python path, ini-parsing, io, code, log facilities"
    category = "dev"
    optional = false
    python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
    [[package]]
    name = "pycodestyle"
    version = "2.8.0"
    description = "Python style guide checker"
    category = "dev"
    optional = false
    python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
    [[package]]
    name = "pycparser"
    version = "2.21"
    description = "C parser in Python"
    category = "main"
    optional = false
    python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
    [[package]]
    name = "pycryptodome"
    version = "3.11.0"
    description = "Cryptographic library for Python"
    category = "main"
    optional = false
    python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
    [[package]]
    name = "pydocstyle"
    version = "6.1.1"
    description = "Python docstring style checker"
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    snowballstemmer = "*"
    [package.extras]
    toml = ["toml"]
    [[package]]
    name = "pyflakes"
    version = "2.4.0"
    description = "passive checker of Python programs"
    category = "dev"
    optional = false
    python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
    [[package]]
    name = "pygments"
    version = "2.10.0"
    description = "Pygments is a syntax highlighting package written in Python."
    category = "main"
    optional = false
    python-versions = ">=3.5"
    [[package]]
    name = "pyjwt"
    version = "2.3.0"
    description = "JSON Web Token implementation in Python"
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    cryptography = {version = ">=3.3.1", optional = true, markers = "extra == \"crypto\""}
    [package.extras]
    crypto = ["cryptography (>=3.3.1)"]
    dev = ["sphinx", "sphinx-rtd-theme", "zope.interface", "cryptography (>=3.3.1)", "pytest (>=6.0.0,<7.0.0)", "coverage[toml] (==5.0.4)", "mypy", "pre-commit"]
    docs = ["sphinx", "sphinx-rtd-theme", "zope.interface"]
    tests = ["pytest (>=6.0.0,<7.0.0)", "coverage[toml] (==5.0.4)"]
    [[package]]
    name = "pyopenssl"
    version = "21.0.0"
    description = "Python wrapper module around the OpenSSL library"
    category = "dev"
    optional = false
    python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*"
    [package.dependencies]
    cryptography = ">=3.3"
    six = ">=1.5.2"
    [package.extras]
    docs = ["sphinx", "sphinx-rtd-theme"]
    test = ["flaky", "pretend", "pytest (>=3.0.1)"]
    [[package]]
    name = "pyparsing"
    version = "3.0.6"
    description = "Python parsing module"
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [package.extras]
    diagrams = ["jinja2", "railroad-diagrams"]
    [[package]]
    name = "pytest"
    version = "6.2.5"
    description = "pytest: simple powerful testing with Python"
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""}
    attrs = ">=19.2.0"
    colorama = {version = "*", markers = "sys_platform == \"win32\""}
    iniconfig = "*"
    packaging = "*"
    pluggy = ">=0.12,<2.0"
    py = ">=1.8.2"
    toml = "*"
    [package.extras]
    testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"]
    [[package]]
    name = "pytest-cov"
    version = "3.0.0"
    description = "Pytest plugin for measuring coverage."
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    coverage = {version = ">=5.2.1", extras = ["toml"]}
    pytest = ">=4.6"
    [package.extras]
    testing = ["fields", "hunter", "process-tests", "six", "pytest-xdist", "virtualenv"]
    [[package]]
    name = "pytest-django"
    version = "4.4.0"
    description = "A Django plugin for pytest."
    category = "dev"
    optional = false
    python-versions = ">=3.5"
    [package.dependencies]
    pytest = ">=5.4.0"
    [package.extras]
    docs = ["sphinx", "sphinx-rtd-theme"]
    testing = ["django", "django-configurations (>=2.0)"]
    [[package]]
    name = "pytest-django-testing-postgresql"
    version = "0.1.post0"
    description = "Use a temporary PostgreSQL database with pytest-django"
    category = "dev"
    optional = false
    python-versions = "*"
    [package.dependencies]
    dj-database-url = "*"
    "testing.postgresql" = "*"
    [[package]]
    name = "pytest-sugar"
    version = "0.9.4"
    description = "pytest-sugar is a plugin for pytest that changes the default look and feel of pytest (e.g. progressbar, show tests that fail instantly)."
    category = "dev"
    optional = false
    python-versions = "*"
    [package.dependencies]
    packaging = ">=14.1"
    pytest = ">=2.9"
    termcolor = ">=1.1.0"
    [[package]]
    name = "python-crontab"
    version = "2.6.0"
    description = "Python Crontab API"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    python-dateutil = "*"
    [package.extras]
    cron-description = ["cron-descriptor"]
    cron-schedule = ["croniter"]
    [[package]]
    name = "python-dateutil"
    version = "2.8.2"
    description = "Extensions to the standard Python datetime module"
    category = "main"
    optional = false
    python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
    [package.dependencies]
    six = ">=1.5"
    [[package]]
    name = "python-gnupg"
    version = "0.4.7"
    description = "A wrapper for the Gnu Privacy Guard (GPG or GnuPG)"
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "python3-openid"
    version = "3.2.0"
    description = "OpenID support for modern servers and consumers."
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    defusedxml = "*"
    [package.extras]
    mysql = ["mysql-connector-python"]
    postgresql = ["psycopg2"]
    [[package]]
    name = "pytz"
    version = "2021.3"
    description = "World timezone definitions, modern and historical"
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "pyyaml"
    version = "6.0"
    description = "YAML parser and emitter for Python"
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [[package]]
    name = "qrcode"
    version = "6.1"
    description = "QR Code image generator"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    colorama = {version = "*", markers = "platform_system == \"Windows\""}
    six = "*"
    [package.extras]
    dev = ["tox", "pytest", "mock"]
    maintainer = ["zest.releaser"]
    pil = ["pillow"]
    test = ["pytest", "pytest-cov", "mock"]
    [[package]]
    name = "redis"
    version = "3.5.3"
    description = "Python client for Redis key-value store"
    category = "main"
    optional = false
    python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
    [package.extras]
    hiredis = ["hiredis (>=0.1.3)"]
    [[package]]
    name = "regex"
    version = "2021.11.10"
    description = "Alternative regular expression module, to replace re."
    category = "dev"
    optional = false
    python-versions = "*"
    [[package]]
    name = "requests"
    version = "2.26.0"
    description = "Python HTTP for Humans."
    category = "main"
    optional = false
    python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
    [package.dependencies]
    certifi = ">=2017.4.17"
    charset-normalizer = {version = ">=2.0.0,<2.1.0", markers = "python_version >= \"3\""}
    idna = {version = ">=2.5,<4", markers = "python_version >= \"3\""}
    urllib3 = ">=1.21.1,<1.27"
    [package.extras]
    socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"]
    use_chardet_on_py3 = ["chardet (>=3.0.2,<5)"]
    [[package]]
    name = "requests-oauthlib"
    version = "1.3.0"
    description = "OAuthlib authentication support for Requests."
    category = "main"
    optional = false
    python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
    [package.dependencies]
    oauthlib = ">=3.0.0"
    requests = ">=2.0.0"
    [package.extras]
    rsa = ["oauthlib[signedtoken] (>=3.0.0)"]
    [[package]]
    name = "restructuredtext-lint"
    version = "1.3.2"
    description = "reStructuredText linter"
    category = "dev"
    optional = false
    python-versions = "*"
    [package.dependencies]
    docutils = ">=0.11,<1.0"
    [[package]]
    name = "ruamel.yaml"
    version = "0.17.17"
    description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order"
    category = "main"
    optional = false
    python-versions = ">=3"
    [package.dependencies]
    "ruamel.yaml.clib" = {version = ">=0.1.2", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.10\""}
    [package.extras]
    docs = ["ryd"]
    jinja2 = ["ruamel.yaml.jinja2 (>=0.2)"]
    [[package]]
    name = "ruamel.yaml.clib"
    version = "0.2.6"
    description = "C version of reader, parser and emitter for ruamel.yaml derived from libyaml"
    category = "main"
    optional = false
    python-versions = ">=3.5"
    [[package]]
    name = "rules"
    version = "3.0"
    description = "Awesome Django authorization, without the database"
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "safety"
    version = "1.10.3"
    description = "Checks installed dependencies for known vulnerabilities."
    category = "dev"
    optional = false
    python-versions = ">=3.5"
    [package.dependencies]
    Click = ">=6.0"
    dparse = ">=0.5.1"
    packaging = "*"
    requests = "*"
    [[package]]
    name = "scramp"
    version = "1.4.1"
    description = "An implementation of the SCRAM protocol."
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    asn1crypto = ">=1.4.0"
    [[package]]
    name = "selenium"
    version = "4.1.0"
    description = ""
    category = "dev"
    optional = false
    python-versions = "~=3.7"
    [package.dependencies]
    trio = ">=0.17,<1.0"
    trio-websocket = ">=0.9,<1.0"
    urllib3 = {version = ">=1.26,<2.0", extras = ["secure"]}
    [[package]]
    name = "sentry-sdk"
    version = "1.5.0"
    description = "Python client for Sentry (https://sentry.io)"
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    certifi = "*"
    urllib3 = ">=1.10.0"
    [package.extras]
    aiohttp = ["aiohttp (>=3.5)"]
    beam = ["apache-beam (>=2.12)"]
    bottle = ["bottle (>=0.12.13)"]
    celery = ["celery (>=3)"]
    chalice = ["chalice (>=1.16.0)"]
    django = ["django (>=1.8)"]
    falcon = ["falcon (>=1.4)"]
    flask = ["flask (>=0.11)", "blinker (>=1.1)"]
    httpx = ["httpx (>=0.16.0)"]
    pure_eval = ["pure-eval", "executing", "asttokens"]
    pyspark = ["pyspark (>=2.4.4)"]
    rq = ["rq (>=0.6)"]
    sanic = ["sanic (>=0.8)"]
    sqlalchemy = ["sqlalchemy (>=1.2)"]
    tornado = ["tornado (>=5)"]
    [[package]]
    name = "six"
    version = "1.16.0"
    description = "Python 2 and 3 compatibility utilities"
    category = "main"
    optional = false
    python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
    [[package]]
    name = "smmap"
    version = "5.0.0"
    description = "A pure Python implementation of a sliding window memory map manager"
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [[package]]
    name = "sniffio"
    version = "1.2.0"
    description = "Sniff out which async library your code is running under"
    category = "dev"
    optional = false
    python-versions = ">=3.5"
    [[package]]
    name = "snowballstemmer"
    version = "2.2.0"
    description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms."
    category = "dev"
    optional = false
    python-versions = "*"
    [[package]]
    name = "sortedcontainers"
    version = "2.4.0"
    description = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set"
    category = "dev"
    optional = false
    python-versions = "*"
    [[package]]
    name = "soupsieve"
    version = "2.3.1"
    description = "A modern CSS selector implementation for Beautiful Soup."
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [[package]]
    name = "spdx-license-list"
    version = "0.5.2"
    description = "A simple tool/library for working with SPDX license definitions."
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "sphinx"
    version = "3.5.4"
    description = "Python documentation generator"
    category = "dev"
    optional = false
    python-versions = ">=3.5"
    [package.dependencies]
    alabaster = ">=0.7,<0.8"
    babel = ">=1.3"
    colorama = {version = ">=0.3.5", markers = "sys_platform == \"win32\""}
    docutils = ">=0.12,<0.17"
    imagesize = "*"
    Jinja2 = ">=2.3"
    packaging = "*"
    Pygments = ">=2.0"
    requests = ">=2.5.0"
    snowballstemmer = ">=1.1"
    sphinxcontrib-applehelp = "*"
    sphinxcontrib-devhelp = "*"
    sphinxcontrib-htmlhelp = "*"
    sphinxcontrib-jsmath = "*"
    sphinxcontrib-qthelp = "*"
    sphinxcontrib-serializinghtml = "*"
    [package.extras]
    docs = ["sphinxcontrib-websupport"]
    lint = ["flake8 (>=3.5.0)", "isort", "mypy (>=0.800)", "docutils-stubs"]
    test = ["pytest", "pytest-cov", "html5lib", "cython", "typed-ast"]
    [[package]]
    name = "sphinx-autodoc-typehints"
    version = "1.12.0"
    description = "Type hints (PEP 484) support for the Sphinx autodoc extension"
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    Sphinx = ">=3.0"
    [package.extras]
    test = ["pytest (>=3.1.0)", "typing-extensions (>=3.5)", "sphobjinv (>=2.0)", "Sphinx (>=3.2.0)", "dataclasses"]
    type_comments = ["typed-ast (>=1.4.0)"]
    [[package]]
    name = "sphinx-materialdesign-theme"
    version = "0.1.11"
    description = "Sphinx Material Design Theme"
    category = "dev"
    optional = false
    python-versions = "*"
    [[package]]
    name = "sphinxcontrib-applehelp"
    version = "1.0.2"
    description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books"
    category = "dev"
    optional = false
    python-versions = ">=3.5"
    [package.extras]
    lint = ["flake8", "mypy", "docutils-stubs"]
    test = ["pytest"]
    [[package]]
    name = "sphinxcontrib-devhelp"
    version = "1.0.2"
    description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document."
    category = "dev"
    optional = false
    python-versions = ">=3.5"
    [package.extras]
    lint = ["flake8", "mypy", "docutils-stubs"]
    test = ["pytest"]
    [[package]]
    name = "sphinxcontrib-django"
    version = "0.5.1"
    description = "Improve the Sphinx autodoc for Django classes."
    category = "dev"
    optional = false
    python-versions = "*"
    [[package]]
    name = "sphinxcontrib-htmlhelp"
    version = "2.0.0"
    description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files"
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [package.extras]
    lint = ["flake8", "mypy", "docutils-stubs"]
    test = ["pytest", "html5lib"]
    [[package]]
    name = "sphinxcontrib-jsmath"
    version = "1.0.1"
    description = "A sphinx extension which renders display math in HTML via JavaScript"
    category = "dev"
    optional = false
    python-versions = ">=3.5"
    [package.extras]
    test = ["pytest", "flake8", "mypy"]
    [[package]]
    name = "sphinxcontrib-qthelp"
    version = "1.0.3"
    description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document."
    category = "dev"
    optional = false
    python-versions = ">=3.5"
    [package.extras]
    lint = ["flake8", "mypy", "docutils-stubs"]
    test = ["pytest"]
    [[package]]
    name = "sphinxcontrib-serializinghtml"
    version = "1.1.5"
    description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)."
    category = "dev"
    optional = false
    python-versions = ">=3.5"
    [package.extras]
    lint = ["flake8", "mypy", "docutils-stubs"]
    test = ["pytest"]
    [[package]]
    name = "sqlparse"
    version = "0.4.2"
    description = "A non-validating SQL parser."
    category = "main"
    optional = false
    python-versions = ">=3.5"
    [[package]]
    name = "stevedore"
    version = "3.5.0"
    description = "Manage dynamic plugins for Python applications"
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    pbr = ">=2.0.0,<2.1.0 || >2.1.0"
    [[package]]
    name = "termcolor"
    version = "1.1.0"
    description = "ANSII Color formatting for output in terminal."
    category = "dev"
    optional = false
    python-versions = "*"
    [[package]]
    name = "testfixtures"
    version = "6.18.3"
    description = "A collection of helpers and mock objects for unit tests and doc tests."
    category = "dev"
    optional = false
    python-versions = "*"
    [package.extras]
    build = ["setuptools-git", "wheel", "twine"]
    docs = ["sphinx", "zope.component", "sybil", "twisted", "mock", "django (<2)", "django"]
    test = ["pytest (>=3.6)", "pytest-cov", "pytest-django", "zope.component", "sybil", "twisted", "mock", "django (<2)", "django"]
    [[package]]
    name = "testing.common.database"
    version = "2.0.3"
    description = "utilities for testing.* packages"
    category = "dev"
    optional = false
    python-versions = "*"
    [package.extras]
    testing = ["nose"]
    [[package]]
    name = "testing.postgresql"
    version = "1.3.0"
    description = "automatically setups a postgresql instance in a temporary directory, and destroys it after testing"
    category = "dev"
    optional = false
    python-versions = "*"
    [package.dependencies]
    pg8000 = ">=1.10"
    "testing.common.database" = "*"
    [package.extras]
    testing = ["sqlalchemy", "nose", "psycopg2"]
    [[package]]
    name = "toml"
    version = "0.10.2"
    description = "Python Library for Tom's Obvious, Minimal Language"
    category = "main"
    optional = false
    python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
    [[package]]
    name = "tomli"
    version = "1.2.2"
    description = "A lil' TOML parser"
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [[package]]
    name = "tqdm"
    version = "4.62.3"
    description = "Fast, Extensible Progress Meter"
    category = "main"
    optional = false
    python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7"
    [package.dependencies]
    colorama = {version = "*", markers = "platform_system == \"Windows\""}
    [package.extras]
    dev = ["py-make (>=0.1.0)", "twine", "wheel"]
    notebook = ["ipywidgets (>=6)"]
    telegram = ["requests"]
    [[package]]
    name = "traitlets"
    version = "5.1.1"
    description = "Traitlets Python configuration system"
    category = "main"
    optional = false
    python-versions = ">=3.7"
    [package.extras]
    test = ["pytest"]
    [[package]]
    name = "trio"
    version = "0.19.0"
    description = "A friendly Python library for async concurrency and I/O"
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [package.dependencies]
    async-generator = ">=1.9"
    attrs = ">=19.2.0"
    cffi = {version = ">=1.14", markers = "os_name == \"nt\" and implementation_name != \"pypy\""}
    idna = "*"
    outcome = "*"
    sniffio = "*"
    sortedcontainers = "*"
    [[package]]
    name = "trio-websocket"
    version = "0.9.2"
    description = "WebSocket library for Trio"
    category = "dev"
    optional = false
    python-versions = ">=3.5"
    [package.dependencies]
    async-generator = ">=1.10"
    trio = ">=0.11"
    wsproto = ">=0.14"
    [[package]]
    name = "twilio"
    version = "7.3.1"
    description = "Twilio API client and TwiML generator"
    category = "main"
    optional = false
    python-versions = ">=3.6.0"
    [package.dependencies]
    PyJWT = ">=2.0.0,<3.0.0"
    pytz = "*"
    requests = ">=2.0.0"
    [[package]]
    name = "types-pytz"
    version = "2021.3.1"
    description = "Typing stubs for pytz"
    category = "dev"
    optional = false
    python-versions = "*"
    [[package]]
    name = "types-pyyaml"
    version = "6.0.1"
    description = "Typing stubs for PyYAML"
    category = "dev"
    optional = false
    python-versions = "*"
    [[package]]
    name = "typing-extensions"
    version = "4.0.0"
    description = "Backported and Experimental Type Hints for Python 3.6+"
    category = "dev"
    optional = false
    python-versions = ">=3.6"
    [[package]]
    name = "urllib3"
    version = "1.26.7"
    description = "HTTP library with thread-safe connection pooling, file post, and more."
    category = "main"
    optional = false
    python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
    [package.dependencies]
    certifi = {version = "*", optional = true, markers = "extra == \"secure\""}
    cryptography = {version = ">=1.3.4", optional = true, markers = "extra == \"secure\""}
    idna = {version = ">=2.0.0", optional = true, markers = "extra == \"secure\""}
    pyOpenSSL = {version = ">=0.14", optional = true, markers = "extra == \"secure\""}
    [package.extras]
    brotli = ["brotlipy (>=0.6.0)"]
    secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"]
    socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
    [[package]]
    name = "vine"
    version = "5.0.0"
    description = "Promises, promises, promises."
    category = "main"
    optional = false
    python-versions = ">=3.6"
    [[package]]
    name = "wcwidth"
    version = "0.2.5"
    description = "Measures the displayed width of unicode strings in a terminal"
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "webencodings"
    version = "0.5.1"
    description = "Character encoding aliases for legacy web content"
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "whoosh"
    version = "2.7.4"
    description = "Fast, pure-Python full text indexing, search, and spell checking library."
    category = "main"
    optional = false
    python-versions = "*"
    [[package]]
    name = "wrapt"
    version = "1.13.3"
    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"
    [[package]]
    name = "wsproto"
    version = "1.0.0"
    description = "WebSockets state-machine based protocol implementation"
    category = "dev"
    optional = false
    python-versions = ">=3.6.1"
    [package.dependencies]
    h11 = ">=0.9.0,<1"
    [[package]]
    name = "yubiotp"
    version = "1.0.0.post1"
    description = "A library for verifying YubiKey OTP tokens, both locally and through a Yubico web service."
    category = "main"
    optional = false
    python-versions = "*"
    [package.dependencies]
    pycryptodome = "*"
    [metadata]
    lock-version = "1.1"
    python-versions = "^3.9"
    content-hash = "36f8c65d7b87ae1ee6150a6ffb346b3e3953141c8ed429db7476bffa791e28a7"
    [metadata.files]
    alabaster = [
    {file = "alabaster-0.7.12-py2.py3-none-any.whl", hash = "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359"},
    {file = "alabaster-0.7.12.tar.gz", hash = "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"},
    ]
    aleksis-app-chronos = [
    {file = "AlekSIS-App-Chronos-2.1.dev3.tar.gz", hash = "sha256:3cae1e9bd29ef3217ce3c9dc60589f8bfe0296b3349aa6f415479c7b9a38ee24"},
    {file = "AlekSIS_App_Chronos-2.1.dev3-py3-none-any.whl", hash = "sha256:f901144d48722576874fcf6c249b389d6243539e9588d88da0598d1c4f1295fc"},
    ]
    aleksis-app-resint = [
    {file = "AlekSIS-App-Resint-2.0b1+20211107142135.95d735a4.tar.gz", hash = "sha256:9d81c6ebb8ba3c87d46735b100ff550fa6034dac4294fdab2b58b40dbc5452fd"},
    {file = "AlekSIS_App_Resint-2.0b1+20211107142135.95d735a4-py3-none-any.whl", hash = "sha256:d2aa485ae46c7eb4186d1500bdb0ded0214820c04c3ce01e04b2372af2d9dcd0"},
    ]
    aleksis-builddeps = [
    {file = "AlekSIS-Builddeps-5+20211118185200.f1c0d03f.tar.gz", hash = "sha256:dbc9e006f12e74a6a8533e83376a6290184b02af364ea7c5af24c4879d18cf60"},
    {file = "AlekSIS_Builddeps-5+20211118185200.f1c0d03f-py3-none-any.whl", hash = "sha256:d653c965007e6e320e19b528d97a0e36909daee09a31c653ea81e470589afe9c"},
    ]
    aleksis-core = [
    {file = "AlekSIS-Core-2.2.dev0+20211114193927.5ca5f145.tar.gz", hash = "sha256:9b75dacd35b1d803906c5506f9bb4918123151093917f3fa75762a96e564904b"},
    {file = "AlekSIS_Core-2.2.dev0+20211114193927.5ca5f145-py3-none-any.whl", hash = "sha256:60a7eebc04141a43286d52bf637ca50ee137984b2379b10feaa8e70f6bb084a9"},
    ]
    amqp = [
    {file = "amqp-5.0.6-py3-none-any.whl", hash = "sha256:493a2ac6788ce270a2f6a765b017299f60c1998f5a8617908ee9be082f7300fb"},
    {file = "amqp-5.0.6.tar.gz", hash = "sha256:03e16e94f2b34c31f8bf1206d8ddd3ccaa4c315f7f6a1879b7b1210d229568c2"},
    ]
    appnope = [
    {file = "appnope-0.1.2-py2.py3-none-any.whl", hash = "sha256:93aa393e9d6c54c5cd570ccadd8edad61ea0c4b9ea7a01409020c9aa019eb442"},
    {file = "appnope-0.1.2.tar.gz", hash = "sha256:dd83cd4b5b460958838f6eb3000c660b1f9caf2a5b1de4264e941512f603258a"},
    ]
    asgiref = [
    {file = "asgiref-3.4.1-py3-none-any.whl", hash = "sha256:ffc141aa908e6f175673e7b1b3b7af4fdb0ecb738fc5c8b88f69f055c2415214"},
    {file = "asgiref-3.4.1.tar.gz", hash = "sha256:4ef1ab46b484e3c706329cedeff284a5d40824200638503f5768edb6de7d58e9"},
    ]
    asn1crypto = [
    {file = "asn1crypto-1.4.0-py2.py3-none-any.whl", hash = "sha256:4bcdf33c861c7d40bdcd74d8e4dd7661aac320fcdf40b9a3f95b4ee12fde2fa8"},
    {file = "asn1crypto-1.4.0.tar.gz", hash = "sha256:f4f6e119474e58e04a2b1af817eb585b4fd72bdd89b998624712b5c99be7641c"},
    ]
    async-generator = [
    {file = "async_generator-1.10-py3-none-any.whl", hash = "sha256:01c7bf666359b4967d2cda0000cc2e4af16a0ae098cbffcb8472fb9e8ad6585b"},
    {file = "async_generator-1.10.tar.gz", hash = "sha256:6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144"},
    ]
    atomicwrites = [
    {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"},
    {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"},
    ]
    attrs = [
    {file = "attrs-21.2.0-py2.py3-none-any.whl", hash = "sha256:149e90d6d8ac20db7a955ad60cf0e6881a3f20d37096140088356da6c716b0b1"},
    {file = "attrs-21.2.0.tar.gz", hash = "sha256:ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb"},
    ]
    babel = [
    {file = "Babel-2.9.1-py2.py3-none-any.whl", hash = "sha256:ab49e12b91d937cd11f0b67cb259a57ab4ad2b59ac7a3b41d6c06c0ac5b0def9"},
    {file = "Babel-2.9.1.tar.gz", hash = "sha256:bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0"},
    ]
    backcall = [
    {file = "backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"},
    {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"},
    ]
    bandit = [
    {file = "bandit-1.7.1-py3-none-any.whl", hash = "sha256:f5acd838e59c038a159b5c621cf0f8270b279e884eadd7b782d7491c02add0d4"},
    {file = "bandit-1.7.1.tar.gz", hash = "sha256:a81b00b5436e6880fa8ad6799bc830e02032047713cbb143a12939ac67eb756c"},
    ]
    beautifulsoup4 = [
    {file = "beautifulsoup4-4.10.0-py3-none-any.whl", hash = "sha256:9a315ce70049920ea4572a4055bc4bd700c940521d36fc858205ad4fcde149bf"},
    {file = "beautifulsoup4-4.10.0.tar.gz", hash = "sha256:c23ad23c521d818955a4151a67d81580319d4bf548d3d49f4223ae041ff98891"},
    ]
    billiard = [
    {file = "billiard-3.6.4.0-py3-none-any.whl", hash = "sha256:87103ea78fa6ab4d5c751c4909bcff74617d985de7fa8b672cf8618afd5a875b"},
    {file = "billiard-3.6.4.0.tar.gz", hash = "sha256:299de5a8da28a783d51b197d496bef4f1595dd023a93a4f59dde1886ae905547"},
    ]
    black = [
    {file = "black-21.11b1-py3-none-any.whl", hash = "sha256:802c6c30b637b28645b7fde282ed2569c0cd777dbe493a41b6a03c1d903f99ac"},
    {file = "black-21.11b1.tar.gz", hash = "sha256:a042adbb18b3262faad5aff4e834ff186bb893f95ba3a8013f09de1e5569def2"},
    ]
    bleach = [
    {file = "bleach-4.1.0-py2.py3-none-any.whl", hash = "sha256:4d2651ab93271d1129ac9cbc679f524565cc8a1b791909c4a51eac4446a15994"},
    {file = "bleach-4.1.0.tar.gz", hash = "sha256:0900d8b37eba61a802ee40ac0061f8c2b5dee29c1927dd1d233e075ebf5a71da"},
    ]
    "boolean.py" = [
    {file = "boolean.py-3.8-py2.py3-none-any.whl", hash = "sha256:d75da0fd0354425fa64f6bbc6cec6ae1485d0eec3447b73187ff8cbf9b572e26"},
    {file = "boolean.py-3.8.tar.gz", hash = "sha256:cc24e20f985d60cd4a3a5a1c0956dd12611159d32a75081dabd0c9ab981acaa4"},
    ]
    bs4 = [
    {file = "bs4-0.0.1.tar.gz", hash = "sha256:36ecea1fd7cc5c0c6e4a1ff075df26d50da647b75376626cc186e2212886dd3a"},
    ]
    calendarweek = [
    {file = "calendarweek-0.5.0-py3-none-any.whl", hash = "sha256:f2003e6e0264d3d1320fc99ae6d70e60174c2664e5640c6aa31ad38e229d942d"},
    {file = "calendarweek-0.5.0.tar.gz", hash = "sha256:32f5c8663799a2f5a0b8909976c7a3ae77397acd7e7c31d1456ece5b452988a5"},
    ]
    celery = [
    {file = "celery-5.2.1-py3-none-any.whl", hash = "sha256:cc63ea6572d558be65297ba6db7a7979e64c0a3d0d61212d6302ef1ca05a0d22"},
    {file = "celery-5.2.1.tar.gz", hash = "sha256:b41a590b49caf8e6498a57db628e580d5f8dc6febda0f42de5d783aed5b7f808"},
    ]
    celery-haystack-ng = [
    {file = "celery-haystack-ng-0.20.post2.tar.gz", hash = "sha256:d2e077851f13dddc36fc86134c7c8a937e46ae75e576eb8e77e03b03977fc7bb"},
    {file = "celery_haystack_ng-0.20.post2-py2.py3-none-any.whl", hash = "sha256:a13e00f2c29411b06c6cdf59ad6a90b6c158e3384e7ec6d6d64f6a69e8ff299a"},
    ]
    celery-progress = [
    {file = "celery-progress-0.1.1.tar.gz", hash = "sha256:b2622d1b410a763412810f0293153c984f4a0220b76769bd701b5b45e583ddad"},
    {file = "celery_progress-0.1.1-py3-none-any.whl", hash = "sha256:36a1e58b4408c9bf6aa63908204b50960b005db8e13f3c94ce6f8d6a2a4d4a6c"},
    ]
    certifi = [
    {file = "certifi-2021.10.8-py2.py3-none-any.whl", hash = "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"},
    {file = "certifi-2021.10.8.tar.gz", hash = "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872"},
    ]
    cffi = [
    {file = "cffi-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962"},
    {file = "cffi-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0"},
    {file = "cffi-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14"},
    {file = "cffi-1.15.0-cp27-cp27m-win32.whl", hash = "sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474"},
    {file = "cffi-1.15.0-cp27-cp27m-win_amd64.whl", hash = "sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6"},
    {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27"},
    {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023"},
    {file = "cffi-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2"},
    {file = "cffi-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e"},
    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7"},
    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3"},
    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c"},
    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962"},
    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382"},
    {file = "cffi-1.15.0-cp310-cp310-win32.whl", hash = "sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55"},
    {file = "cffi-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0"},
    {file = "cffi-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e"},
    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39"},
    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc"},
    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032"},
    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8"},
    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605"},
    {file = "cffi-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e"},
    {file = "cffi-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc"},
    {file = "cffi-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636"},
    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4"},
    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997"},
    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b"},
    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2"},
    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7"},
    {file = "cffi-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66"},
    {file = "cffi-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029"},
    {file = "cffi-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880"},
    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20"},
    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024"},
    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e"},
    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728"},
    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6"},
    {file = "cffi-1.15.0-cp38-cp38-win32.whl", hash = "sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c"},
    {file = "cffi-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443"},
    {file = "cffi-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a"},
    {file = "cffi-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37"},
    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a"},
    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e"},
    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796"},
    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df"},
    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8"},
    {file = "cffi-1.15.0-cp39-cp39-win32.whl", hash = "sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a"},
    {file = "cffi-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139"},
    {file = "cffi-1.15.0.tar.gz", hash = "sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954"},
    ]
    charset-normalizer = [
    {file = "charset-normalizer-2.0.7.tar.gz", hash = "sha256:e019de665e2bcf9c2b64e2e5aa025fa991da8720daa3c1138cadd2fd1856aed0"},
    {file = "charset_normalizer-2.0.7-py3-none-any.whl", hash = "sha256:f7af805c321bfa1ce6714c51f254e0d5bb5e5834039bc17db7ebe3a4cec9492b"},
    ]
    click = [
    {file = "click-8.0.3-py3-none-any.whl", hash = "sha256:353f466495adaeb40b6b5f592f9f91cb22372351c84caeb068132442a4518ef3"},
    {file = "click-8.0.3.tar.gz", hash = "sha256:410e932b050f5eed773c4cda94de75971c89cdb3155a72a0831139a79e5ecb5b"},
    ]
    click-didyoumean = [
    {file = "click-didyoumean-0.3.0.tar.gz", hash = "sha256:f184f0d851d96b6d29297354ed981b7dd71df7ff500d82fa6d11f0856bee8035"},
    {file = "click_didyoumean-0.3.0-py3-none-any.whl", hash = "sha256:a0713dc7a1de3f06bc0df5a9567ad19ead2d3d5689b434768a6145bff77c0667"},
    ]
    click-plugins = [
    {file = "click-plugins-1.1.1.tar.gz", hash = "sha256:46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b"},
    {file = "click_plugins-1.1.1-py2.py3-none-any.whl", hash = "sha256:5d262006d3222f5057fd81e1623d4443e41dcda5dc815c06b442aa3c02889fc8"},
    ]
    click-repl = [
    {file = "click-repl-0.2.0.tar.gz", hash = "sha256:cd12f68d745bf6151210790540b4cb064c7b13e571bc64b6957d98d120dacfd8"},
    {file = "click_repl-0.2.0-py3-none-any.whl", hash = "sha256:94b3fbbc9406a236f176e0506524b2937e4b23b6f4c0c0b2a0a83f8a64e9194b"},
    ]
    colorama = [
    {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"},
    {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"},
    ]
    colour = [
    {file = "colour-0.1.5-py2.py3-none-any.whl", hash = "sha256:33f6db9d564fadc16e59921a56999b79571160ce09916303d35346dddc17978c"},
    {file = "colour-0.1.5.tar.gz", hash = "sha256:af20120fefd2afede8b001fbef2ea9da70ad7d49fafdb6489025dae8745c3aee"},
    ]
    configobj = [
    {file = "configobj-5.0.6.tar.gz", hash = "sha256:a2f5650770e1c87fb335af19a9b7eb73fc05ccf22144eb68db7d00cd2bcb0902"},
    ]
    coverage = [
    {file = "coverage-6.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:675adb3b3380967806b3cbb9c5b00ceb29b1c472692100a338730c1d3e59c8b9"},
    {file = "coverage-6.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95a58336aa111af54baa451c33266a8774780242cab3704b7698d5e514840758"},
    {file = "coverage-6.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d0a595a781f8e186580ff8e3352dd4953b1944289bec7705377c80c7e36c4d6c"},
    {file = "coverage-6.1.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d3c5f49ce6af61154060640ad3b3281dbc46e2e0ef2fe78414d7f8a324f0b649"},
    {file = "coverage-6.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:310c40bed6b626fd1f463e5a83dba19a61c4eb74e1ac0d07d454ebbdf9047e9d"},
    {file = "coverage-6.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a4d48e42e17d3de212f9af44f81ab73b9378a4b2b8413fd708d0d9023f2bbde4"},
    {file = "coverage-6.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ffa545230ca2ad921ad066bf8fd627e7be43716b6e0fcf8e32af1b8188ccb0ab"},
    {file = "coverage-6.1.2-cp310-cp310-win32.whl", hash = "sha256:cd2d11a59afa5001ff28073ceca24ae4c506da4355aba30d1e7dd2bd0d2206dc"},
    {file = "coverage-6.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:96129e41405887a53a9cc564f960d7f853cc63d178f3a182fdd302e4cab2745b"},
    {file = "coverage-6.1.2-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:1de9c6f5039ee2b1860b7bad2c7bc3651fbeb9368e4c4d93e98a76358cdcb052"},
    {file = "coverage-6.1.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:80cb70264e9a1d04b519cdba3cd0dc42847bf8e982a4d55c769b9b0ee7cdce1e"},
    {file = "coverage-6.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:ba6125d4e55c0b8e913dad27b22722eac7abdcb1f3eab1bd090eee9105660266"},
    {file = "coverage-6.1.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:8492d37acdc07a6eac6489f6c1954026f2260a85a4c2bb1e343fe3d35f5ee21a"},
    {file = "coverage-6.1.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:66af99c7f7b64d050d37e795baadf515b4561124f25aae6e1baa482438ecc388"},
    {file = "coverage-6.1.2-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ebcc03e1acef4ff44f37f3c61df478d6e469a573aa688e5a162f85d7e4c3860d"},
    {file = "coverage-6.1.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98d44a8136eebbf544ad91fef5bd2b20ef0c9b459c65a833c923d9aa4546b204"},
    {file = "coverage-6.1.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:c18725f3cffe96732ef96f3de1939d81215fd6d7d64900dcc4acfe514ea4fcbf"},
    {file = "coverage-6.1.2-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:c8e9c4bcaaaa932be581b3d8b88b677489975f845f7714efc8cce77568b6711c"},
    {file = "coverage-6.1.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:06d009e8a29483cbc0520665bc46035ffe9ae0e7484a49f9782c2a716e37d0a0"},
    {file = "coverage-6.1.2-cp36-cp36m-win32.whl", hash = "sha256:e5432d9c329b11c27be45ee5f62cf20a33065d482c8dec1941d6670622a6fb8f"},
    {file = "coverage-6.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:82fdcb64bf08aa5db881db061d96db102c77397a570fbc112e21c48a4d9cb31b"},
    {file = "coverage-6.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:94f558f8555e79c48c422045f252ef41eb43becdd945e9c775b45ebfc0cbd78f"},
    {file = "coverage-6.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:046647b96969fda1ae0605f61288635209dd69dcd27ba3ec0bf5148bc157f954"},
    {file = "coverage-6.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cc799916b618ec9fd00135e576424165691fec4f70d7dc12cfaef09268a2478c"},
    {file = "coverage-6.1.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:62646d98cf0381ffda301a816d6ac6c35fc97aa81b09c4c52d66a15c4bef9d7c"},
    {file = "coverage-6.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:27a3df08a855522dfef8b8635f58bab81341b2fb5f447819bc252da3aa4cf44c"},
    {file = "coverage-6.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:610c0ba11da8de3a753dc4b1f71894f9f9debfdde6559599f303286e70aeb0c2"},
    {file = "coverage-6.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:35b246ae3a2c042dc8f410c94bcb9754b18179cdb81ff9477a9089dbc9ecc186"},
    {file = "coverage-6.1.2-cp37-cp37m-win32.whl", hash = "sha256:0cde7d9fe2fb55ff68ebe7fb319ef188e9b88e0a3d1c9c5db7dd829cd93d2193"},
    {file = "coverage-6.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:958ac66272ff20e63d818627216e3d7412fdf68a2d25787b89a5c6f1eb7fdd93"},
    {file = "coverage-6.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a300b39c3d5905686c75a369d2a66e68fd01472ea42e16b38c948bd02b29e5bd"},
    {file = "coverage-6.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d3855d5d26292539861f5ced2ed042fc2aa33a12f80e487053aed3bcb6ced13"},
    {file = "coverage-6.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:586d38dfc7da4a87f5816b203ff06dd7c1bb5b16211ccaa0e9788a8da2b93696"},
    {file = "coverage-6.1.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a34fccb45f7b2d890183a263578d60a392a1a218fdc12f5bce1477a6a68d4373"},
    {file = "coverage-6.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:bc1ee1318f703bc6c971da700d74466e9b86e0c443eb85983fb2a1bd20447263"},
    {file = "coverage-6.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3f546f48d5d80a90a266769aa613bc0719cb3e9c2ef3529d53f463996dd15a9d"},
    {file = "coverage-6.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fd92ece726055e80d4e3f01fff3b91f54b18c9c357c48fcf6119e87e2461a091"},
    {file = "coverage-6.1.2-cp38-cp38-win32.whl", hash = "sha256:24ed38ec86754c4d5a706fbd5b52b057c3df87901a8610d7e5642a08ec07087e"},
    {file = "coverage-6.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:97ef6e9119bd39d60ef7b9cd5deea2b34869c9f0b9777450a7e3759c1ab09b9b"},
    {file = "coverage-6.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6e5a8c947a2a89c56655ecbb789458a3a8e3b0cbf4c04250331df8f647b3de59"},
    {file = "coverage-6.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7a39590d1e6acf6a3c435c5d233f72f5d43b585f5be834cff1f21fec4afda225"},
    {file = "coverage-6.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9d2c2e3ce7b8cc932a2f918186964bd44de8c84e2f9ef72dc616f5bb8be22e71"},
    {file = "coverage-6.1.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3348865798c077c695cae00da0924136bb5cc501f236cfd6b6d9f7a3c94e0ec4"},
    {file = "coverage-6.1.2-cp39-cp39-win32.whl", hash = "sha256:fae3fe111670e51f1ebbc475823899524e3459ea2db2cb88279bbfb2a0b8a3de"},
    {file = "coverage-6.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:af45eea024c0e3a25462fade161afab4f0d9d9e0d5a5d53e86149f74f0a35ecc"},
    {file = "coverage-6.1.2-pp36.pp37.pp38-none-any.whl", hash = "sha256:eab14fdd410500dae50fd14ccc332e65543e7b39f6fc076fe90603a0e5d2f929"},
    {file = "coverage-6.1.2.tar.gz", hash = "sha256:d9a635114b88c0ab462e0355472d00a180a5fbfd8511e7f18e4ac32652e7d972"},
    ]
    cryptography = [
    {file = "cryptography-36.0.0-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:9511416e85e449fe1de73f7f99b21b3aa04fba4c4d335d30c486ba3756e3a2a6"},
    {file = "cryptography-36.0.0-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:97199a13b772e74cdcdb03760c32109c808aff7cd49c29e9cf4b7754bb725d1d"},
    {file = "cryptography-36.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:494106e9cd945c2cadfce5374fa44c94cfadf01d4566a3b13bb487d2e6c7959e"},
    {file = "cryptography-36.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6fbbbb8aab4053fa018984bb0e95a16faeb051dd8cca15add2a27e267ba02b58"},
    {file = "cryptography-36.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:684993ff6f67000a56454b41bdc7e015429732d65a52d06385b6e9de6181c71e"},
    {file = "cryptography-36.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c702855cd3174666ef0d2d13dcc879090aa9c6c38f5578896407a7028f75b9f"},
    {file = "cryptography-36.0.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d91bc9f535599bed58f6d2e21a2724cb0c3895bf41c6403fe881391d29096f1d"},
    {file = "cryptography-36.0.0-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:b17d83b3d1610e571fedac21b2eb36b816654d6f7496004d6a0d32f99d1d8120"},
    {file = "cryptography-36.0.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:8982c19bb90a4fa2aad3d635c6d71814e38b643649b4000a8419f8691f20ac44"},
    {file = "cryptography-36.0.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:24469d9d33217ffd0ce4582dfcf2a76671af115663a95328f63c99ec7ece61a4"},
    {file = "cryptography-36.0.0-cp36-abi3-win32.whl", hash = "sha256:f6a5a85beb33e57998dc605b9dbe7deaa806385fdf5c4810fb849fcd04640c81"},
    {file = "cryptography-36.0.0-cp36-abi3-win_amd64.whl", hash = "sha256:2deab5ec05d83ddcf9b0916319674d3dae88b0e7ee18f8962642d3cde0496568"},
    {file = "cryptography-36.0.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2049f8b87f449fc6190350de443ee0c1dd631f2ce4fa99efad2984de81031681"},
    {file = "cryptography-36.0.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a776bae1629c8d7198396fd93ec0265f8dd2341c553dc32b976168aaf0e6a636"},
    {file = "cryptography-36.0.0-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:aa94d617a4cd4cdf4af9b5af65100c036bce22280ebb15d8b5262e8273ebc6ba"},
    {file = "cryptography-36.0.0-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:5c49c9e8fb26a567a2b3fa0343c89f5d325447956cc2fc7231c943b29a973712"},
    {file = "cryptography-36.0.0-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ef216d13ac8d24d9cd851776662f75f8d29c9f2d05cdcc2d34a18d32463a9b0b"},
    {file = "cryptography-36.0.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:231c4a69b11f6af79c1495a0e5a85909686ea8db946935224b7825cfb53827ed"},
    {file = "cryptography-36.0.0-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:f92556f94e476c1b616e6daec5f7ddded2c082efa7cee7f31c7aeda615906ed8"},
    {file = "cryptography-36.0.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d73e3a96c38173e0aa5646c31bf8473bc3564837977dd480f5cbeacf1d7ef3a3"},
    {file = "cryptography-36.0.0.tar.gz", hash = "sha256:52f769ecb4ef39865719aedc67b4b7eae167bafa48dbc2a26dd36fa56460507f"},
    ]
    curlylint = [
    {file = "curlylint-0.13.0-py3-none-any.whl", hash = "sha256:63e5fc98f99c7b0eab0c4e3390356ad569b7bb3eecb6da115e6cb9ee98eb738f"},
    {file = "curlylint-0.13.0.tar.gz", hash = "sha256:0d38839f126b3fdd2561a7efa65d15a1c842aac98e555b2381f7c79478e1ff25"},
    ]
    decorator = [
    {file = "decorator-5.1.0-py3-none-any.whl", hash = "sha256:7b12e7c3c6ab203a29e157335e9122cb03de9ab7264b137594103fd4a683b374"},
    {file = "decorator-5.1.0.tar.gz", hash = "sha256:e59913af105b9860aa2c8d3272d9de5a56a4e608db9a2f167a8480b323d529a7"},
    ]
    defusedxml = [
    {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"},
    {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"},
    ]
    deprecated = [
    {file = "Deprecated-1.2.13-py2.py3-none-any.whl", hash = "sha256:64756e3e14c8c5eea9795d93c524551432a0be75629f8f29e67ab8caf076c76d"},
    {file = "Deprecated-1.2.13.tar.gz", hash = "sha256:43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d"},
    ]
    dj-database-url = [
    {file = "dj-database-url-0.5.0.tar.gz", hash = "sha256:4aeaeb1f573c74835b0686a2b46b85990571159ffc21aa57ecd4d1e1cb334163"},
    {file = "dj_database_url-0.5.0-py2.py3-none-any.whl", hash = "sha256:851785365761ebe4994a921b433062309eb882fedd318e1b0fcecc607ed02da9"},
    ]
    django = [
    {file = "Django-3.2.9-py3-none-any.whl", hash = "sha256:e22c9266da3eec7827737cde57694d7db801fedac938d252bf27377cec06ed1b"},
    {file = "Django-3.2.9.tar.gz", hash = "sha256:51284300f1522ffcdb07ccbdf676a307c6678659e1284f0618e5a774127a6a08"},
    ]
    django-allauth = [
    {file = "django-allauth-0.45.0.tar.gz", hash = "sha256:6d46be0e1480316ccd45476db3aefb39db70e038d2a543112d314b76bb999a4e"},
    ]
    django-any-js = [
    {file = "django-any-js-1.1.tar.gz", hash = "sha256:2972946902ba049f73bf8bb87e0a0118f77a8c9dca89438f193598bff758422f"},
    {file = "django_any_js-1.1-py3-none-any.whl", hash = "sha256:1499934e293bbcaad29b8edaaefca87dda79eb3df1faeaaea67b80e2866ae1f8"},
    ]
    django-appconf = [
    {file = "django-appconf-1.0.5.tar.gz", hash = "sha256:be3db0be6c81fa84742000b89a81c016d70ae66a7ccb620cdef592b1f1a6aaa4"},
    {file = "django_appconf-1.0.5-py3-none-any.whl", hash = "sha256:ae9f864ee1958c815a965ed63b3fba4874eec13de10236ba063a788f9a17389d"},
    ]
    django-bleach = [
    {file = "django-bleach-0.9.0.tar.gz", hash = "sha256:d76534566987187da35c60d9097bc18e6d8aadc2d8743cee46b820940e45cea7"},
    {file = "django_bleach-0.9.0-py2.py3-none-any.whl", hash = "sha256:12aeffd1b9f96d91d92bb04e9ce46dba29294c7fc1c6678d111e769d279bad3e"},
    ]
    django-cachalot = [
    {file = "django-cachalot-2.4.4.tar.gz", hash = "sha256:8489a74e9a689437f81fa61705b154a4be3cac1b62b61f68215d79668c9ac037"},
    {file = "django_cachalot-2.4.4-py3-none-any.whl", hash = "sha256:f8995a85197ac290e63a2f97c577cc9825000fe081b08d5c7d35079e7f1daa43"},
    ]
    django-cache-memoize = [
    {file = "django-cache-memoize-0.1.10.tar.gz", hash = "sha256:63e8faa245a41c0dbad843807e9f21a6e59eba8e6e50df310fdf6485a6749843"},
    {file = "django_cache_memoize-0.1.10-py3-none-any.whl", hash = "sha256:676299313079cde9242ae84db0160e80b1d44e8dd6bc9b1f4f1247e11b30c9e0"},
    ]
    django-celery-beat = [
    {file = "django-celery-beat-2.2.1.tar.gz", hash = "sha256:97ae5eb309541551bdb07bf60cc57cadacf42a74287560ced2d2c06298620234"},
    {file = "django_celery_beat-2.2.1-py2.py3-none-any.whl", hash = "sha256:ab43049634fd18dc037927d7c2c7d5f67f95283a20ebbda55f42f8606412e66c"},
    ]
    django-celery-email = [
    {file = "django-celery-email-3.0.0.tar.gz", hash = "sha256:5546cbba80952cc3b8a0ffa4206ce90a4a996a7ffd1c385a2bdb65903ca18ece"},
    {file = "django_celery_email-3.0.0-py2.py3-none-any.whl", hash = "sha256:0f72da39cb2ea83c69440566e87f27cd72f68f247f98ce99fb29889fcf329406"},
    ]
    django-celery-results = [
    {file = "django_celery_results-2.2.0-py2.py3-none-any.whl", hash = "sha256:d5f83fad9091e52cd6dbb3ca80632153ad14b6cdac4d73258e040f92717237cb"},
    {file = "django_celery_results-2.2.0.tar.gz", hash = "sha256:cc0285090a306f97f1d4b7929ed98af0475bf6db2568976b3387de4fbe812edc"},
    ]
    django-ckeditor = [
    {file = "django-ckeditor-6.2.0.tar.gz", hash = "sha256:df64dc9e62790ef824f609605d31be847bdbce1cc7aa94e49bd5ca60d7aa79bb"},
    {file = "django_ckeditor-6.2.0-py2.py3-none-any.whl", hash = "sha256:9f66420907e41f5b4e698fa5671a00a86995776735f2c4696174aed4640fcbd8"},
    ]
    django-cleanup = [
    {file = "django-cleanup-5.2.0.tar.gz", hash = "sha256:909d10ff574f5ce1a40fa63bd5c94c9ed866fd7ae770994c46cdf66c3db3e846"},
    {file = "django_cleanup-5.2.0-py2.py3-none-any.whl", hash = "sha256:193cf69de54b9fc0a0f4547edbb3a63bbe01728cb029f9f4b7912098cc1bced7"},
    ]
    django-colorfield = [
    {file = "django-colorfield-0.4.5.tar.gz", hash = "sha256:66d7cb628d05c0eb09e25b0923e36bf6fbd3e339c568a199e66b34463119ca13"},
    {file = "django_colorfield-0.4.5-py3-none-any.whl", hash = "sha256:579128d008b2d15e4df64f102b1ad58432de1b6f1017221c316d630e5c62960a"},
    ]
    django-dbbackup = [
    {file = "django-dbbackup-3.3.0.tar.gz", hash = "sha256:bb109735cae98b64ad084e5b461b7aca2d7b39992f10c9ed9435e3ebb6fb76c8"},
    ]
    django-debug-toolbar = [
    {file = "django-debug-toolbar-3.2.2.tar.gz", hash = "sha256:8c5b13795d4040008ee69ba82dcdd259c49db346cf7d0de6e561a49d191f0860"},
    {file = "django_debug_toolbar-3.2.2-py3-none-any.whl", hash = "sha256:d7bab7573fab35b0fd029163371b7182f5826c13da69734beb675c761d06a4d3"},
    ]
    django-dynamic-preferences = [
    {file = "django-dynamic-preferences-1.11.0.tar.gz", hash = "sha256:f214c938b5872a17647e2b2ccfd9ad00a90a3c6c4aa83fa65d3c5c446e7a66c7"},
    {file = "django_dynamic_preferences-1.11.0-py2.py3-none-any.whl", hash = "sha256:31aecebcbfcfb970b78cfa3e5f8cc9f77638efe8e7c90f205a48b01c45ee5002"},
    ]
    django-extensions = [
    {file = "django-extensions-3.1.5.tar.gz", hash = "sha256:28e1e1bf49f0e00307ba574d645b0af3564c981a6dfc87209d48cb98f77d0b1a"},
    {file = "django_extensions-3.1.5-py3-none-any.whl", hash = "sha256:9238b9e016bb0009d621e05cf56ea8ce5cce9b32e91ad2026996a7377ca28069"},
    ]
    django-favicon-plus-reloaded = [
    {file = "django-favicon-plus-reloaded-1.1.3.tar.gz", hash = "sha256:36c2a1cefc201df8bd132492e2440ccdc3d9ceb8e421b2ca181a4704ebacd190"},
    {file = "django_favicon_plus_reloaded-1.1.3-py3-none-any.whl", hash = "sha256:a60b438360e82bf7075b856ff6a80bae20c825373a58deac627810e478c42be3"},
    ]
    django-filter = [
    {file = "django-filter-2.4.0.tar.gz", hash = "sha256:84e9d5bb93f237e451db814ed422a3a625751cbc9968b484ecc74964a8696b06"},
    {file = "django_filter-2.4.0-py3-none-any.whl", hash = "sha256:e00d32cebdb3d54273c48f4f878f898dced8d5dfaad009438fe61ebdf535ace1"},
    ]
    django-formtools = [
    {file = "django-formtools-2.3.tar.gz", hash = "sha256:9663b6eca64777b68d6d4142efad8597fe9a685924673b25aa8a1dcff4db00c3"},
    {file = "django_formtools-2.3-py3-none-any.whl", hash = "sha256:4699937e19ee041d803943714fe0c1c7ad4cab802600eb64bbf4cdd0a1bfe7d9"},
    ]
    django-guardian = [
    {file = "django-guardian-2.4.0.tar.gz", hash = "sha256:c58a68ae76922d33e6bdc0e69af1892097838de56e93e78a8361090bcd9f89a0"},
    {file = "django_guardian-2.4.0-py3-none-any.whl", hash = "sha256:440ca61358427e575323648b25f8384739e54c38b3d655c81d75e0cd0d61b697"},
    ]
    django-haystack = [
    {file = "django-haystack-3.1.1.tar.gz", hash = "sha256:6d05756b95d7d5ec1dbd4668eb999ced1504b47f588e2e54be53b1404c516a82"},
    {file = "django_haystack-3.1.1-py3-none-any.whl", hash = "sha256:970ebc6362f3f84861209154ec34b57f3e87d2d7922f948df80177f0e2e3ced7"},
    ]
    django-health-check = [
    {file = "django-health-check-3.16.4.tar.gz", hash = "sha256:334bcbbb9273a6dbd9c928e78474306e623dfb38cc442281cb9fd230a20a7fdb"},
    {file = "django_health_check-3.16.4-py2.py3-none-any.whl", hash = "sha256:86a8869d67e72394a1dd73e37819a7d2cfd915588b96927fda611d7451fd4735"},
    ]
    django-impersonate = [
    {file = "django-impersonate-1.7.3.tar.gz", hash = "sha256:282003957577c7143fe31e5861f8fffdf6fe0c25557aedb28fcf8b11474eaa23"},
    ]
    django-ipware = [
    {file = "django-ipware-4.0.0.tar.gz", hash = "sha256:1294f916f3b3475e40e1b0ec1bd320aa2397978eae672721c81cbc2ed517e9ee"},
    {file = "django_ipware-4.0.0-py2.py3-none-any.whl", hash = "sha256:116bd0d7940f09bf7ffd465943992e23d87e772a9d6c0d3a57b74040589a383b"},
    ]
    django-js-asset = [
    {file = "django-js-asset-1.2.2.tar.gz", hash = "sha256:c163ae80d2e0b22d8fb598047cd0dcef31f81830e127cfecae278ad574167260"},
    {file = "django_js_asset-1.2.2-py2.py3-none-any.whl", hash = "sha256:8ec12017f26eec524cab436c64ae73033368a372970af4cf42d9354fcb166bdd"},
    ]
    django-js-reverse = [
    {file = "django-js-reverse-0.9.1.tar.gz", hash = "sha256:2a392d169f44e30b883c30dfcfd917a14167ce8fe196c99d2385b31c90d77aa0"},
    {file = "django_js_reverse-0.9.1-py2.py3-none-any.whl", hash = "sha256:8134c2ab6307c945edfa90671ca65e85d6c1754d48566bdd6464be259cc80c30"},
    ]
    django-jsonstore = [
    {file = "django-jsonstore-0.5.0.tar.gz", hash = "sha256:896dc10b08f59807eda1c6cebf43cd26e50d0db29d13495c027dc31e464be3c3"},
    {file = "django_jsonstore-0.5.0-py2-none-any.whl", hash = "sha256:9630c1fb43ae9f8e32733c5cf7d4c3775ba6f08532f517c64025053352d72844"},
    ]
    django-maintenance-mode = [
    {file = "django-maintenance-mode-0.16.1.tar.gz", hash = "sha256:da1f77f431ab5c55913459adb3c259e091f783ffc72de701690826aaaccce4ca"},
    {file = "django_maintenance_mode-0.16.1-py3-none-any.whl", hash = "sha256:1bfac0b34429a9f6dbb0db169fb753f49f24ca155ae148d7526ff395303c158d"},
    ]
    django-material = [
    {file = "django-material-1.10.0.tar.gz", hash = "sha256:3cc015500939a63606c1522119fddc4c86facb6d1bbfa8fc76bdc8878e8252f5"},
    {file = "django_material-1.10.0-py2.py3-none-any.whl", hash = "sha256:50e4764fa0cb504cf1f6d497f86c6294ff3fbf43bdbf0e4c612e3681fa9000a0"},
    ]
    django-menu-generator-ng = [
    {file = "django-menu-generator-ng-1.2.3.tar.gz", hash = "sha256:0c21a094b094add909655728b6b2d4a8baa5a2047da8f649be52589bea0e3ba2"},
    ]
    django-model-utils = [
    {file = "django-model-utils-4.2.0.tar.gz", hash = "sha256:e7a95e102f9c9653427eadab980d5d59e1dea972913b9c9e01ac37f86bba0ddf"},
    {file = "django_model_utils-4.2.0-py3-none-any.whl", hash = "sha256:a768a25c80514e0ad4e4a6f9c02c44498985f36c5dfdea47b5b1e8cf994beba6"},
    ]
    django-oauth-toolkit = [
    {file = "django-oauth-toolkit-1.5.0.tar.gz", hash = "sha256:650e5ef2244d1d8db8f507137e0d1e8b8aad1f4086a4a610526e8851f9a38308"},
    {file = "django_oauth_toolkit-1.5.0-py3-none-any.whl", hash = "sha256:b2e346a7c1e222774bfb370f21b556b92b408395b4c23914e2d1b241b2e5376a"},
    ]
    django-otp = [
    {file = "django-otp-1.1.1.tar.gz", hash = "sha256:4c90cdaed683d736b0efafc034a3c6b410e1be2a53c24da287165b1f371d8776"},
    {file = "django_otp-1.1.1-py3-none-any.whl", hash = "sha256:0c03a471db9e876f3671314bc9a65bd56a5c3c108ee0562c473701310bba4a77"},
    ]
    django-otp-yubikey = [
    {file = "django-otp-yubikey-1.0.0.post1.tar.gz", hash = "sha256:1da060257611d06e681848b7923fd788d878a79e8c358a373374deab13a085af"},
    {file = "django_otp_yubikey-1.0.0.post1-py2.py3-none-any.whl", hash = "sha256:613c96be211c1267400a5a78ae63f212c722f82dffb9daef3c8b1df370abb9be"},
    ]
    django-phonenumber-field = [
    {file = "django-phonenumber-field-5.2.0.tar.gz", hash = "sha256:52b2e5970133ec5ab701218b802f7ab237229854dc95fd239b7e9e77dc43731d"},
    {file = "django_phonenumber_field-5.2.0-py3-none-any.whl", hash = "sha256:5547fb2b2cc690a306ba77a5038419afc8fa8298a486fb7895008e9067cc7e75"},
    ]
    django-polymorphic = [
    {file = "django-polymorphic-3.1.0.tar.gz", hash = "sha256:d6955b5308bf6e41dcb22ba7c96f00b51dfa497a8a5ab1e9c06c7951bf417bf8"},
    {file = "django_polymorphic-3.1.0-py3-none-any.whl", hash = "sha256:08bc4f4f4a773a19b2deced5a56deddd1ef56ebd15207bf4052e2901c25ef57e"},
    ]
    django-prometheus = [
    {file = "django-prometheus-2.1.0.tar.gz", hash = "sha256:dd3f8da1399140fbef5c00d1526a23d1ade286b144281c325f8e409a781643f2"},
    {file = "django_prometheus-2.1.0-py2.py3-none-any.whl", hash = "sha256:c338d6efde1ca336e90c540b5e87afe9287d7bcc82d651a778f302b0be17a933"},
    ]
    django-redis = [
    {file = "django-redis-5.0.0.tar.gz", hash = "sha256:048f665bbe27f8ff2edebae6aa9c534ab137f1e8fa7234147ef470df3f3aa9b8"},
    {file = "django_redis-5.0.0-py3-none-any.whl", hash = "sha256:97739ca9de3f964c51412d1d7d8aecdfd86737bb197fce6e1ff12620c63c97ee"},
    ]
    django-render-block = [
    {file = "django-render-block-0.8.1.tar.gz", hash = "sha256:edbc5d444cc50f3eb3387cf17f6f1014bf19d6018f680861cdeae9e0306003fa"},
    {file = "django_render_block-0.8.1-py3-none-any.whl", hash = "sha256:903969efd0949f750c5fe71affe6e6b1ea66d03005c102a67fda36d5b9f4e1e1"},
    ]
    django-reversion = [
    {file = "django-reversion-4.0.1.tar.gz", hash = "sha256:6991f16e5d3a972912db3d56e3a714d10b07becd566ab87f85f2e9b671981339"},
    {file = "django_reversion-4.0.1-py3-none-any.whl", hash = "sha256:2e40ed41e08cdd83a05dc70a1974feface52a61ba7d289727117163052081ae6"},
    ]
    django-sass-processor = [
    {file = "django-sass-processor-1.0.0.tar.gz", hash = "sha256:cb90efee38cd7b0fe727c78d8993ad7804de33f40328200dfc1a481307ef0466"},
    ]
    django-select2 = [
    {file = "django-select2-7.9.0.tar.gz", hash = "sha256:4494cf5fa13333ddbd34e4dbeca4b44a22ed6367342cccd24f6f122f6ef4a20b"},
    {file = "django_select2-7.9.0-py2.py3-none-any.whl", hash = "sha256:40d42643b459f79c31598fa5645f5f7e8edda8350a78761ab6c06105ca588872"},
    ]
    django-stubs = [
    {file = "django-stubs-1.9.0.tar.gz", hash = "sha256:664843091636a917faf5256d028476559dc360fdef9050b6df87ab61b21607bf"},
    {file = "django_stubs-1.9.0-py3-none-any.whl", hash = "sha256:59c9f81af64d214b1954eaf90f037778c8d2b9c2de946a3cda177fefcf588fbd"},
    ]
    django-stubs-ext = [
    {file = "django-stubs-ext-0.3.1.tar.gz", hash = "sha256:783c198d7e39a41be0b90fd843fa2770243a642922af679be4b19e03b82c8c28"},
    {file = "django_stubs_ext-0.3.1-py3-none-any.whl", hash = "sha256:a51a3e9e844d4e1cacaaedbb33bf3def78a3956eed5d9575a640bd97ccd99cec"},
    ]
    django-tables2 = [
    {file = "django-tables2-2.4.1.tar.gz", hash = "sha256:6c72dd208358539e789e4c0efd7d151e43283a4aa4093a35f44c43489e7ddeaa"},
    {file = "django_tables2-2.4.1-py2.py3-none-any.whl", hash = "sha256:50762bf3d7c61a4eb70e763c3e278650d7266bb78d0497fc8fafcf4e507c9a64"},
    ]
    django-templated-email = [
    {file = "django-templated-email-3.0.0.tar.gz", hash = "sha256:49d61840ec551e640adaf341146e94d6f9058ae01df964480850bf988046e5eb"},
    {file = "django_templated_email-3.0.0-py3-none-any.whl", hash = "sha256:bf1b68ffe6c8794c0c50e2ce20e3a166c6d511b3879abbd3cf059a3fc2fe2e60"},
    ]
    django-timezone-field = [
    {file = "django-timezone-field-4.2.1.tar.gz", hash = "sha256:97780cde658daa5094ae515bb55ca97c1352928ab554041207ad515dee3fe971"},
    {file = "django_timezone_field-4.2.1-py3-none-any.whl", hash = "sha256:6dc782e31036a58da35b553bd00c70f112d794700025270d8a6a4c1d2e5b26c6"},
    ]
    django-titofisto = [
    {file = "django-titofisto-0.2.0.tar.gz", hash = "sha256:d6cde43d3aa32f19633d5098de3fd1a0148cb4856963f0b5c0e31b3de257df99"},
    {file = "django_titofisto-0.2.0-py3-none-any.whl", hash = "sha256:38d5298fe64d3c12a3a48767d8f1af4bd86cfc12787af0faaf3e141a29a12bb8"},
    ]
    django-two-factor-auth = [
    {file = "django-two-factor-auth-1.13.1.tar.gz", hash = "sha256:a20e03d256fd9fd668988545f052cedcc47e5a981888562e5e27d0bb83deae89"},
    {file = "django_two_factor_auth-1.13.1-py2.py3-none-any.whl", hash = "sha256:d270d4288731233621a9462a89a8dfed2dcb86fa354125c816a89772d55f9e29"},
    ]
    django-uwsgi-ng = [
    {file = "django-uwsgi-ng-1.1.2.tar.gz", hash = "sha256:1df2ffa642f7a831bd8d7f7e459f7b0821113b37174ccf4bf977e4467d45d9b3"},
    {file = "django_uwsgi_ng-1.1.2-py3-none-any.whl", hash = "sha256:8b1a489a1ed9e56da0efadfa86ec306b532e5cd953fe34b234aaefc26898c649"},
    ]
    django-widget-tweaks = [
    {file = "django-widget-tweaks-1.4.9.tar.gz", hash = "sha256:19bcb66a4a9e68493ced04e7124882d753c5be517ed001556f9e35a40147f545"},
    {file = "django_widget_tweaks-1.4.9-py2.py3-none-any.whl", hash = "sha256:d6c64fbf92cd2df9031f597c1374982233c05a1190d295c39d1c57ce007569c7"},
    ]
    django-yarnpkg = [
    {file = "django-yarnpkg-6.0.1.tar.gz", hash = "sha256:aa059347b246c6f242401581d2c129bdcb45aa726be59fe2f288762a9843348a"},
    ]
    djangorestframework = [
    {file = "djangorestframework-3.12.4-py3-none-any.whl", hash = "sha256:6d1d59f623a5ad0509fe0d6bfe93cbdfe17b8116ebc8eda86d45f6e16e819aaf"},
    {file = "djangorestframework-3.12.4.tar.gz", hash = "sha256:f747949a8ddac876e879190df194b925c177cdeb725a099db1460872f7c0a7f2"},
    ]
    docutils = [
    {file = "docutils-0.16-py2.py3-none-any.whl", hash = "sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af"},
    {file = "docutils-0.16.tar.gz", hash = "sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc"},
    ]
    dparse = [
    {file = "dparse-0.5.1-py3-none-any.whl", hash = "sha256:e953a25e44ebb60a5c6efc2add4420c177f1d8404509da88da9729202f306994"},
    {file = "dparse-0.5.1.tar.gz", hash = "sha256:a1b5f169102e1c894f9a7d5ccf6f9402a836a5d24be80a986c7ce9eaed78f367"},
    ]
    dynaconf = [
    {file = "dynaconf-3.1.7-py2.py3-none-any.whl", hash = "sha256:f52fe5db7622da56a552275e8f64e4df46e3b4ae11158831b042e8ba2f6d1c96"},
    {file = "dynaconf-3.1.7.tar.gz", hash = "sha256:e9d80b46ba4d9372f2f40c812594c963f74178140c0b596e57f2881001fc4d35"},
    ]
    flake8 = [
    {file = "flake8-4.0.1-py2.py3-none-any.whl", hash = "sha256:479b1304f72536a55948cb40a32dce8bb0ffe3501e26eaf292c7e60eb5e0428d"},
    {file = "flake8-4.0.1.tar.gz", hash = "sha256:806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d"},
    ]
    flake8-bandit = [
    {file = "flake8_bandit-2.1.2.tar.gz", hash = "sha256:687fc8da2e4a239b206af2e54a90093572a60d0954f3054e23690739b0b0de3b"},
    ]
    flake8-black = [
    {file = "flake8-black-0.2.3.tar.gz", hash = "sha256:c199844bc1b559d91195ebe8620216f21ed67f2cc1ff6884294c91a0d2492684"},
    {file = "flake8_black-0.2.3-py3-none-any.whl", hash = "sha256:cc080ba5b3773b69ba102b6617a00cc4ecbad8914109690cfda4d565ea435d96"},
    ]
    flake8-builtins = [
    {file = "flake8-builtins-1.5.3.tar.gz", hash = "sha256:09998853b2405e98e61d2ff3027c47033adbdc17f9fe44ca58443d876eb00f3b"},
    {file = "flake8_builtins-1.5.3-py2.py3-none-any.whl", hash = "sha256:7706babee43879320376861897e5d1468e396a40b8918ed7bccf70e5f90b8687"},
    ]
    flake8-django = [
    {file = "flake8-django-1.1.1.tar.gz", hash = "sha256:fb4e8f669d3cf44297bb6e1c5d0a358ab0aba373cd4c69268cf2798de6bcbd9b"},
    {file = "flake8_django-1.1.1-py3-none-any.whl", hash = "sha256:c71da0e61b6119dae91cbffdbdb00f1d6ebe3f5d0c43f5bf136929997ab0b72d"},
    ]
    flake8-docstrings = [
    {file = "flake8-docstrings-1.6.0.tar.gz", hash = "sha256:9fe7c6a306064af8e62a055c2f61e9eb1da55f84bb39caef2b84ce53708ac34b"},
    {file = "flake8_docstrings-1.6.0-py2.py3-none-any.whl", hash = "sha256:99cac583d6c7e32dd28bbfbef120a7c0d1b6dde4adb5a9fd441c4227a6534bde"},
    ]
    flake8-fixme = [
    {file = "flake8-fixme-1.1.1.tar.gz", hash = "sha256:50cade07d27a4c30d4f12351478df87339e67640c83041b664724bda6d16f33a"},
    {file = "flake8_fixme-1.1.1-py2.py3-none-any.whl", hash = "sha256:226a6f2ef916730899f29ac140bed5d4a17e5aba79f00a0e3ae1eff1997cb1ac"},
    ]
    flake8-isort = [
    {file = "flake8-isort-4.1.1.tar.gz", hash = "sha256:d814304ab70e6e58859bc5c3e221e2e6e71c958e7005239202fee19c24f82717"},
    {file = "flake8_isort-4.1.1-py3-none-any.whl", hash = "sha256:c4e8b6dcb7be9b71a02e6e5d4196cefcef0f3447be51e82730fb336fff164949"},
    ]
    flake8-mypy = [
    {file = "flake8-mypy-17.8.0.tar.gz", hash = "sha256:47120db63aff631ee1f84bac6fe8e64731dc66da3efc1c51f85e15ade4a3ba18"},
    {file = "flake8_mypy-17.8.0-py35.py36-none-any.whl", hash = "sha256:cff009f4250e8391bf48990093cff85802778c345c8449d6498b62efefeebcbc"},
    ]
    flake8-polyfill = [
    {file = "flake8-polyfill-1.0.2.tar.gz", hash = "sha256:e44b087597f6da52ec6393a709e7108b2905317d0c0b744cdca6208e670d8eda"},
    {file = "flake8_polyfill-1.0.2-py2.py3-none-any.whl", hash = "sha256:12be6a34ee3ab795b19ca73505e7b55826d5f6ad7230d31b18e106400169b9e9"},
    ]
    flake8-rst-docstrings = [
    {file = "flake8-rst-docstrings-0.2.3.tar.gz", hash = "sha256:3045794e1c8467fba33aaea5c246b8369efc9c44ef8b0b20199bb6df7a4bd47b"},
    {file = "flake8_rst_docstrings-0.2.3-py3-none-any.whl", hash = "sha256:565bbb391d7e4d0042924102221e9857ad72929cdd305b26501736ec22c1451a"},
    ]
    freezegun = [
    {file = "freezegun-1.1.0-py2.py3-none-any.whl", hash = "sha256:2ae695f7eb96c62529f03a038461afe3c692db3465e215355e1bb4b0ab408712"},
    {file = "freezegun-1.1.0.tar.gz", hash = "sha256:177f9dd59861d871e27a484c3332f35a6e3f5d14626f2bf91be37891f18927f3"},
    ]
    gitdb = [
    {file = "gitdb-4.0.9-py3-none-any.whl", hash = "sha256:8033ad4e853066ba6ca92050b9df2f89301b8fc8bf7e9324d412a63f8bf1a8fd"},
    {file = "gitdb-4.0.9.tar.gz", hash = "sha256:bac2fd45c0a1c9cf619e63a90d62bdc63892ef92387424b855792a6cabe789aa"},
    ]
    gitpython = [
    {file = "GitPython-3.1.24-py3-none-any.whl", hash = "sha256:dc0a7f2f697657acc8d7f89033e8b1ea94dd90356b2983bca89dc8d2ab3cc647"},
    {file = "GitPython-3.1.24.tar.gz", hash = "sha256:df83fdf5e684fef7c6ee2c02fc68a5ceb7e7e759d08b694088d0cacb4eba59e5"},
    ]
    h11 = [
    {file = "h11-0.12.0-py3-none-any.whl", hash = "sha256:36a3cb8c0a032f56e2da7084577878a035d3b61d104230d4bd49c0c6b555a9c6"},
    {file = "h11-0.12.0.tar.gz", hash = "sha256:47222cb6067e4a307d535814917cd98fd0a57b6788ce715755fa2b6c28b56042"},
    ]
    haystack-redis = [
    {file = "haystack-redis-0.0.1.tar.gz", hash = "sha256:ccfea88bdc1387c9f7f6f19e9bc062a3612039ef94cfd3e78cf59a96ddd269b2"},
    {file = "haystack_redis-0.0.1-py3-none-any.whl", hash = "sha256:4fdeee5a9d8daadb1fed4584fd2ffbb25b1ed2315dacb97b53093756d6b54467"},
    ]
    html2text = [
    {file = "html2text-2020.1.16-py3-none-any.whl", hash = "sha256:c7c629882da0cf377d66f073329ccf34a12ed2adf0169b9285ae4e63ef54c82b"},
    {file = "html2text-2020.1.16.tar.gz", hash = "sha256:e296318e16b059ddb97f7a8a1d6a5c1d7af4544049a01e261731d2d5cc277bbb"},
    ]
    idna = [
    {file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"},
    {file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"},
    ]
    imagesize = [
    {file = "imagesize-1.3.0-py2.py3-none-any.whl", hash = "sha256:1db2f82529e53c3e929e8926a1fa9235aa82d0bd0c580359c67ec31b2fddaa8c"},
    {file = "imagesize-1.3.0.tar.gz", hash = "sha256:cd1750d452385ca327479d45b64d9c7729ecf0b3969a58148298c77092261f9d"},
    ]
    iniconfig = [
    {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"},
    {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"},
    ]
    ipython = [
    {file = "ipython-7.29.0-py3-none-any.whl", hash = "sha256:a658beaf856ce46bc453366d5dc6b2ddc6c481efd3540cb28aa3943819caac9f"},
    {file = "ipython-7.29.0.tar.gz", hash = "sha256:4f69d7423a5a1972f6347ff233e38bbf4df6a150ef20fbb00c635442ac3060aa"},
    ]
    isort = [
    {file = "isort-5.10.1-py3-none-any.whl", hash = "sha256:6f62d78e2f89b4500b080fe3a81690850cd254227f27f75c3a0c491a1f351ba7"},
    {file = "isort-5.10.1.tar.gz", hash = "sha256:e8443a5e7a020e9d7f97f1d7d9cd17c88bcb3bc7e218bf9cf5095fe550be2951"},
    ]
    jedi = [
    {file = "jedi-0.18.1-py2.py3-none-any.whl", hash = "sha256:637c9635fcf47945ceb91cd7f320234a7be540ded6f3e99a50cb6febdfd1ba8d"},
    {file = "jedi-0.18.1.tar.gz", hash = "sha256:74137626a64a99c8eb6ae5832d99b3bdd7d29a3850fe2aa80a4126b2a7d949ab"},
    ]
    jinja2 = [
    {file = "Jinja2-3.0.3-py3-none-any.whl", hash = "sha256:077ce6014f7b40d03b47d1f1ca4b0fc8328a692bd284016f806ed0eaca390ad8"},
    {file = "Jinja2-3.0.3.tar.gz", hash = "sha256:611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7"},
    ]
    jwcrypto = [
    {file = "jwcrypto-1.0-py2.py3-none-any.whl", hash = "sha256:db93a656d9a7a35dda5a68deb5c9f301f4e60507d8aef1559e0637b9ac497137"},
    {file = "jwcrypto-1.0.tar.gz", hash = "sha256:f88816eb0a41b8f006af978ced5f171f33782525006cdb055b536a40f4d46ac9"},
    ]
    kombu = [
    {file = "kombu-5.2.2-py3-none-any.whl", hash = "sha256:d36f0cde6a18d9eb7b6b3aa62a59bfdff7f5724689850e447eca5be8efc9d501"},
    {file = "kombu-5.2.2.tar.gz", hash = "sha256:0f5d0763fb916808f617b886697b2be28e6bc35026f08e679697fc814b48a608"},
    ]
    libsass = [
    {file = "libsass-0.21.0-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:06c8776417fe930714bdc930a3d7e795ae3d72be6ac883ff72a1b8f7c49e5ffb"},
    {file = "libsass-0.21.0-cp27-cp27m-win32.whl", hash = "sha256:a005f298f64624f313a3ac618ab03f844c71d84ae4f4a4aec4b68d2a4ffe75eb"},
    {file = "libsass-0.21.0-cp27-cp27m-win_amd64.whl", hash = "sha256:6b984510ed94993708c0d697b4fef2d118929bbfffc3b90037be0f5ccadf55e7"},
    {file = "libsass-0.21.0-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1e25dd9047a9392d3c59a0b869e0404f2b325a03871ee45285ee33b3664f5613"},
    {file = "libsass-0.21.0-cp36-abi3-macosx_10_14_x86_64.whl", hash = "sha256:12f39712de38689a8b785b7db41d3ba2ea1d46f9379d81ea4595802d91fa6529"},
    {file = "libsass-0.21.0-cp36-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e2b1a7d093f2e76dc694c17c0c285e846d0b0deb0e8b21dc852ba1a3a4e2f1d6"},
    {file = "libsass-0.21.0-cp36-abi3-win32.whl", hash = "sha256:abc29357ee540849faf1383e1746d40d69ed5cb6d4c346df276b258f5aa8977a"},
    {file = "libsass-0.21.0-cp36-abi3-win_amd64.whl", hash = "sha256:659ae41af8708681fa3ec73f47b9735a6725e71c3b66ff570bfce78952f2314e"},
    {file = "libsass-0.21.0.tar.gz", hash = "sha256:d5ba529d9ce668be9380563279f3ffe988f27bc5b299c5a28453df2e0b0fbaf2"},
    ]
    license-expression = [
    {file = "license-expression-1.2.tar.gz", hash = "sha256:7960e1dfdf20d127e75ead931476f2b5c7556df05b117a73880b22ade17d1abc"},
    {file = "license_expression-1.2-py2.py3-none-any.whl", hash = "sha256:6d97906380cecfc758a77f6d38c6760f2afade7e83d2b8295e234fe21f486fb8"},
    ]
    markupsafe = [
    {file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53"},
    {file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38"},
    {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad"},
    {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d"},
    {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646"},
    {file = "MarkupSafe-2.0.1-cp310-cp310-win32.whl", hash = "sha256:99df47edb6bda1249d3e80fdabb1dab8c08ef3975f69aed437cb69d0a5de1e28"},
    {file = "MarkupSafe-2.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:e0f138900af21926a02425cf736db95be9f4af72ba1bb21453432a07f6082134"},
    {file = "MarkupSafe-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51"},
    {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff"},
    {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b"},
    {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:f826e31d18b516f653fe296d967d700fddad5901ae07c622bb3705955e1faa94"},
    {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:fa130dd50c57d53368c9d59395cb5526eda596d3ffe36666cd81a44d56e48872"},
    {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:905fec760bd2fa1388bb5b489ee8ee5f7291d692638ea5f67982d968366bef9f"},
    {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf5d821ffabf0ef3533c39c518f3357b171a1651c1ff6827325e4489b0e46c3c"},
    {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0d4b31cc67ab36e3392bbf3862cfbadac3db12bdd8b02a2731f509ed5b829724"},
    {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:baa1a4e8f868845af802979fcdbf0bb11f94f1cb7ced4c4b8a351bb60d108145"},
    {file = "MarkupSafe-2.0.1-cp36-cp36m-win32.whl", hash = "sha256:6c4ca60fa24e85fe25b912b01e62cb969d69a23a5d5867682dd3e80b5b02581d"},
    {file = "MarkupSafe-2.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b2f4bf27480f5e5e8ce285a8c8fd176c0b03e93dcc6646477d4630e83440c6a9"},
    {file = "MarkupSafe-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0717a7390a68be14b8c793ba258e075c6f4ca819f15edfc2a3a027c823718567"},
    {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:6557b31b5e2c9ddf0de32a691f2312a32f77cd7681d8af66c2692efdbef84c18"},
    {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:49e3ceeabbfb9d66c3aef5af3a60cc43b85c33df25ce03d0031a608b0a8b2e3f"},
    {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:d7f9850398e85aba693bb640262d3611788b1f29a79f0c93c565694658f4071f"},
    {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:6a7fae0dd14cf60ad5ff42baa2e95727c3d81ded453457771d02b7d2b3f9c0c2"},
    {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:b7f2d075102dc8c794cbde1947378051c4e5180d52d276987b8d28a3bd58c17d"},
    {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9936f0b261d4df76ad22f8fee3ae83b60d7c3e871292cd42f40b81b70afae85"},
    {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2a7d351cbd8cfeb19ca00de495e224dea7e7d919659c2841bbb7f420ad03e2d6"},
    {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:60bf42e36abfaf9aff1f50f52644b336d4f0a3fd6d8a60ca0d054ac9f713a864"},
    {file = "MarkupSafe-2.0.1-cp37-cp37m-win32.whl", hash = "sha256:a30e67a65b53ea0a5e62fe23682cfe22712e01f453b95233b25502f7c61cb415"},
    {file = "MarkupSafe-2.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:611d1ad9a4288cf3e3c16014564df047fe08410e628f89805e475368bd304914"},
    {file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5bb28c636d87e840583ee3adeb78172efc47c8b26127267f54a9c0ec251d41a9"},
    {file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066"},
    {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35"},
    {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b"},
    {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298"},
    {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75"},
    {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb"},
    {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b"},
    {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5855f8438a7d1d458206a2466bf82b0f104a3724bf96a1c781ab731e4201731a"},
    {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3dd007d54ee88b46be476e293f48c85048603f5f516008bee124ddd891398ed6"},
    {file = "MarkupSafe-2.0.1-cp38-cp38-win32.whl", hash = "sha256:023cb26ec21ece8dc3907c0e8320058b2e0cb3c55cf9564da612bc325bed5e64"},
    {file = "MarkupSafe-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:984d76483eb32f1bcb536dc27e4ad56bba4baa70be32fa87152832cdd9db0833"},
    {file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26"},
    {file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3c112550557578c26af18a1ccc9e090bfe03832ae994343cfdacd287db6a6ae7"},
    {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:53edb4da6925ad13c07b6d26c2a852bd81e364f95301c66e930ab2aef5b5ddd8"},
    {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5"},
    {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135"},
    {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902"},
    {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509"},
    {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1"},
    {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:37205cac2a79194e3750b0af2a5720d95f786a55ce7df90c3af697bfa100eaac"},
    {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1f2ade76b9903f39aa442b4aadd2177decb66525062db244b35d71d0ee8599b6"},
    {file = "MarkupSafe-2.0.1-cp39-cp39-win32.whl", hash = "sha256:10f82115e21dc0dfec9ab5c0223652f7197feb168c940f3ef61563fc2d6beb74"},
    {file = "MarkupSafe-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8"},
    {file = "MarkupSafe-2.0.1.tar.gz", hash = "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a"},
    ]
    matplotlib-inline = [
    {file = "matplotlib-inline-0.1.3.tar.gz", hash = "sha256:a04bfba22e0d1395479f866853ec1ee28eea1485c1d69a6faf00dc3e24ff34ee"},
    {file = "matplotlib_inline-0.1.3-py3-none-any.whl", hash = "sha256:aed605ba3b72462d64d475a21a9296f400a19c4f74a31b59103d2a99ffd5aa5c"},
    ]
    mccabe = [
    {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"},
    {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"},
    ]
    mypy = [
    {file = "mypy-0.910-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:a155d80ea6cee511a3694b108c4494a39f42de11ee4e61e72bc424c490e46457"},
    {file = "mypy-0.910-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:b94e4b785e304a04ea0828759172a15add27088520dc7e49ceade7834275bedb"},
    {file = "mypy-0.910-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:088cd9c7904b4ad80bec811053272986611b84221835e079be5bcad029e79dd9"},
    {file = "mypy-0.910-cp35-cp35m-win_amd64.whl", hash = "sha256:adaeee09bfde366d2c13fe6093a7df5df83c9a2ba98638c7d76b010694db760e"},
    {file = "mypy-0.910-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:ecd2c3fe726758037234c93df7e98deb257fd15c24c9180dacf1ef829da5f921"},
    {file = "mypy-0.910-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:d9dd839eb0dc1bbe866a288ba3c1afc33a202015d2ad83b31e875b5905a079b6"},
    {file = "mypy-0.910-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:3e382b29f8e0ccf19a2df2b29a167591245df90c0b5a2542249873b5c1d78212"},
    {file = "mypy-0.910-cp36-cp36m-win_amd64.whl", hash = "sha256:53fd2eb27a8ee2892614370896956af2ff61254c275aaee4c230ae771cadd885"},
    {file = "mypy-0.910-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b6fb13123aeef4a3abbcfd7e71773ff3ff1526a7d3dc538f3929a49b42be03f0"},
    {file = "mypy-0.910-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:e4dab234478e3bd3ce83bac4193b2ecd9cf94e720ddd95ce69840273bf44f6de"},
    {file = "mypy-0.910-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:7df1ead20c81371ccd6091fa3e2878559b5c4d4caadaf1a484cf88d93ca06703"},
    {file = "mypy-0.910-cp37-cp37m-win_amd64.whl", hash = "sha256:0aadfb2d3935988ec3815952e44058a3100499f5be5b28c34ac9d79f002a4a9a"},
    {file = "mypy-0.910-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ec4e0cd079db280b6bdabdc807047ff3e199f334050db5cbb91ba3e959a67504"},
    {file = "mypy-0.910-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:119bed3832d961f3a880787bf621634ba042cb8dc850a7429f643508eeac97b9"},
    {file = "mypy-0.910-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:866c41f28cee548475f146aa4d39a51cf3b6a84246969f3759cb3e9c742fc072"},
    {file = "mypy-0.910-cp38-cp38-win_amd64.whl", hash = "sha256:ceb6e0a6e27fb364fb3853389607cf7eb3a126ad335790fa1e14ed02fba50811"},
    {file = "mypy-0.910-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1a85e280d4d217150ce8cb1a6dddffd14e753a4e0c3cf90baabb32cefa41b59e"},
    {file = "mypy-0.910-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:42c266ced41b65ed40a282c575705325fa7991af370036d3f134518336636f5b"},
    {file = "mypy-0.910-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:3c4b8ca36877fc75339253721f69603a9c7fdb5d4d5a95a1a1b899d8b86a4de2"},
    {file = "mypy-0.910-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:c0df2d30ed496a08de5daed2a9ea807d07c21ae0ab23acf541ab88c24b26ab97"},
    {file = "mypy-0.910-cp39-cp39-win_amd64.whl", hash = "sha256:c6c2602dffb74867498f86e6129fd52a2770c48b7cd3ece77ada4fa38f94eba8"},
    {file = "mypy-0.910-py3-none-any.whl", hash = "sha256:ef565033fa5a958e62796867b1df10c40263ea9ded87164d67572834e57a174d"},
    {file = "mypy-0.910.tar.gz", hash = "sha256:704098302473cb31a218f1775a873b376b30b4c18229421e9e9dc8916fd16150"},
    ]
    mypy-extensions = [
    {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"},
    {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"},
    ]
    mysqlclient = [
    {file = "mysqlclient-2.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:02c8826e6add9b20f4cb12dcf016485f7b1d6e30356a1204d05431867a1b3947"},
    {file = "mysqlclient-2.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:b62d23c11c516cedb887377c8807628c1c65d57593b57853186a6ee18b0c6a5b"},
    {file = "mysqlclient-2.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:2c8410f54492a3d2488a6a53e2d85b7e016751a1e7d116e7aea9c763f59f5e8c"},
    {file = "mysqlclient-2.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:e6279263d5a9feca3e0edbc2b2a52c057375bf301d47da2089c075ff76331d14"},
    {file = "mysqlclient-2.1.0.tar.gz", hash = "sha256:973235686f1b720536d417bf0a0d39b4ab3d5086b2b6ad5e6752393428c02b12"},
    ]
    oauthlib = [
    {file = "oauthlib-3.1.1-py2.py3-none-any.whl", hash = "sha256:42bf6354c2ed8c6acb54d971fce6f88193d97297e18602a3a886603f9d7730cc"},
    {file = "oauthlib-3.1.1.tar.gz", hash = "sha256:8f0215fcc533dd8dd1bee6f4c412d4f0cd7297307d43ac61666389e3bc3198a3"},
    ]
    outcome = [
    {file = "outcome-1.1.0-py2.py3-none-any.whl", hash = "sha256:c7dd9375cfd3c12db9801d080a3b63d4b0a261aa996c4c13152380587288d958"},
    {file = "outcome-1.1.0.tar.gz", hash = "sha256:e862f01d4e626e63e8f92c38d1f8d5546d3f9cce989263c521b2e7990d186967"},
    ]
    packaging = [
    {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"},
    {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"},
    ]
    parso = [
    {file = "parso-0.8.2-py2.py3-none-any.whl", hash = "sha256:a8c4922db71e4fdb90e0d0bc6e50f9b273d3397925e5e60a717e719201778d22"},
    {file = "parso-0.8.2.tar.gz", hash = "sha256:12b83492c6239ce32ff5eed6d3639d6a536170723c6f3f1506869f1ace413398"},
    ]
    parsy = [
    {file = "parsy-1.1.0-py3-none-any.whl", hash = "sha256:25bd5cea2954950ebbfdf71f8bdaf7fd45a5df5325fd36a1064be2204d9d4c94"},
    {file = "parsy-1.1.0.tar.gz", hash = "sha256:36173ba01a5372c7a1b32352cc73a279a49198f52252adf1c8c1ed41d1f94e8d"},
    ]
    pathspec = [
    {file = "pathspec-0.9.0-py2.py3-none-any.whl", hash = "sha256:7d15c4ddb0b5c802d161efc417ec1a2558ea2653c2e8ad9c19098201dc1c993a"},
    {file = "pathspec-0.9.0.tar.gz", hash = "sha256:e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1"},
    ]
    pbr = [
    {file = "pbr-5.8.0-py2.py3-none-any.whl", hash = "sha256:176e8560eaf61e127817ef93d8a844803abb27a4d4637f0ff3bb783129be2e0a"},
    {file = "pbr-5.8.0.tar.gz", hash = "sha256:672d8ebee84921862110f23fcec2acea191ef58543d34dfe9ef3d9f13c31cddf"},
    ]
    persisting-theory = [
    {file = "persisting-theory-0.2.1.tar.gz", hash = "sha256:00ff7dcc8f481ff75c770ca5797d968e8725b6df1f77fe0cf7d20fa1e5790c0a"},
    ]
    pexpect = [
    {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"},
    {file = "pexpect-4.8.0.tar.gz", hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"},
    ]
    pg8000 = [
    {file = "pg8000-1.23.0-py3-none-any.whl", hash = "sha256:e339f09f676629c0806c8dcc6fdc89ca6dba817e20702448c5172e85d133419d"},
    {file = "pg8000-1.23.0.tar.gz", hash = "sha256:a413e00141342813a2ca47e8b7b0549ff338cca02bc819076b6d70f12d755c79"},
    ]
    phonenumbers = [
    {file = "phonenumbers-8.12.37-py2.py3-none-any.whl", hash = "sha256:355956697047bc89efd89909373a0bdc50ac725c5613b2684a478d6b408a4010"},
    {file = "phonenumbers-8.12.37.tar.gz", hash = "sha256:dbc560992844a059f56c7c0c6a587904e65d956740bbfb7e39589980bc9055b8"},
    ]
    pickleshare = [
    {file = "pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"},
    {file = "pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"},
    ]
    pillow = [
    {file = "Pillow-8.4.0-cp310-cp310-macosx_10_10_universal2.whl", hash = "sha256:81f8d5c81e483a9442d72d182e1fb6dcb9723f289a57e8030811bac9ea3fef8d"},
    {file = "Pillow-8.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3f97cfb1e5a392d75dd8b9fd274d205404729923840ca94ca45a0af57e13dbe6"},
    {file = "Pillow-8.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb9fc393f3c61f9054e1ed26e6fe912c7321af2f41ff49d3f83d05bacf22cc78"},
    {file = "Pillow-8.4.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d82cdb63100ef5eedb8391732375e6d05993b765f72cb34311fab92103314649"},
    {file = "Pillow-8.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62cc1afda735a8d109007164714e73771b499768b9bb5afcbbee9d0ff374b43f"},
    {file = "Pillow-8.4.0-cp310-cp310-win32.whl", hash = "sha256:e3dacecfbeec9a33e932f00c6cd7996e62f53ad46fbe677577394aaa90ee419a"},
    {file = "Pillow-8.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:620582db2a85b2df5f8a82ddeb52116560d7e5e6b055095f04ad828d1b0baa39"},
    {file = "Pillow-8.4.0-cp36-cp36m-macosx_10_10_x86_64.whl", hash = "sha256:1bc723b434fbc4ab50bb68e11e93ce5fb69866ad621e3c2c9bdb0cd70e345f55"},
    {file = "Pillow-8.4.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:72cbcfd54df6caf85cc35264c77ede902452d6df41166010262374155947460c"},
    {file = "Pillow-8.4.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70ad9e5c6cb9b8487280a02c0ad8a51581dcbbe8484ce058477692a27c151c0a"},
    {file = "Pillow-8.4.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:25a49dc2e2f74e65efaa32b153527fc5ac98508d502fa46e74fa4fd678ed6645"},
    {file = "Pillow-8.4.0-cp36-cp36m-win32.whl", hash = "sha256:93ce9e955cc95959df98505e4608ad98281fff037350d8c2671c9aa86bcf10a9"},
    {file = "Pillow-8.4.0-cp36-cp36m-win_amd64.whl", hash = "sha256:2e4440b8f00f504ee4b53fe30f4e381aae30b0568193be305256b1462216feff"},
    {file = "Pillow-8.4.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:8c803ac3c28bbc53763e6825746f05cc407b20e4a69d0122e526a582e3b5e153"},
    {file = "Pillow-8.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c8a17b5d948f4ceeceb66384727dde11b240736fddeda54ca740b9b8b1556b29"},
    {file = "Pillow-8.4.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1394a6ad5abc838c5cd8a92c5a07535648cdf6d09e8e2d6df916dfa9ea86ead8"},
    {file = "Pillow-8.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:792e5c12376594bfcb986ebf3855aa4b7c225754e9a9521298e460e92fb4a488"},
    {file = "Pillow-8.4.0-cp37-cp37m-win32.whl", hash = "sha256:d99ec152570e4196772e7a8e4ba5320d2d27bf22fdf11743dd882936ed64305b"},
    {file = "Pillow-8.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:7b7017b61bbcdd7f6363aeceb881e23c46583739cb69a3ab39cb384f6ec82e5b"},
    {file = "Pillow-8.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:d89363f02658e253dbd171f7c3716a5d340a24ee82d38aab9183f7fdf0cdca49"},
    {file = "Pillow-8.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0a0956fdc5defc34462bb1c765ee88d933239f9a94bc37d132004775241a7585"},
    {file = "Pillow-8.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b7bb9de00197fb4261825c15551adf7605cf14a80badf1761d61e59da347779"},
    {file = "Pillow-8.4.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:72b9e656e340447f827885b8d7a15fc8c4e68d410dc2297ef6787eec0f0ea409"},
    {file = "Pillow-8.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5a4532a12314149d8b4e4ad8ff09dde7427731fcfa5917ff16d0291f13609df"},
    {file = "Pillow-8.4.0-cp38-cp38-win32.whl", hash = "sha256:82aafa8d5eb68c8463b6e9baeb4f19043bb31fefc03eb7b216b51e6a9981ae09"},
    {file = "Pillow-8.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:066f3999cb3b070a95c3652712cffa1a748cd02d60ad7b4e485c3748a04d9d76"},
    {file = "Pillow-8.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:5503c86916d27c2e101b7f71c2ae2cddba01a2cf55b8395b0255fd33fa4d1f1a"},
    {file = "Pillow-8.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4acc0985ddf39d1bc969a9220b51d94ed51695d455c228d8ac29fcdb25810e6e"},
    {file = "Pillow-8.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b052a619a8bfcf26bd8b3f48f45283f9e977890263e4571f2393ed8898d331b"},
    {file = "Pillow-8.4.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:493cb4e415f44cd601fcec11c99836f707bb714ab03f5ed46ac25713baf0ff20"},
    {file = "Pillow-8.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8831cb7332eda5dc89b21a7bce7ef6ad305548820595033a4b03cf3091235ed"},
    {file = "Pillow-8.4.0-cp39-cp39-win32.whl", hash = "sha256:5e9ac5f66616b87d4da618a20ab0a38324dbe88d8a39b55be8964eb520021e02"},
    {file = "Pillow-8.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:3eb1ce5f65908556c2d8685a8f0a6e989d887ec4057326f6c22b24e8a172c66b"},
    {file = "Pillow-8.4.0-pp36-pypy36_pp73-macosx_10_10_x86_64.whl", hash = "sha256:ddc4d832a0f0b4c52fff973a0d44b6c99839a9d016fe4e6a1cb8f3eea96479c2"},
    {file = "Pillow-8.4.0-pp36-pypy36_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9a3e5ddc44c14042f0844b8cf7d2cd455f6cc80fd7f5eefbe657292cf601d9ad"},
    {file = "Pillow-8.4.0-pp36-pypy36_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c70e94281588ef053ae8998039610dbd71bc509e4acbc77ab59d7d2937b10698"},
    {file = "Pillow-8.4.0-pp37-pypy37_pp73-macosx_10_10_x86_64.whl", hash = "sha256:3862b7256046fcd950618ed22d1d60b842e3a40a48236a5498746f21189afbbc"},
    {file = "Pillow-8.4.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a4901622493f88b1a29bd30ec1a2f683782e57c3c16a2dbc7f2595ba01f639df"},
    {file = "Pillow-8.4.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84c471a734240653a0ec91dec0996696eea227eafe72a33bd06c92697728046b"},
    {file = "Pillow-8.4.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:244cf3b97802c34c41905d22810846802a3329ddcb93ccc432870243211c79fc"},
    {file = "Pillow-8.4.0.tar.gz", hash = "sha256:b8e2f83c56e141920c39464b852de3719dfbfb6e3c99a2d8da0edf4fb33176ed"},
    ]
    platformdirs = [
    {file = "platformdirs-2.4.0-py3-none-any.whl", hash = "sha256:8868bbe3c3c80d42f20156f22e7131d2fb321f5bc86a2a345375c6481a67021d"},
    {file = "platformdirs-2.4.0.tar.gz", hash = "sha256:367a5e80b3d04d2428ffa76d33f124cf11e8fff2acdaa9b43d545f5c7d661ef2"},
    ]
    pluggy = [
    {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"},
    {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"},
    ]
    prometheus-client = [
    {file = "prometheus_client-0.12.0-py2.py3-none-any.whl", hash = "sha256:317453ebabff0a1b02df7f708efbab21e3489e7072b61cb6957230dd004a0af0"},
    {file = "prometheus_client-0.12.0.tar.gz", hash = "sha256:1b12ba48cee33b9b0b9de64a1047cbd3c5f2d0ab6ebcead7ddda613a750ec3c5"},
    ]
    prompt-toolkit = [
    {file = "prompt_toolkit-3.0.22-py3-none-any.whl", hash = "sha256:48d85cdca8b6c4f16480c7ce03fd193666b62b0a21667ca56b4bb5ad679d1170"},
    {file = "prompt_toolkit-3.0.22.tar.gz", hash = "sha256:449f333dd120bd01f5d296a8ce1452114ba3a71fae7288d2f0ae2c918764fa72"},
    ]
    psutil = [
    {file = "psutil-5.8.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:0066a82f7b1b37d334e68697faba68e5ad5e858279fd6351c8ca6024e8d6ba64"},
    {file = "psutil-5.8.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:0ae6f386d8d297177fd288be6e8d1afc05966878704dad9847719650e44fc49c"},
    {file = "psutil-5.8.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:12d844996d6c2b1d3881cfa6fa201fd635971869a9da945cf6756105af73d2df"},
    {file = "psutil-5.8.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:02b8292609b1f7fcb34173b25e48d0da8667bc85f81d7476584d889c6e0f2131"},
    {file = "psutil-5.8.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:6ffe81843131ee0ffa02c317186ed1e759a145267d54fdef1bc4ea5f5931ab60"},
    {file = "psutil-5.8.0-cp27-none-win32.whl", hash = "sha256:ea313bb02e5e25224e518e4352af4bf5e062755160f77e4b1767dd5ccb65f876"},
    {file = "psutil-5.8.0-cp27-none-win_amd64.whl", hash = "sha256:5da29e394bdedd9144c7331192e20c1f79283fb03b06e6abd3a8ae45ffecee65"},
    {file = "psutil-5.8.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:74fb2557d1430fff18ff0d72613c5ca30c45cdbfcddd6a5773e9fc1fe9364be8"},
    {file = "psutil-5.8.0-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:74f2d0be88db96ada78756cb3a3e1b107ce8ab79f65aa885f76d7664e56928f6"},
    {file = "psutil-5.8.0-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:99de3e8739258b3c3e8669cb9757c9a861b2a25ad0955f8e53ac662d66de61ac"},
    {file = "psutil-5.8.0-cp36-cp36m-win32.whl", hash = "sha256:36b3b6c9e2a34b7d7fbae330a85bf72c30b1c827a4366a07443fc4b6270449e2"},
    {file = "psutil-5.8.0-cp36-cp36m-win_amd64.whl", hash = "sha256:52de075468cd394ac98c66f9ca33b2f54ae1d9bff1ef6b67a212ee8f639ec06d"},
    {file = "psutil-5.8.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c6a5fd10ce6b6344e616cf01cc5b849fa8103fbb5ba507b6b2dee4c11e84c935"},
    {file = "psutil-5.8.0-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:61f05864b42fedc0771d6d8e49c35f07efd209ade09a5afe6a5059e7bb7bf83d"},
    {file = "psutil-5.8.0-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:0dd4465a039d343925cdc29023bb6960ccf4e74a65ad53e768403746a9207023"},
    {file = "psutil-5.8.0-cp37-cp37m-win32.whl", hash = "sha256:1bff0d07e76114ec24ee32e7f7f8d0c4b0514b3fae93e3d2aaafd65d22502394"},
    {file = "psutil-5.8.0-cp37-cp37m-win_amd64.whl", hash = "sha256:fcc01e900c1d7bee2a37e5d6e4f9194760a93597c97fee89c4ae51701de03563"},
    {file = "psutil-5.8.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6223d07a1ae93f86451d0198a0c361032c4c93ebd4bf6d25e2fb3edfad9571ef"},
    {file = "psutil-5.8.0-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:d225cd8319aa1d3c85bf195c4e07d17d3cd68636b8fc97e6cf198f782f99af28"},
    {file = "psutil-5.8.0-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:28ff7c95293ae74bf1ca1a79e8805fcde005c18a122ca983abf676ea3466362b"},
    {file = "psutil-5.8.0-cp38-cp38-win32.whl", hash = "sha256:ce8b867423291cb65cfc6d9c4955ee9bfc1e21fe03bb50e177f2b957f1c2469d"},
    {file = "psutil-5.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:90f31c34d25b1b3ed6c40cdd34ff122b1887a825297c017e4cbd6796dd8b672d"},
    {file = "psutil-5.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6323d5d845c2785efb20aded4726636546b26d3b577aded22492908f7c1bdda7"},
    {file = "psutil-5.8.0-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:245b5509968ac0bd179287d91210cd3f37add77dad385ef238b275bad35fa1c4"},
    {file = "psutil-5.8.0-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:90d4091c2d30ddd0a03e0b97e6a33a48628469b99585e2ad6bf21f17423b112b"},
    {file = "psutil-5.8.0-cp39-cp39-win32.whl", hash = "sha256:ea372bcc129394485824ae3e3ddabe67dc0b118d262c568b4d2602a7070afdb0"},
    {file = "psutil-5.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:f4634b033faf0d968bb9220dd1c793b897ab7f1189956e1aa9eae752527127d3"},
    {file = "psutil-5.8.0.tar.gz", hash = "sha256:0c9ccb99ab76025f2f0bbecf341d4656e9c1351db8cc8a03ccd62e318ab4b5c6"},
    ]
    psycopg2 = [
    {file = "psycopg2-2.9.2-cp310-cp310-win32.whl", hash = "sha256:6796ac614412ce374587147150e56d03b7845c9e031b88aacdcadc880e81bb38"},
    {file = "psycopg2-2.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:dfc32db6ce9ecc35a131320888b547199f79822b028934bb5b332f4169393e15"},
    {file = "psycopg2-2.9.2-cp36-cp36m-win32.whl", hash = "sha256:77d09a79f9739b97099d2952bbbf18eaa4eaf825362387acbb9552ec1b3fa228"},
    {file = "psycopg2-2.9.2-cp36-cp36m-win_amd64.whl", hash = "sha256:f65cba7924363e0d2f416041b48ff69d559548f2cb168ff972c54e09e1e64db8"},
    {file = "psycopg2-2.9.2-cp37-cp37m-win32.whl", hash = "sha256:b8816c6410fa08d2a022e4e38d128bae97c1855e176a00493d6ec62ccd606d57"},
    {file = "psycopg2-2.9.2-cp37-cp37m-win_amd64.whl", hash = "sha256:26322c3f114de1f60c1b0febf8fdd595c221b4f624524178f515d07350a71bd1"},
    {file = "psycopg2-2.9.2-cp38-cp38-win32.whl", hash = "sha256:77b9105ef37bc005b8ffbcb1ed6d8685bb0e8ce84773738aa56421a007ec5a7a"},
    {file = "psycopg2-2.9.2-cp38-cp38-win_amd64.whl", hash = "sha256:91c7fd0fe9e6c118e8ff5b665bc3445781d3615fa78e131d0b4f8c85e8ca9ec8"},
    {file = "psycopg2-2.9.2-cp39-cp39-win32.whl", hash = "sha256:a761b60da0ecaf6a9866985bcde26327883ac3cdb90535ab68b8d784f02b05ef"},
    {file = "psycopg2-2.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:fd7ddab7d6afee4e21c03c648c8b667b197104713e57ec404d5b74097af21e31"},
    {file = "psycopg2-2.9.2.tar.gz", hash = "sha256:a84da9fa891848e0270e8e04dcca073bc9046441eeb47069f5c0e36783debbea"},
    ]
    ptyprocess = [
    {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"},
    {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"},
    ]
    py = [
    {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"},
    {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"},
    ]
    pycodestyle = [
    {file = "pycodestyle-2.8.0-py2.py3-none-any.whl", hash = "sha256:720f8b39dde8b293825e7ff02c475f3077124006db4f440dcbc9a20b76548a20"},
    {file = "pycodestyle-2.8.0.tar.gz", hash = "sha256:eddd5847ef438ea1c7870ca7eb78a9d47ce0cdb4851a5523949f2601d0cbbe7f"},
    ]
    pycparser = [
    {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"},
    {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"},
    ]
    pycryptodome = [
    {file = "pycryptodome-3.11.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ffd0cac13ff41f2d15ed39dc6ba1d2ad88dd2905d656c33d8235852f5d6151fd"},
    {file = "pycryptodome-3.11.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:ead516e03dfe062aefeafe4a29445a6449b0fc43bc8cb30194b2754917a63798"},
    {file = "pycryptodome-3.11.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:4ce6b09547bf2c7cede3a017f79502eaed3e819c13cdb3cb357aea1b004e4cc6"},
    {file = "pycryptodome-3.11.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:014c758af7fa38cab85b357a496b76f4fc9dda1f731eb28358d66fef7ad4a3e1"},
    {file = "pycryptodome-3.11.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:a843350d08c3d22f6c09c2f17f020d8dcfa59496165d7425a3fba0045543dda7"},
    {file = "pycryptodome-3.11.0-cp27-cp27m-manylinux2014_aarch64.whl", hash = "sha256:53989477044be41fa4a63da09d5038c2a34b2f4554cfea2e3933b17186ee9e19"},
    {file = "pycryptodome-3.11.0-cp27-cp27m-win32.whl", hash = "sha256:f9bad2220b80b4ed74f089db012ab5ab5419143a33fad6c8aedcc2a9341eac70"},
    {file = "pycryptodome-3.11.0-cp27-cp27m-win_amd64.whl", hash = "sha256:3c7ed5b07274535979c730daf5817db5e983ea80b04c22579eee8da4ca3ae4f8"},
    {file = "pycryptodome-3.11.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:8f3a60926be78422e662b0d0b18351b426ce27657101c8a50bad80300de6a701"},
    {file = "pycryptodome-3.11.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:fce7e22d96030b35345637c563246c24d4513bd3b413e1c40293114837ab8912"},
    {file = "pycryptodome-3.11.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:bc3c61ff92efdcc14af4a7b81da71d849c9acee51d8fd8ac9841a7620140d6c6"},
    {file = "pycryptodome-3.11.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:b33c9b3d1327d821e28e9cc3a6512c14f8b17570ddb4cfb9a52247ed0fcc5d8b"},
    {file = "pycryptodome-3.11.0-cp27-cp27mu-manylinux2014_aarch64.whl", hash = "sha256:75e78360d1dd6d02eb288fd8275bb4d147d6e3f5337935c096d11dba1fa84748"},
    {file = "pycryptodome-3.11.0-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:621a90147a5e255fdc2a0fec2d56626b76b5d72ea9e60164c9a5a8976d45b0c9"},
    {file = "pycryptodome-3.11.0-cp35-abi3-manylinux1_i686.whl", hash = "sha256:0ca7a6b4fc1f9fafe990b95c8cda89099797e2cfbf40e55607f2f2f5a3355dcb"},
    {file = "pycryptodome-3.11.0-cp35-abi3-manylinux1_x86_64.whl", hash = "sha256:b59bf823cfafde8ef1105d8984f26d1694dff165adb7198b12e3e068d7999b15"},
    {file = "pycryptodome-3.11.0-cp35-abi3-manylinux2010_i686.whl", hash = "sha256:ce81b9c6aaa0f920e2ab05eb2b9f4ccd102e3016b2f37125593b16a83a4b0cc2"},
    {file = "pycryptodome-3.11.0-cp35-abi3-manylinux2010_x86_64.whl", hash = "sha256:ae29fcd56152f417bfba50a36a56a7a5f9fb74ff80bab98704cac704de6568ab"},
    {file = "pycryptodome-3.11.0-cp35-abi3-manylinux2014_aarch64.whl", hash = "sha256:ae31cb874f6f0cedbed457c6374e7e54d7ed45c1a4e11a65a9c80968da90a650"},
    {file = "pycryptodome-3.11.0-cp35-abi3-win32.whl", hash = "sha256:6db1f9fa1f52226621905f004278ce7bd90c8f5363ffd5d7ab3755363d98549a"},
    {file = "pycryptodome-3.11.0-cp35-abi3-win_amd64.whl", hash = "sha256:d7e5f6f692421e5219aa3b545eb0cffd832cd589a4b9dcd4a5eb4260e2c0d68a"},
    {file = "pycryptodome-3.11.0-pp27-pypy_73-macosx_10_9_x86_64.whl", hash = "sha256:da796e9221dda61a0019d01742337eb8a322de8598b678a4344ca0a436380315"},
    {file = "pycryptodome-3.11.0-pp27-pypy_73-manylinux1_x86_64.whl", hash = "sha256:ed45ef92d21db33685b789de2c015e9d9a18a74760a8df1fc152faee88cdf741"},
    {file = "pycryptodome-3.11.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:4169ed515742425ff21e4bd3fabbb6994ffb64434472fb72230019bdfa36b939"},
    {file = "pycryptodome-3.11.0-pp27-pypy_73-win32.whl", hash = "sha256:f19edd42368e9057c39492947bb99570dc927123e210008f2af7cf9b505c6892"},
    {file = "pycryptodome-3.11.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl", hash = "sha256:06162fcfed2f9deee8383fd59eaeabc7b7ffc3af50d3fad4000032deb8f700b0"},
    {file = "pycryptodome-3.11.0-pp36-pypy36_pp73-manylinux1_x86_64.whl", hash = "sha256:6eda8a3157c91ba60b26a07bedd6c44ab8bda6cd79b6b5ea9744ba62c39b7b1e"},
    {file = "pycryptodome-3.11.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:7ff701fc283412e651eaab4319b3cd4eaa0827e94569cd37ee9075d5c05fe655"},
    {file = "pycryptodome-3.11.0-pp36-pypy36_pp73-win32.whl", hash = "sha256:2a4bcc8a9977fee0979079cd33a9e9f0d3ddba5660d35ffe874cf84f1dd399d2"},
    {file = "pycryptodome-3.11.0.tar.gz", hash = "sha256:428096bbf7a77e207f418dfd4d7c284df8ade81d2dc80f010e92753a3e406ad0"},
    ]
    pydocstyle = [
    {file = "pydocstyle-6.1.1-py3-none-any.whl", hash = "sha256:6987826d6775056839940041beef5c08cc7e3d71d63149b48e36727f70144dc4"},
    {file = "pydocstyle-6.1.1.tar.gz", hash = "sha256:1d41b7c459ba0ee6c345f2eb9ae827cab14a7533a88c5c6f7e94923f72df92dc"},
    ]
    pyflakes = [
    {file = "pyflakes-2.4.0-py2.py3-none-any.whl", hash = "sha256:3bb3a3f256f4b7968c9c788781e4ff07dce46bdf12339dcda61053375426ee2e"},
    {file = "pyflakes-2.4.0.tar.gz", hash = "sha256:05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c"},
    ]
    pygments = [
    {file = "Pygments-2.10.0-py3-none-any.whl", hash = "sha256:b8e67fe6af78f492b3c4b3e2970c0624cbf08beb1e493b2c99b9fa1b67a20380"},
    {file = "Pygments-2.10.0.tar.gz", hash = "sha256:f398865f7eb6874156579fdf36bc840a03cab64d1cde9e93d68f46a425ec52c6"},
    ]
    pyjwt = [
    {file = "PyJWT-2.3.0-py3-none-any.whl", hash = "sha256:e0c4bb8d9f0af0c7f5b1ec4c5036309617d03d56932877f2f7a0beeb5318322f"},
    {file = "PyJWT-2.3.0.tar.gz", hash = "sha256:b888b4d56f06f6dcd777210c334e69c737be74755d3e5e9ee3fe67dc18a0ee41"},
    ]
    pyopenssl = [
    {file = "pyOpenSSL-21.0.0-py2.py3-none-any.whl", hash = "sha256:8935bd4920ab9abfebb07c41a4f58296407ed77f04bd1a92914044b848ba1ed6"},
    {file = "pyOpenSSL-21.0.0.tar.gz", hash = "sha256:5e2d8c5e46d0d865ae933bef5230090bdaf5506281e9eec60fa250ee80600cb3"},
    ]
    pyparsing = [
    {file = "pyparsing-3.0.6-py3-none-any.whl", hash = "sha256:04ff808a5b90911829c55c4e26f75fa5ca8a2f5f36aa3a51f68e27033341d3e4"},
    {file = "pyparsing-3.0.6.tar.gz", hash = "sha256:d9bdec0013ef1eb5a84ab39a3b3868911598afa494f5faa038647101504e2b81"},
    ]
    pytest = [
    {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"},
    {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"},
    ]
    pytest-cov = [
    {file = "pytest-cov-3.0.0.tar.gz", hash = "sha256:e7f0f5b1617d2210a2cabc266dfe2f4c75a8d32fb89eafb7ad9d06f6d076d470"},
    {file = "pytest_cov-3.0.0-py3-none-any.whl", hash = "sha256:578d5d15ac4a25e5f961c938b85a05b09fdaae9deef3bb6de9a6e766622ca7a6"},
    ]
    pytest-django = [
    {file = "pytest-django-4.4.0.tar.gz", hash = "sha256:b5171e3798bf7e3fc5ea7072fe87324db67a4dd9f1192b037fed4cc3c1b7f455"},
    {file = "pytest_django-4.4.0-py3-none-any.whl", hash = "sha256:65783e78382456528bd9d79a35843adde9e6a47347b20464eb2c885cb0f1f606"},
    ]
    pytest-django-testing-postgresql = [
    {file = "pytest-django-testing-postgresql-0.1.post0.tar.gz", hash = "sha256:78b0c58930084cb4393407b2e5a2a3b8734c627b841ecef7d62d39bbfb8e8a45"},
    {file = "pytest_django_testing_postgresql-0.1.post0-py3-none-any.whl", hash = "sha256:78e52e3d1b0ef5f906d5d69247dd6ac7dfb10d840bd81abab92f3f8c30872cd3"},
    ]
    pytest-sugar = [
    {file = "pytest-sugar-0.9.4.tar.gz", hash = "sha256:b1b2186b0a72aada6859bea2a5764145e3aaa2c1cfbb23c3a19b5f7b697563d3"},
    ]
    python-crontab = [
    {file = "python-crontab-2.6.0.tar.gz", hash = "sha256:1e35ed7a3cdc3100545b43e196d34754e6551e7f95e4caebbe0e1c0ca41c2f1b"},
    ]
    python-dateutil = [
    {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"},
    {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"},
    ]
    python-gnupg = [
    {file = "python-gnupg-0.4.7.tar.gz", hash = "sha256:2061f56b1942c29b92727bf9aecbd3cea3893acc9cccbdc7eb4604285efe4ac7"},
    {file = "python_gnupg-0.4.7-py2.py3-none-any.whl", hash = "sha256:3ff5b1bf5e397de6e1fe41a7c0f403dad4e242ac92b345f440eaecfb72a7ebae"},
    ]
    python3-openid = [
    {file = "python3-openid-3.2.0.tar.gz", hash = "sha256:33fbf6928f401e0b790151ed2b5290b02545e8775f982485205a066f874aaeaf"},
    {file = "python3_openid-3.2.0-py3-none-any.whl", hash = "sha256:6626f771e0417486701e0b4daff762e7212e820ca5b29fcc0d05f6f8736dfa6b"},
    ]
    pytz = [
    {file = "pytz-2021.3-py2.py3-none-any.whl", hash = "sha256:3672058bc3453457b622aab7a1c3bfd5ab0bdae451512f6cf25f64ed37f5b87c"},
    {file = "pytz-2021.3.tar.gz", hash = "sha256:acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326"},
    ]
    pyyaml = [
    {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"},
    {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"},
    {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"},
    {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b"},
    {file = "PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"},
    {file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"},
    {file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"},
    {file = "PyYAML-6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86"},
    {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f"},
    {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92"},
    {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4"},
    {file = "PyYAML-6.0-cp36-cp36m-win32.whl", hash = "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293"},
    {file = "PyYAML-6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57"},
    {file = "PyYAML-6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c"},
    {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0"},
    {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4"},
    {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9"},
    {file = "PyYAML-6.0-cp37-cp37m-win32.whl", hash = "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737"},
    {file = "PyYAML-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d"},
    {file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"},
    {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"},
    {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"},
    {file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"},
    {file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"},
    {file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"},
    {file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"},
    {file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"},
    {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"},
    {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"},
    {file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"},
    {file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"},
    {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"},
    {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"},
    ]
    qrcode = [
    {file = "qrcode-6.1-py2.py3-none-any.whl", hash = "sha256:3996ee560fc39532910603704c82980ff6d4d5d629f9c3f25f34174ce8606cf5"},
    {file = "qrcode-6.1.tar.gz", hash = "sha256:505253854f607f2abf4d16092c61d4e9d511a3b4392e60bff957a68592b04369"},
    ]
    redis = [
    {file = "redis-3.5.3-py2.py3-none-any.whl", hash = "sha256:432b788c4530cfe16d8d943a09d40ca6c16149727e4afe8c2c9d5580c59d9f24"},
    {file = "redis-3.5.3.tar.gz", hash = "sha256:0e7e0cfca8660dea8b7d5cd8c4f6c5e29e11f31158c0b0ae91a397f00e5a05a2"},
    ]
    regex = [
    {file = "regex-2021.11.10-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9345b6f7ee578bad8e475129ed40123d265464c4cfead6c261fd60fc9de00bcf"},
    {file = "regex-2021.11.10-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:416c5f1a188c91e3eb41e9c8787288e707f7d2ebe66e0a6563af280d9b68478f"},
    {file = "regex-2021.11.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e0538c43565ee6e703d3a7c3bdfe4037a5209250e8502c98f20fea6f5fdf2965"},
    {file = "regex-2021.11.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ee1227cf08b6716c85504aebc49ac827eb88fcc6e51564f010f11a406c0a667"},
    {file = "regex-2021.11.10-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6650f16365f1924d6014d2ea770bde8555b4a39dc9576abb95e3cd1ff0263b36"},
    {file = "regex-2021.11.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:30ab804ea73972049b7a2a5c62d97687d69b5a60a67adca07eb73a0ddbc9e29f"},
    {file = "regex-2021.11.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:68a067c11463de2a37157930d8b153005085e42bcb7ad9ca562d77ba7d1404e0"},
    {file = "regex-2021.11.10-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:162abfd74e88001d20cb73ceaffbfe601469923e875caf9118333b1a4aaafdc4"},
    {file = "regex-2021.11.10-cp310-cp310-win32.whl", hash = "sha256:98ba568e8ae26beb726aeea2273053c717641933836568c2a0278a84987b2a1a"},
    {file = "regex-2021.11.10-cp310-cp310-win_amd64.whl", hash = "sha256:780b48456a0f0ba4d390e8b5f7c661fdd218934388cde1a974010a965e200e12"},
    {file = "regex-2021.11.10-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:dba70f30fd81f8ce6d32ddeef37d91c8948e5d5a4c63242d16a2b2df8143aafc"},
    {file = "regex-2021.11.10-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1f54b9b4b6c53369f40028d2dd07a8c374583417ee6ec0ea304e710a20f80a0"},
    {file = "regex-2021.11.10-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fbb9dc00e39f3e6c0ef48edee202f9520dafb233e8b51b06b8428cfcb92abd30"},
    {file = "regex-2021.11.10-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:666abff54e474d28ff42756d94544cdfd42e2ee97065857413b72e8a2d6a6345"},
    {file = "regex-2021.11.10-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5537f71b6d646f7f5f340562ec4c77b6e1c915f8baae822ea0b7e46c1f09b733"},
    {file = "regex-2021.11.10-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed2e07c6a26ed4bea91b897ee2b0835c21716d9a469a96c3e878dc5f8c55bb23"},
    {file = "regex-2021.11.10-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ca5f18a75e1256ce07494e245cdb146f5a9267d3c702ebf9b65c7f8bd843431e"},
    {file = "regex-2021.11.10-cp36-cp36m-win32.whl", hash = "sha256:93a5051fcf5fad72de73b96f07d30bc29665697fb8ecdfbc474f3452c78adcf4"},
    {file = "regex-2021.11.10-cp36-cp36m-win_amd64.whl", hash = "sha256:b483c9d00a565633c87abd0aaf27eb5016de23fed952e054ecc19ce32f6a9e7e"},
    {file = "regex-2021.11.10-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:fff55f3ce50a3ff63ec8e2a8d3dd924f1941b250b0aac3d3d42b687eeff07a8e"},
    {file = "regex-2021.11.10-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e32d2a2b02ccbef10145df9135751abea1f9f076e67a4e261b05f24b94219e36"},
    {file = "regex-2021.11.10-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:53db2c6be8a2710b359bfd3d3aa17ba38f8aa72a82309a12ae99d3c0c3dcd74d"},
    {file = "regex-2021.11.10-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2207ae4f64ad3af399e2d30dde66f0b36ae5c3129b52885f1bffc2f05ec505c8"},
    {file = "regex-2021.11.10-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5ca078bb666c4a9d1287a379fe617a6dccd18c3e8a7e6c7e1eb8974330c626a"},
    {file = "regex-2021.11.10-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd33eb9bdcfbabab3459c9ee651d94c842bc8a05fabc95edf4ee0c15a072495e"},
    {file = "regex-2021.11.10-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:05b7d6d7e64efe309972adab77fc2af8907bb93217ec60aa9fe12a0dad35874f"},
    {file = "regex-2021.11.10-cp37-cp37m-win32.whl", hash = "sha256:e71255ba42567d34a13c03968736c5d39bb4a97ce98188fafb27ce981115beec"},
    {file = "regex-2021.11.10-cp37-cp37m-win_amd64.whl", hash = "sha256:07856afef5ffcc052e7eccf3213317fbb94e4a5cd8177a2caa69c980657b3cb4"},
    {file = "regex-2021.11.10-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ba05430e819e58544e840a68b03b28b6d328aff2e41579037e8bab7653b37d83"},
    {file = "regex-2021.11.10-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7f301b11b9d214f83ddaf689181051e7f48905568b0c7017c04c06dfd065e244"},
    {file = "regex-2021.11.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aaa4e0705ef2b73dd8e36eeb4c868f80f8393f5f4d855e94025ce7ad8525f50"},
    {file = "regex-2021.11.10-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:788aef3549f1924d5c38263104dae7395bf020a42776d5ec5ea2b0d3d85d6646"},
    {file = "regex-2021.11.10-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f8af619e3be812a2059b212064ea7a640aff0568d972cd1b9e920837469eb3cb"},
    {file = "regex-2021.11.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85bfa6a5413be0ee6c5c4a663668a2cad2cbecdee367630d097d7823041bdeec"},
    {file = "regex-2021.11.10-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f23222527b307970e383433daec128d769ff778d9b29343fb3496472dc20dabe"},
    {file = "regex-2021.11.10-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:da1a90c1ddb7531b1d5ff1e171b4ee61f6345119be7351104b67ff413843fe94"},
    {file = "regex-2021.11.10-cp38-cp38-win32.whl", hash = "sha256:0617383e2fe465732af4509e61648b77cbe3aee68b6ac8c0b6fe934db90be5cc"},
    {file = "regex-2021.11.10-cp38-cp38-win_amd64.whl", hash = "sha256:a3feefd5e95871872673b08636f96b61ebef62971eab044f5124fb4dea39919d"},
    {file = "regex-2021.11.10-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f7f325be2804246a75a4f45c72d4ce80d2443ab815063cdf70ee8fb2ca59ee1b"},
    {file = "regex-2021.11.10-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:537ca6a3586931b16a85ac38c08cc48f10fc870a5b25e51794c74df843e9966d"},
    {file = "regex-2021.11.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eef2afb0fd1747f33f1ee3e209bce1ed582d1896b240ccc5e2697e3275f037c7"},
    {file = "regex-2021.11.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:432bd15d40ed835a51617521d60d0125867f7b88acf653e4ed994a1f8e4995dc"},
    {file = "regex-2021.11.10-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b43c2b8a330a490daaef5a47ab114935002b13b3f9dc5da56d5322ff218eeadb"},
    {file = "regex-2021.11.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:962b9a917dd7ceacbe5cd424556914cb0d636001e393b43dc886ba31d2a1e449"},
    {file = "regex-2021.11.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa8c626d6441e2d04b6ee703ef2d1e17608ad44c7cb75258c09dd42bacdfc64b"},
    {file = "regex-2021.11.10-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3c5fb32cc6077abad3bbf0323067636d93307c9fa93e072771cf9a64d1c0f3ef"},
    {file = "regex-2021.11.10-cp39-cp39-win32.whl", hash = "sha256:3b5df18db1fccd66de15aa59c41e4f853b5df7550723d26aa6cb7f40e5d9da5a"},
    {file = "regex-2021.11.10-cp39-cp39-win_amd64.whl", hash = "sha256:83ee89483672b11f8952b158640d0c0ff02dc43d9cb1b70c1564b49abe92ce29"},
    {file = "regex-2021.11.10.tar.gz", hash = "sha256:f341ee2df0999bfdf7a95e448075effe0db212a59387de1a70690e4acb03d4c6"},
    ]
    requests = [
    {file = "requests-2.26.0-py2.py3-none-any.whl", hash = "sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24"},
    {file = "requests-2.26.0.tar.gz", hash = "sha256:b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7"},
    ]
    requests-oauthlib = [
    {file = "requests-oauthlib-1.3.0.tar.gz", hash = "sha256:b4261601a71fd721a8bd6d7aa1cc1d6a8a93b4a9f5e96626f8e4d91e8beeaa6a"},
    {file = "requests_oauthlib-1.3.0-py2.py3-none-any.whl", hash = "sha256:7f71572defaecd16372f9006f33c2ec8c077c3cfa6f5911a9a90202beb513f3d"},
    {file = "requests_oauthlib-1.3.0-py3.7.egg", hash = "sha256:fa6c47b933f01060936d87ae9327fead68768b69c6c9ea2109c48be30f2d4dbc"},
    ]
    restructuredtext-lint = [
    {file = "restructuredtext_lint-1.3.2.tar.gz", hash = "sha256:d3b10a1fe2ecac537e51ae6d151b223b78de9fafdd50e5eb6b08c243df173c80"},
    ]
    "ruamel.yaml" = [
    {file = "ruamel.yaml-0.17.17-py3-none-any.whl", hash = "sha256:9af3ec5d7f8065582f3aa841305465025d0afd26c5fb54e15b964e11838fc74f"},
    {file = "ruamel.yaml-0.17.17.tar.gz", hash = "sha256:9751de4cbb57d4bfbf8fc394e125ed4a2f170fbff3dc3d78abf50be85924f8be"},
    ]
    "ruamel.yaml.clib" = [
    {file = "ruamel.yaml.clib-0.2.6-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:cfdb9389d888c5b74af297e51ce357b800dd844898af9d4a547ffc143fa56751"},
    {file = "ruamel.yaml.clib-0.2.6-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:7b2927e92feb51d830f531de4ccb11b320255ee95e791022555971c466af4527"},
    {file = "ruamel.yaml.clib-0.2.6-cp35-cp35m-win32.whl", hash = "sha256:ada3f400d9923a190ea8b59c8f60680c4ef8a4b0dfae134d2f2ff68429adfab5"},
    {file = "ruamel.yaml.clib-0.2.6-cp35-cp35m-win_amd64.whl", hash = "sha256:de9c6b8a1ba52919ae919f3ae96abb72b994dd0350226e28f3686cb4f142165c"},
    {file = "ruamel.yaml.clib-0.2.6-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d67f273097c368265a7b81e152e07fb90ed395df6e552b9fa858c6d2c9f42502"},
    {file = "ruamel.yaml.clib-0.2.6-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:72a2b8b2ff0a627496aad76f37a652bcef400fd861721744201ef1b45199ab78"},
    {file = "ruamel.yaml.clib-0.2.6-cp36-cp36m-win32.whl", hash = "sha256:9efef4aab5353387b07f6b22ace0867032b900d8e91674b5d8ea9150db5cae94"},
    {file = "ruamel.yaml.clib-0.2.6-cp36-cp36m-win_amd64.whl", hash = "sha256:846fc8336443106fe23f9b6d6b8c14a53d38cef9a375149d61f99d78782ea468"},
    {file = "ruamel.yaml.clib-0.2.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0847201b767447fc33b9c235780d3aa90357d20dd6108b92be544427bea197dd"},
    {file = "ruamel.yaml.clib-0.2.6-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:78988ed190206672da0f5d50c61afef8f67daa718d614377dcd5e3ed85ab4a99"},
    {file = "ruamel.yaml.clib-0.2.6-cp37-cp37m-win32.whl", hash = "sha256:a49e0161897901d1ac9c4a79984b8410f450565bbad64dbfcbf76152743a0cdb"},
    {file = "ruamel.yaml.clib-0.2.6-cp37-cp37m-win_amd64.whl", hash = "sha256:bf75d28fa071645c529b5474a550a44686821decebdd00e21127ef1fd566eabe"},
    {file = "ruamel.yaml.clib-0.2.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a32f8d81ea0c6173ab1b3da956869114cae53ba1e9f72374032e33ba3118c233"},
    {file = "ruamel.yaml.clib-0.2.6-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7f7ecb53ae6848f959db6ae93bdff1740e651809780822270eab111500842a84"},
    {file = "ruamel.yaml.clib-0.2.6-cp38-cp38-win32.whl", hash = "sha256:89221ec6d6026f8ae859c09b9718799fea22c0e8da8b766b0b2c9a9ba2db326b"},
    {file = "ruamel.yaml.clib-0.2.6-cp38-cp38-win_amd64.whl", hash = "sha256:31ea73e564a7b5fbbe8188ab8b334393e06d997914a4e184975348f204790277"},
    {file = "ruamel.yaml.clib-0.2.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dc6a613d6c74eef5a14a214d433d06291526145431c3b964f5e16529b1842bed"},
    {file = "ruamel.yaml.clib-0.2.6-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:1866cf2c284a03b9524a5cc00daca56d80057c5ce3cdc86a52020f4c720856f0"},
    {file = "ruamel.yaml.clib-0.2.6-cp39-cp39-win32.whl", hash = "sha256:3fb9575a5acd13031c57a62cc7823e5d2ff8bc3835ba4d94b921b4e6ee664104"},
    {file = "ruamel.yaml.clib-0.2.6-cp39-cp39-win_amd64.whl", hash = "sha256:825d5fccef6da42f3c8eccd4281af399f21c02b32d98e113dbc631ea6a6ecbc7"},
    {file = "ruamel.yaml.clib-0.2.6.tar.gz", hash = "sha256:4ff604ce439abb20794f05613c374759ce10e3595d1867764dd1ae675b85acbd"},
    ]
    rules = [
    {file = "rules-3.0-py2.py3-none-any.whl", hash = "sha256:8194937b537c8a384eafe21750f1d396e1aecdc833e7d06808a5b805ae42a852"},
    {file = "rules-3.0.tar.gz", hash = "sha256:9141e2fdb7f300fcb59f2f06619fe4ff52bb846eb112ba8c30444f971d6af05e"},
    ]
    safety = [
    {file = "safety-1.10.3-py2.py3-none-any.whl", hash = "sha256:5f802ad5df5614f9622d8d71fedec2757099705c2356f862847c58c6dfe13e84"},
    {file = "safety-1.10.3.tar.gz", hash = "sha256:30e394d02a20ac49b7f65292d19d38fa927a8f9582cdfd3ad1adbbc66c641ad5"},
    ]
    scramp = [
    {file = "scramp-1.4.1-py3-none-any.whl", hash = "sha256:93c9cc2ffe54a451e02981c07a5a23cbd830701102789939cfb4ff91efd6ca8c"},
    {file = "scramp-1.4.1.tar.gz", hash = "sha256:f964801077be9be2a1416ffe255d2d78834b3d9d5c8ce5d28f76a856f209f70e"},
    ]
    selenium = [
    {file = "selenium-4.1.0-py3-none-any.whl", hash = "sha256:27e7b64df961d609f3d57237caa0df123abbbe22d038f2ec9e332fb90ec1a939"},
    ]
    sentry-sdk = [
    {file = "sentry-sdk-1.5.0.tar.gz", hash = "sha256:789a11a87ca02491896e121efdd64e8fd93327b69e8f2f7d42f03e2569648e88"},
    {file = "sentry_sdk-1.5.0-py2.py3-none-any.whl", hash = "sha256:0db297ab32e095705c20f742c3a5dac62fe15c4318681884053d0898e5abb2f6"},
    ]
    six = [
    {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
    {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
    ]
    smmap = [
    {file = "smmap-5.0.0-py3-none-any.whl", hash = "sha256:2aba19d6a040e78d8b09de5c57e96207b09ed71d8e55ce0959eeee6c8e190d94"},
    {file = "smmap-5.0.0.tar.gz", hash = "sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936"},
    ]
    sniffio = [
    {file = "sniffio-1.2.0-py3-none-any.whl", hash = "sha256:471b71698eac1c2112a40ce2752bb2f4a4814c22a54a3eed3676bc0f5ca9f663"},
    {file = "sniffio-1.2.0.tar.gz", hash = "sha256:c4666eecec1d3f50960c6bdf61ab7bc350648da6c126e3cf6898d8cd4ddcd3de"},
    ]
    snowballstemmer = [
    {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"},
    {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"},
    ]
    sortedcontainers = [
    {file = "sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0"},
    {file = "sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88"},
    ]
    soupsieve = [
    {file = "soupsieve-2.3.1-py3-none-any.whl", hash = "sha256:1a3cca2617c6b38c0343ed661b1fa5de5637f257d4fe22bd9f1338010a1efefb"},
    {file = "soupsieve-2.3.1.tar.gz", hash = "sha256:b8d49b1cd4f037c7082a9683dfa1801aa2597fb11c3a1155b7a5b94829b4f1f9"},
    ]
    spdx-license-list = [
    {file = "spdx_license_list-0.5.2-py3-none-any.whl", hash = "sha256:1b338470c7b403dbecceca563a316382c7977516128ca6c1e8f7078e3ed6e7b0"},
    {file = "spdx_license_list-0.5.2.tar.gz", hash = "sha256:952996f72ab807972dc2278bb9b91e5294767211e51f09aad9c0e2ff5b82a31b"},
    ]
    sphinx = [
    {file = "Sphinx-3.5.4-py3-none-any.whl", hash = "sha256:2320d4e994a191f4b4be27da514e46b3d6b420f2ff895d064f52415d342461e8"},
    {file = "Sphinx-3.5.4.tar.gz", hash = "sha256:19010b7b9fa0dc7756a6e105b2aacd3a80f798af3c25c273be64d7beeb482cb1"},
    ]
    sphinx-autodoc-typehints = [
    {file = "sphinx-autodoc-typehints-1.12.0.tar.gz", hash = "sha256:193617d9dbe0847281b1399d369e74e34cd959c82e02c7efde077fca908a9f52"},
    {file = "sphinx_autodoc_typehints-1.12.0-py3-none-any.whl", hash = "sha256:5e81776ec422dd168d688ab60f034fccfafbcd94329e9537712c93003bddc04a"},
    ]
    sphinx-materialdesign-theme = [
    {file = "sphinx_materialdesign_theme-0.1.11.tar.gz", hash = "sha256:6e9dae4c6e5ba23c0657a94c1cf65f64be9c8bc1594a6fb41815f7daa3326aa9"},
    ]
    sphinxcontrib-applehelp = [
    {file = "sphinxcontrib-applehelp-1.0.2.tar.gz", hash = "sha256:a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58"},
    {file = "sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:806111e5e962be97c29ec4c1e7fe277bfd19e9652fb1a4392105b43e01af885a"},
    ]
    sphinxcontrib-devhelp = [
    {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"},
    {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"},
    ]
    sphinxcontrib-django = [
    {file = "sphinxcontrib-django-0.5.1.tar.gz", hash = "sha256:3b48a9067d8db4713d47e3a4160af10288d02d448c866d1b44b001adbe74cc1e"},
    {file = "sphinxcontrib_django-0.5.1-py2.py3-none-any.whl", hash = "sha256:73ef7fdbf2ed6d4f35b7ae709032bd5ac493d93cedd0624ea7b51bf5fce41267"},
    ]
    sphinxcontrib-htmlhelp = [
    {file = "sphinxcontrib-htmlhelp-2.0.0.tar.gz", hash = "sha256:f5f8bb2d0d629f398bf47d0d69c07bc13b65f75a81ad9e2f71a63d4b7a2f6db2"},
    {file = "sphinxcontrib_htmlhelp-2.0.0-py2.py3-none-any.whl", hash = "sha256:d412243dfb797ae3ec2b59eca0e52dac12e75a241bf0e4eb861e450d06c6ed07"},
    ]
    sphinxcontrib-jsmath = [
    {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"},
    {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"},
    ]
    sphinxcontrib-qthelp = [
    {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"},
    {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"},
    ]
    sphinxcontrib-serializinghtml = [
    {file = "sphinxcontrib-serializinghtml-1.1.5.tar.gz", hash = "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952"},
    {file = "sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"},
    ]
    sqlparse = [
    {file = "sqlparse-0.4.2-py3-none-any.whl", hash = "sha256:48719e356bb8b42991bdbb1e8b83223757b93789c00910a616a071910ca4a64d"},
    {file = "sqlparse-0.4.2.tar.gz", hash = "sha256:0c00730c74263a94e5a9919ade150dfc3b19c574389985446148402998287dae"},
    ]
    stevedore = [
    {file = "stevedore-3.5.0-py3-none-any.whl", hash = "sha256:a547de73308fd7e90075bb4d301405bebf705292fa90a90fc3bcf9133f58616c"},
    {file = "stevedore-3.5.0.tar.gz", hash = "sha256:f40253887d8712eaa2bb0ea3830374416736dc8ec0e22f5a65092c1174c44335"},
    ]
    termcolor = [
    {file = "termcolor-1.1.0.tar.gz", hash = "sha256:1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b"},
    ]
    testfixtures = [
    {file = "testfixtures-6.18.3-py2.py3-none-any.whl", hash = "sha256:6ddb7f56a123e1a9339f130a200359092bd0a6455e31838d6c477e8729bb7763"},
    {file = "testfixtures-6.18.3.tar.gz", hash = "sha256:2600100ae96ffd082334b378e355550fef8b4a529a6fa4c34f47130905c7426d"},
    ]
    "testing.common.database" = [
    {file = "testing.common.database-2.0.3-py2.py3-none-any.whl", hash = "sha256:e3ed492bf480a87f271f74c53b262caf5d85c8bc09989a8f534fa2283ec52492"},
    {file = "testing.common.database-2.0.3.tar.gz", hash = "sha256:965d80b2985315325dc358c3061b174a712f4d4d5bf6a80b58b11f9a1dd86d73"},
    ]
    "testing.postgresql" = [
    {file = "testing.postgresql-1.3.0-py2.py3-none-any.whl", hash = "sha256:1b41daeb98dfc8cd4a584bb91e8f5f4ab182993870f95257afe5f1ba6151a598"},
    {file = "testing.postgresql-1.3.0.tar.gz", hash = "sha256:8e1a69760369a7a8ffe63a66b6d95a5cd82db2fb976e4a8f85ffd24fbfc447d8"},
    ]
    toml = [
    {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"},
    {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"},
    ]
    tomli = [
    {file = "tomli-1.2.2-py3-none-any.whl", hash = "sha256:f04066f68f5554911363063a30b108d2b5a5b1a010aa8b6132af78489fe3aade"},
    {file = "tomli-1.2.2.tar.gz", hash = "sha256:c6ce0015eb38820eaf32b5db832dbc26deb3dd427bd5f6556cf0acac2c214fee"},
    ]
    tqdm = [
    {file = "tqdm-4.62.3-py2.py3-none-any.whl", hash = "sha256:8dd278a422499cd6b727e6ae4061c40b48fce8b76d1ccbf5d34fca9b7f925b0c"},
    {file = "tqdm-4.62.3.tar.gz", hash = "sha256:d359de7217506c9851b7869f3708d8ee53ed70a1b8edbba4dbcb47442592920d"},
    ]
    traitlets = [
    {file = "traitlets-5.1.1-py3-none-any.whl", hash = "sha256:2d313cc50a42cd6c277e7d7dc8d4d7fedd06a2c215f78766ae7b1a66277e0033"},
    {file = "traitlets-5.1.1.tar.gz", hash = "sha256:059f456c5a7c1c82b98c2e8c799f39c9b8128f6d0d46941ee118daace9eb70c7"},
    ]
    trio = [
    {file = "trio-0.19.0-py3-none-any.whl", hash = "sha256:c27c231e66336183c484fbfe080fa6cc954149366c15dc21db8b7290081ec7b8"},
    {file = "trio-0.19.0.tar.gz", hash = "sha256:895e318e5ec5e8cea9f60b473b6edb95b215e82d99556a03eb2d20c5e027efe1"},
    ]
    trio-websocket = [
    {file = "trio-websocket-0.9.2.tar.gz", hash = "sha256:a3d34de8fac26023eee701ed1e7bf4da9a8326b61a62934ec9e53b64970fd8fe"},
    {file = "trio_websocket-0.9.2-py3-none-any.whl", hash = "sha256:5b558f6e83cc20a37c3b61202476c5295d1addf57bd65543364e0337e37ed2bc"},
    ]
    twilio = [
    {file = "twilio-7.3.1-py2.py3-none-any.whl", hash = "sha256:fc3f5c34abd7b7cda9f4802909d01e65bf296a3b237fea4cd17e969cc838645a"},
    {file = "twilio-7.3.1.tar.gz", hash = "sha256:b61a1209136e7e3d0b9e50653a821ef6a81b87f3b7c513144e5f0d955dca5bba"},
    ]
    types-pytz = [
    {file = "types-pytz-2021.3.1.tar.gz", hash = "sha256:dffd77f3efecd3b1555f187a9bf3a638d55fac296700b829c41bd51ec72a6eb7"},
    {file = "types_pytz-2021.3.1-py3-none-any.whl", hash = "sha256:d58a0688094b768d8e21c044e45861cbcaecba0494fd5b9c5feb3e1739211606"},
    ]
    types-pyyaml = [
    {file = "types-PyYAML-6.0.1.tar.gz", hash = "sha256:2e27b0118ca4248a646101c5c318dc02e4ca2866d6bc42e84045dbb851555a76"},
    {file = "types_PyYAML-6.0.1-py3-none-any.whl", hash = "sha256:d5b318269652e809b5c30a5fe666c50159ab80bfd41cd6bafe655bf20b29fcba"},
    ]
    typing-extensions = [
    {file = "typing_extensions-4.0.0-py3-none-any.whl", hash = "sha256:829704698b22e13ec9eaf959122315eabb370b0884400e9818334d8b677023d9"},
    {file = "typing_extensions-4.0.0.tar.gz", hash = "sha256:2cdf80e4e04866a9b3689a51869016d36db0814d84b8d8a568d22781d45d27ed"},
    ]
    urllib3 = [
    {file = "urllib3-1.26.7-py2.py3-none-any.whl", hash = "sha256:c4fdf4019605b6e5423637e01bc9fe4daef873709a7973e195ceba0a62bbc844"},
    {file = "urllib3-1.26.7.tar.gz", hash = "sha256:4987c65554f7a2dbf30c18fd48778ef124af6fab771a377103da0585e2336ece"},
    ]
    vine = [
    {file = "vine-5.0.0-py2.py3-none-any.whl", hash = "sha256:4c9dceab6f76ed92105027c49c823800dd33cacce13bdedc5b914e3514b7fb30"},
    {file = "vine-5.0.0.tar.gz", hash = "sha256:7d3b1624a953da82ef63462013bbd271d3eb75751489f9807598e8f340bd637e"},
    ]
    wcwidth = [
    {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"},
    {file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"},
    ]
    webencodings = [
    {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"},
    {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"},
    ]
    whoosh = [
    {file = "Whoosh-2.7.4-py2.py3-none-any.whl", hash = "sha256:aa39c3c3426e3fd107dcb4bde64ca1e276a65a889d9085a6e4b54ba82420a852"},
    {file = "Whoosh-2.7.4.tar.gz", hash = "sha256:7ca5633dbfa9e0e0fa400d3151a8a0c4bec53bd2ecedc0a67705b17565c31a83"},
    {file = "Whoosh-2.7.4.zip", hash = "sha256:e0857375f63e9041e03fedd5b7541f97cf78917ac1b6b06c1fcc9b45375dda69"},
    ]
    wrapt = [
    {file = "wrapt-1.13.3-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:e05e60ff3b2b0342153be4d1b597bbcfd8330890056b9619f4ad6b8d5c96a81a"},
    {file = "wrapt-1.13.3-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:85148f4225287b6a0665eef08a178c15097366d46b210574a658c1ff5b377489"},
    {file = "wrapt-1.13.3-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:2dded5496e8f1592ec27079b28b6ad2a1ef0b9296d270f77b8e4a3a796cf6909"},
    {file = "wrapt-1.13.3-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:e94b7d9deaa4cc7bac9198a58a7240aaf87fe56c6277ee25fa5b3aa1edebd229"},
    {file = "wrapt-1.13.3-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:498e6217523111d07cd67e87a791f5e9ee769f9241fcf8a379696e25806965af"},
    {file = "wrapt-1.13.3-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:ec7e20258ecc5174029a0f391e1b948bf2906cd64c198a9b8b281b811cbc04de"},
    {file = "wrapt-1.13.3-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:87883690cae293541e08ba2da22cacaae0a092e0ed56bbba8d018cc486fbafbb"},
    {file = "wrapt-1.13.3-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:f99c0489258086308aad4ae57da9e8ecf9e1f3f30fa35d5e170b4d4896554d80"},
    {file = "wrapt-1.13.3-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:6a03d9917aee887690aa3f1747ce634e610f6db6f6b332b35c2dd89412912bca"},
    {file = "wrapt-1.13.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:936503cb0a6ed28dbfa87e8fcd0a56458822144e9d11a49ccee6d9a8adb2ac44"},
    {file = "wrapt-1.13.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f9c51d9af9abb899bd34ace878fbec8bf357b3194a10c4e8e0a25512826ef056"},
    {file = "wrapt-1.13.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:220a869982ea9023e163ba915077816ca439489de6d2c09089b219f4e11b6785"},
    {file = "wrapt-1.13.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:0877fe981fd76b183711d767500e6b3111378ed2043c145e21816ee589d91096"},
    {file = "wrapt-1.13.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:43e69ffe47e3609a6aec0fe723001c60c65305784d964f5007d5b4fb1bc6bf33"},
    {file = "wrapt-1.13.3-cp310-cp310-win32.whl", hash = "sha256:78dea98c81915bbf510eb6a3c9c24915e4660302937b9ae05a0947164248020f"},
    {file = "wrapt-1.13.3-cp310-cp310-win_amd64.whl", hash = "sha256:ea3e746e29d4000cd98d572f3ee2a6050a4f784bb536f4ac1f035987fc1ed83e"},
    {file = "wrapt-1.13.3-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:8c73c1a2ec7c98d7eaded149f6d225a692caa1bd7b2401a14125446e9e90410d"},
    {file = "wrapt-1.13.3-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:086218a72ec7d986a3eddb7707c8c4526d677c7b35e355875a0fe2918b059179"},
    {file = "wrapt-1.13.3-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:e92d0d4fa68ea0c02d39f1e2f9cb5bc4b4a71e8c442207433d8db47ee79d7aa3"},
    {file = "wrapt-1.13.3-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:d4a5f6146cfa5c7ba0134249665acd322a70d1ea61732723c7d3e8cc0fa80755"},
    {file = "wrapt-1.13.3-cp35-cp35m-win32.whl", hash = "sha256:8aab36778fa9bba1a8f06a4919556f9f8c7b33102bd71b3ab307bb3fecb21851"},
    {file = "wrapt-1.13.3-cp35-cp35m-win_amd64.whl", hash = "sha256:944b180f61f5e36c0634d3202ba8509b986b5fbaf57db3e94df11abee244ba13"},
    {file = "wrapt-1.13.3-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:2ebdde19cd3c8cdf8df3fc165bc7827334bc4e353465048b36f7deeae8ee0918"},
    {file = "wrapt-1.13.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:610f5f83dd1e0ad40254c306f4764fcdc846641f120c3cf424ff57a19d5f7ade"},
    {file = "wrapt-1.13.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5601f44a0f38fed36cc07db004f0eedeaadbdcec90e4e90509480e7e6060a5bc"},
    {file = "wrapt-1.13.3-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:e6906d6f48437dfd80464f7d7af1740eadc572b9f7a4301e7dd3d65db285cacf"},
    {file = "wrapt-1.13.3-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:766b32c762e07e26f50d8a3468e3b4228b3736c805018e4b0ec8cc01ecd88125"},
    {file = "wrapt-1.13.3-cp36-cp36m-win32.whl", hash = "sha256:5f223101f21cfd41deec8ce3889dc59f88a59b409db028c469c9b20cfeefbe36"},
    {file = "wrapt-1.13.3-cp36-cp36m-win_amd64.whl", hash = "sha256:f122ccd12fdc69628786d0c947bdd9cb2733be8f800d88b5a37c57f1f1d73c10"},
    {file = "wrapt-1.13.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:46f7f3af321a573fc0c3586612db4decb7eb37172af1bc6173d81f5b66c2e068"},
    {file = "wrapt-1.13.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:778fd096ee96890c10ce96187c76b3e99b2da44e08c9e24d5652f356873f6709"},
    {file = "wrapt-1.13.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0cb23d36ed03bf46b894cfec777eec754146d68429c30431c99ef28482b5c1df"},
    {file = "wrapt-1.13.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:96b81ae75591a795d8c90edc0bfaab44d3d41ffc1aae4d994c5aa21d9b8e19a2"},
    {file = "wrapt-1.13.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7dd215e4e8514004c8d810a73e342c536547038fb130205ec4bba9f5de35d45b"},
    {file = "wrapt-1.13.3-cp37-cp37m-win32.whl", hash = "sha256:47f0a183743e7f71f29e4e21574ad3fa95676136f45b91afcf83f6a050914829"},
    {file = "wrapt-1.13.3-cp37-cp37m-win_amd64.whl", hash = "sha256:fd76c47f20984b43d93de9a82011bb6e5f8325df6c9ed4d8310029a55fa361ea"},
    {file = "wrapt-1.13.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b73d4b78807bd299b38e4598b8e7bd34ed55d480160d2e7fdaabd9931afa65f9"},
    {file = "wrapt-1.13.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ec9465dd69d5657b5d2fa6133b3e1e989ae27d29471a672416fd729b429eb554"},
    {file = "wrapt-1.13.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dd91006848eb55af2159375134d724032a2d1d13bcc6f81cd8d3ed9f2b8e846c"},
    {file = "wrapt-1.13.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ae9de71eb60940e58207f8e71fe113c639da42adb02fb2bcbcaccc1ccecd092b"},
    {file = "wrapt-1.13.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:51799ca950cfee9396a87f4a1240622ac38973b6df5ef7a41e7f0b98797099ce"},
    {file = "wrapt-1.13.3-cp38-cp38-win32.whl", hash = "sha256:4b9c458732450ec42578b5642ac53e312092acf8c0bfce140ada5ca1ac556f79"},
    {file = "wrapt-1.13.3-cp38-cp38-win_amd64.whl", hash = "sha256:7dde79d007cd6dfa65afe404766057c2409316135cb892be4b1c768e3f3a11cb"},
    {file = "wrapt-1.13.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:981da26722bebb9247a0601e2922cedf8bb7a600e89c852d063313102de6f2cb"},
    {file = "wrapt-1.13.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:705e2af1f7be4707e49ced9153f8d72131090e52be9278b5dbb1498c749a1e32"},
    {file = "wrapt-1.13.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:25b1b1d5df495d82be1c9d2fad408f7ce5ca8a38085e2da41bb63c914baadff7"},
    {file = "wrapt-1.13.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:77416e6b17926d953b5c666a3cb718d5945df63ecf922af0ee576206d7033b5e"},
    {file = "wrapt-1.13.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:865c0b50003616f05858b22174c40ffc27a38e67359fa1495605f96125f76640"},
    {file = "wrapt-1.13.3-cp39-cp39-win32.whl", hash = "sha256:0a017a667d1f7411816e4bf214646d0ad5b1da2c1ea13dec6c162736ff25a374"},
    {file = "wrapt-1.13.3-cp39-cp39-win_amd64.whl", hash = "sha256:81bd7c90d28a4b2e1df135bfbd7c23aee3050078ca6441bead44c42483f9ebfb"},
    {file = "wrapt-1.13.3.tar.gz", hash = "sha256:1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185"},
    ]
    wsproto = [
    {file = "wsproto-1.0.0-py3-none-any.whl", hash = "sha256:d8345d1808dd599b5ffb352c25a367adb6157e664e140dbecba3f9bc007edb9f"},
    {file = "wsproto-1.0.0.tar.gz", hash = "sha256:868776f8456997ad0d9720f7322b746bbe9193751b5b290b7f924659377c8c38"},
    ]
    yubiotp = [
    {file = "YubiOTP-1.0.0.post1-py2.py3-none-any.whl", hash = "sha256:7ad57011866e0bc6c6d179ffbc3926fcc0e82d410178a6d01ba4da0f88332878"},
    {file = "YubiOTP-1.0.0.post1.tar.gz", hash = "sha256:c13825f7b76a69afb92f19521f4dea9f5031d70f45123b505dc2e0ac03132065"},
    ]
    ......@@ -45,7 +45,7 @@ aleksis-core = "^2.0rc"
    aleksis-app-chronos = "^2.0rc"
    [tool.poetry.dev-dependencies]
    aleksis-builddeps = "^5"
    aleksis-builddeps = "^6"
    [tool.poetry.plugins."aleksis.app"]
    untis = "aleksis.apps.untis.apps:UntisConfig"
    ......
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Finish editing this message first!
    Please register or to comment