From b06120b8b1419ae775032c406294bad223db34d1 Mon Sep 17 00:00:00 2001
From: Tom Teichler <tom.teichler@teckids.org>
Date: Mon, 5 Apr 2021 18:40:32 +0200
Subject: [PATCH] Re-implement event feedback

---
 aleksis/apps/ticdesk/filters.py               |    3 +-
 aleksis/apps/ticdesk/forms.py                 |   16 +-
 aleksis/apps/ticdesk/model_extensions.py      |    3 +-
 aleksis/apps/ticdesk/models.py                |   48 +-
 aleksis/apps/ticdesk/predicates.py            |    3 +-
 aleksis/apps/ticdesk/preferences.py           |    3 +-
 aleksis/apps/ticdesk/rules.py                 |    1 -
 aleksis/apps/ticdesk/settings.py              |    3 -
 .../templated_email/event_feedback.html       |   69 +
 aleksis/apps/ticdesk/views.py                 |   46 +-
 poetry.lock                                   | 1753 +++++++++++++----
 pyproject.toml                                |    2 +-
 tox.ini                                       |   12 +-
 13 files changed, 1487 insertions(+), 475 deletions(-)
 create mode 100644 aleksis/apps/ticdesk/templates/templated_email/event_feedback.html

diff --git a/aleksis/apps/ticdesk/filters.py b/aleksis/apps/ticdesk/filters.py
index 869ddbc..146d874 100644
--- a/aleksis/apps/ticdesk/filters.py
+++ b/aleksis/apps/ticdesk/filters.py
@@ -1,10 +1,9 @@
 from django.utils.translation import gettext_lazy as _
 
+from aleksis.core.filters import MultipleCharFilter
 from django_filters import FilterSet
 from material import Layout, Row
 
-from aleksis.core.filters import MultipleCharFilter
-
 from .models import EventRegistration, FeedbackAspect, TeckidsMember, Voucher
 
 
diff --git a/aleksis/apps/ticdesk/forms.py b/aleksis/apps/ticdesk/forms.py
index a23810b..a6fb00a 100644
--- a/aleksis/apps/ticdesk/forms.py
+++ b/aleksis/apps/ticdesk/forms.py
@@ -4,14 +4,13 @@ from collections import OrderedDict
 from django import forms
 from django.utils.translation import ugettext_lazy as _
 
-from django_select2.forms import ModelSelect2MultipleWidget, ModelSelect2Widget
 import phonenumbers
-from django_starfield import Stars
-from material import Fieldset, Layout, Row
-
 from aleksis.core.mixins import ExtensibleForm
 from aleksis.core.models import Group, Person
 from aleksis.core.util.core_helpers import get_site_preferences
+from django_select2.forms import ModelSelect2MultipleWidget, ModelSelect2Widget
+from django_starfield import Stars
+from material import Fieldset, Layout, Row
 
 from .models import EventRegistration, FeedbackAspect, TeckidsEvent, TeckidsMember, Voucher
 
@@ -180,7 +179,9 @@ class EditEventForm(forms.ModelForm):
     layout = Layout(
         Fieldset(
             _("Base data"),
-            "group", Row("display_name", "description"), Row("place", "published"),
+            "group",
+            Row("display_name", "description"),
+            Row("place", "published"),
             Fieldset(_("Date data"), Row("date_event", "date_registration", "date_retraction")),
             Fieldset(_("Event details"), Row("cost", "max_participants")),
             Fieldset(_("Feedback aspects"), "feedback_aspects"),
@@ -201,6 +202,7 @@ class EditEventForm(forms.ModelForm):
             ),
         }
 
+
 class EditVoucherForm(forms.ModelForm):
     """Form to edit and create vouchers."""
 
@@ -230,10 +232,10 @@ class GenerateListForm(forms.Form):
     )
 
     landscape = forms.BooleanField(
-        label=_("Landscape"),
-        help_text=_("Select if output should be in landscape."),
+        label=_("Landscape"), help_text=_("Select if output should be in landscape."),
     )
 
+
 class RegisterEventForm(forms.ModelForm):
     """Form to register for an event."""
 
diff --git a/aleksis/apps/ticdesk/model_extensions.py b/aleksis/apps/ticdesk/model_extensions.py
index 09f8924..2f45e0f 100644
--- a/aleksis/apps/ticdesk/model_extensions.py
+++ b/aleksis/apps/ticdesk/model_extensions.py
@@ -1,8 +1,7 @@
 from django.utils.translation import gettext_lazy as _
 
-from jsonstore import CharField
-
 from aleksis.core.models import Person
+from jsonstore import CharField
 
 # Additional fields for persons
 Person.field(school=CharField(verbose_name=_("Name of school")))
diff --git a/aleksis/apps/ticdesk/models.py b/aleksis/apps/ticdesk/models.py
index 433561d..8638e43 100644
--- a/aleksis/apps/ticdesk/models.py
+++ b/aleksis/apps/ticdesk/models.py
@@ -2,10 +2,9 @@ from django.db import models
 from django.utils import timezone
 from django.utils.translation import gettext_lazy as _
 
-from django_iban.fields import IBANField
-
 from aleksis.core.mixins import ExtensibleModel, PureDjangoModel
 from aleksis.core.models import Group, Person
+from django_iban.fields import IBANField
 
 
 class TeckidsMember(ExtensibleModel):
@@ -106,12 +105,51 @@ class TeckidsEvent(ExtensibleModel):
         return self.group.owners.all()
 
 
+class EventFeedback(ExtensibleModel):
+    class Meta:
+        verbose_name = _("Event feedback")
+        verbose_name_plural = _("Event feedbacks")
+
+    COMMENT_CHOICES = [
+        ("first", _("Only first name")),
+        ("first_age", _("First name and age")),
+        ("first_last_age", _("First name, last name and age")),
+    ]
+
+    LICENCE_CHOICES = [
+        ("CC-BY-4.0+", _("Creative Commons with attribution, 4.0 or later")),
+        (
+            "CC-BY-SA-4.0+",
+            _(
+                "Creative Commons with attribution and distribution only"
+                "under the same conditions, 4.0 or later"
+            ),
+        ),
+    ]
+
+    event = models.ForeignKey(
+        TeckidsEvent, on_delete=models.CASCADE, verbose_name=_("Event"), related_name="feedback"
+    )
+    person = models.ForeignKey(
+        Person, on_delete=models.CASCADE, verbose_name=_("Person"), related_name="feedback"
+    )
+
+    comment_private = models.TextField(verbose_name=_("Private comment"), blank=True)
+    comment_public = models.TextField(verbose_name=_("Public comment"), blank=True)
+    comment_public_info = models.CharField(
+        choices=COMMENT_CHOICES, verbose_name=_("Information in the comment")
+    )
+
+    photos = models.ImageField(verbose_name=_("Photos"), upload_to="feedback/", blank=True)
+    photos_licence = models.CharField(choices=LICENCE_CHOICES, verbose_name=_("Photo licence"))
+
+
 class Voucher(ExtensibleModel):
     class Meta:
         verbose_name = _("Vouchers")
         verbose_name_plural = _("Vouchers")
 
-    code = models.CharField(max_length=8, blank=True, null=True)
+    code = models.CharField(max_length=8, blank=True)
     event = models.ForeignKey(
         TeckidsEvent,
         related_name="vouchers",
@@ -167,8 +205,8 @@ class EventRegistration(ExtensibleModel):
     person = models.ForeignKey(Person, on_delete=models.CASCADE, verbose_name=_("Person"))
     date_registred = models.DateTimeField(auto_now_add=True, verbose_name=_("Registration date"))
 
-    comment = models.TextField(verbose_name=_("Comment / remarks"), blank=True, null=True)
-    channel = models.CharField(verbose_name=_("Channel"), max_length=255, blank=True, null=True)
+    comment = models.TextField(verbose_name=_("Comment / remarks"), blank=True)
+    channel = models.CharField(verbose_name=_("Channel"), max_length=255, blank=True)
     voucher = models.ForeignKey(
         Voucher, on_delete=models.CASCADE, verbose_name=_("Voucher"), blank=True, null=True,
     )
diff --git a/aleksis/apps/ticdesk/predicates.py b/aleksis/apps/ticdesk/predicates.py
index 7288954..0e5094a 100644
--- a/aleksis/apps/ticdesk/predicates.py
+++ b/aleksis/apps/ticdesk/predicates.py
@@ -1,9 +1,8 @@
 from django.contrib.auth import get_user_model
 
-from rules import predicate
-
 from aleksis.core.models import Group, Person
 from aleksis.core.util.predicates import check_object_permission
+from rules import predicate
 
 from .models import EventRegistration, Voucher
 
diff --git a/aleksis/apps/ticdesk/preferences.py b/aleksis/apps/ticdesk/preferences.py
index cc7feb2..1deebcc 100644
--- a/aleksis/apps/ticdesk/preferences.py
+++ b/aleksis/apps/ticdesk/preferences.py
@@ -1,10 +1,9 @@
 from django.utils.translation import gettext_lazy as _
 
+from aleksis.core.registries import site_preferences_registry
 from dynamic_preferences.preferences import Section
 from dynamic_preferences.types import StringPreference
 
-from aleksis.core.registries import site_preferences_registry
-
 ticdesk = Section("ticdesk")
 
 
diff --git a/aleksis/apps/ticdesk/rules.py b/aleksis/apps/ticdesk/rules.py
index 647eda6..e0685a2 100644
--- a/aleksis/apps/ticdesk/rules.py
+++ b/aleksis/apps/ticdesk/rules.py
@@ -1,5 +1,4 @@
 import rules
-
 from aleksis.core.models import Group
 from aleksis.core.util.predicates import (
     has_any_object,
diff --git a/aleksis/apps/ticdesk/settings.py b/aleksis/apps/ticdesk/settings.py
index 9378041..4f54b44 100644
--- a/aleksis/apps/ticdesk/settings.py
+++ b/aleksis/apps/ticdesk/settings.py
@@ -1,9 +1,6 @@
 INSTALLED_APPS = [
     "django_extensions",
     "django_starfield",
-    "django_filters",
-    "django_tables2",
-    "django_cron",
 ]
 
 # django-starfield
diff --git a/aleksis/apps/ticdesk/templates/templated_email/event_feedback.html b/aleksis/apps/ticdesk/templates/templated_email/event_feedback.html
new file mode 100644
index 0000000..9d0e555
--- /dev/null
+++ b/aleksis/apps/ticdesk/templates/templated_email/event_feedback.html
@@ -0,0 +1,69 @@
+{% load i18n %}
+
+{% block subject %} {% trans "New feedback on" %} {{ feedback.event }} {% endblock %}
+
+{% block plain %}
+    {% blocktrans with feedback.event=feedback.event %}New feedback on: {{ feedback.event }}{% endblocktrans %}
+
+    *** {% trans "Event" %} *****
+
+    * {% trans "Event" %}: {{ feedback.event }}
+
+    **** {% trans "Person " %} ****
+
+    * {% trans "Name" %}: {{ feedback.person }}
+    * {% trans "Date of birth" %}: {{ feedback.person.date_of_birth }}
+    * {% trans "Email address" %}: {{ feedback.person.email }}
+
+    **** {% trans "Comments" %} ****
+
+    * {% trans "Private comment" %}: {{ feedback.comment_private }}
+    * {% trans "Public comment" %}: {{ feedback.comment_public }}
+    * {% trans "Public comment info" %}: {{ feedback.comment_public_info }}
+
+    **** {% trans 'Photos' %} ****
+    
+    {% for photo in feedback.photos %}
+        * {{ photo }}
+    {% endfor %}
+    * {% trans "Photo licence" %}: {{ feedback.photos_licence }}
+
+
+    {% trans "Your AlekSIS team" %}
+{% endblock %}
+
+{% block html %}
+<main>
+    <p>{% blocktrans with new_feedback.event=new_feedback.event %}New feedback.event: {{ feedback.event}}{% endblocktrans %}</p>
+
+    <blockquote>
+        <h5>{% trans "Event" %}</h5>
+            <ul>
+                <li>{% trans "Event" %}: {{ feedback.event.feedback.event }}</li>
+            </ul>
+        <h5>{% trans "Person" %</h5>
+        <ul>
+            <li>{% trans "Name" %}: {{ feedback.event.person }}</li>
+            <li>{% trans "Date of birth" %}: {{ feedback.event.date_of_birth }}</li>
+            <li>{% trans "Email address" %}: {{ feedback.event.person.email }}</li>
+        </ul>
+        <h5>{% trans "Comments" %}</h5>
+        <ul>
+            <li>{% trans "Private comment" %}: {{ feedback.comment_private }}</li>
+            <li>{% trans "Public comment" %}: {{ feedback.comment_public }}</li>
+            <li>{% trans "Public comment info" %}: {{ feedback.comment_public_info }}</li>
+        </ul>
+        <h5>{% trans "Photos" %}</h5>
+        {% for photo in feedback.photos %}
+          <img src="{{ photo }}" alt="Feedback photo"></img>
+        {% endfor %}
+        <ul>
+          <li>{% trans "Photo licence" %}: {{ feedback.photos_licence }}</li>
+        </ul>
+    </blockquote>
+
+    <p>
+        <i>{% trans "Your AlekSIS team" %}</i>
+    </p>
+</main>
+{% endblock %}
diff --git a/aleksis/apps/ticdesk/views.py b/aleksis/apps/ticdesk/views.py
index 45b0343..4247c42 100644
--- a/aleksis/apps/ticdesk/views.py
+++ b/aleksis/apps/ticdesk/views.py
@@ -1,8 +1,6 @@
-import json
 from typing import Optional
 
 from django.contrib.auth.decorators import login_required
-from django.core.mail import EmailMessage
 from django.http import HttpRequest, HttpResponse
 from django.shortcuts import redirect, render
 from django.utils import timezone
@@ -10,15 +8,14 @@ from django.utils.translation import ugettext as _
 from django.views.generic.list import ListView
 
 import reversion
+from aleksis.core.models import Activity, Person
+from aleksis.core.util import messages
+from aleksis.core.util.core_helpers import lazy_preference, objectgetter_optional
 from django_tables2 import RequestConfig
 from reversion.views import create_revision
 from rules.contrib.views import PermissionRequiredMixin, permission_required
 from templated_email import send_templated_mail
 
-from aleksis.core.models import Activity, Person
-from aleksis.core.util import messages
-from aleksis.core.util.core_helpers import objectgetter_optional, lazy_preference
-
 from .filters import (
     EventRegistrationFilter,
     FeedbackAspectsFilter,
@@ -44,7 +41,7 @@ from .tables import (
     TeckidsMemberTable,
     VouchersTable,
 )
-from .util import form_to_text_table, generate_code, upload_file_to_media_url
+from .util import generate_code
 
 
 def events(request):
@@ -241,36 +238,17 @@ def feedback_event(request, id_):
 
     if request.method == "POST":
         if feedback_form.is_valid():
+            feedback = feedback_form.save(commit=True)
+            context["feedback"] = feedback
             # Handle photo uploads, if any
-            photo_urls = []
-            for file in request.FILES.getlist("photos"):
-                url = upload_file_to_media_url(file, "ticdesk/teckids_events/feedback/photos")
-                photo_urls.append(url)
-
-            # Produce e-mail to registration queue
-            message = EmailMessage()
 
-            message.subject = _("Feedback: %s von %s") % (
-                event.display_name,
-                current_person.user.username,
-            )
-            message.extra_headers = {
-                "X-OTRS-DynamicField-TeckidsEvent": event.short_name,
-                "X-OTRS-CustomerUser": current_person.user.username,
-            }
-            message.body = form_to_text_table(feedback_form, 78)
-            if photo_urls:
-                message.body += "\n\n" + _("Photos:") + "\n\n"
-                for url in photo_urls:
-                    message.body += request.build_absolute_uri(url) + "\n"
-
-            # Attach raw form data as attachment
-            message.attach(
-                "feedback_form.json",
-                json.dumps(feedback_form.cleaned_data, indent=4, default=str),
-                "application/json",
+            send_templated_mail(
+                template_name="event_feedback",
+                from_email=lazy_preference("mail", "address"),
+                recipient_list=["verein@teckids.org"],
+                headers={"reply_to": [request.person.email,],},
+                context=context,
             )
-            message.send()
 
             # Set success
             messages.success(request, _("Feedback successfully submitted."))
diff --git a/poetry.lock b/poetry.lock
index 7821d97..98dcf66 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -8,7 +8,7 @@ python-versions = "*"
 
 [[package]]
 name = "aleksis-builddeps"
-version = "1"
+version = "2"
 description = "AlekSIS (School Information System) — Build/Dev dependencies for apps"
 category = "dev"
 optional = false
@@ -16,6 +16,7 @@ python-versions = "*"
 
 [package.dependencies]
 black = ">=19.10b0,<20.0"
+curlylint = ">=0.12.0,<0.13.0"
 django-stubs = ">=1.1,<2.0"
 flake8 = ">=3.7.9,<4.0.0"
 flake8-bandit = ">=2.1.2,<3.0.0"
@@ -26,11 +27,11 @@ 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.0.13,<0.0.14"
+flake8-rst-docstrings = ">=0.0.14,<0.0.15"
 isort = ">=5.0.0,<6.0.0"
 pytest = ">=6.0,<7.0"
 pytest-cov = ">=2.8.1,<3.0.0"
-pytest-django = ">=3.7,<4.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"
@@ -46,7 +47,7 @@ reference = "gitlab"
 
 [[package]]
 name = "aleksis-core"
-version = "2.0a4.dev0+20210110235311.4f1416d6"
+version = "2.0a5.dev0+20210215073735.26fabd33"
 description = "AlekSIS (School Information System) — Core"
 category = "main"
 optional = false
@@ -54,62 +55,70 @@ python-versions = ">=3.7,<4.0"
 
 [package.dependencies]
 bs4 = ">=0.0.1,<0.0.2"
-calendarweek = ">=0.4.3,<0.5.0"
-celery-progress = ">=0.0.14,<0.0.15"
+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.0,<4.0"
+Django = ">=3.1.7,<4.0.0"
 django-any-js = ">=1.0,<2.0"
 django-bleach = ">=0.6.1,<0.7.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-colorfield = ">=0.3.0,<0.4.0"
+django-colorfield = ">=0.4.0,<0.5.0"
 django-dbbackup = ">=3.3.0,<4.0.0"
-django-debug-toolbar = ">=2.0,<3.0"
+django-debug-toolbar = ">=3.2,<4.0"
 django-dynamic-preferences = ">=1.9,<2.0"
+django-extensions = ">=3.1.1,<4.0.0"
 django-favicon-plus-reloaded = ">=1.0.4,<2.0.0"
 django-filter = ">=2.2.0,<3.0.0"
 django-guardian = ">=2.2.0,<3.0.0"
 django-hattori = ">=0.2,<0.3"
-django-haystack = "3.0b1"
+django-haystack = "3.0"
 django-health-check = ">=3.12.1,<4.0.0"
 django-impersonate = ">=1.4,<2.0"
 django-ipware = ">=3.0,<4.0"
 django-js-reverse = ">=0.9.1,<0.10.0"
 django-jsonstore = ">=0.5.0,<0.6.0"
-django-maintenance-mode = ">=0.15.0,<0.16.0"
+django-maintenance-mode = ">=0.16.0,<0.17.0"
 django-material = ">=1.6.0,<2.0.0"
-django-menu-generator-ng = ">=1.2.0,<2.0.0"
+django-menu-generator-ng = ">=1.2.3,<2.0.0"
 django-middleware-global-request = ">=0.1.2,<0.2.0"
 django-model-utils = ">=4.0.0,<5.0.0"
 django-phonenumber-field = {version = "<5.1", extras = ["phonenumbers"]}
 django-polymorphic = ">=3.0.0,<4.0.0"
 django-prometheus = ">=2.1.0,<3.0.0"
 django-pwa = ">=1.0.8,<2.0.0"
+django-redis = ">=4.12.1,<5.0.0"
 django-reversion = ">=3.0.7,<4.0.0"
-django-sass-processor = ">=0.8,<0.9"
+django-sass-processor = ">=1.0,<2.0"
 django_select2 = ">=7.1,<8.0"
 django-settings-context-processor = ">=0.2,<0.3"
 django-tables2 = ">=2.1,<3.0"
 django-templated-email = ">=2.3.0,<3.0.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"
 dynaconf = {version = ">=3.1,<4.0", extras = ["ini", "toml", "yaml"]}
 html2text = ">=2020.0.0,<2021.0.0"
 importlib-metadata = {version = ">=3.0.0,<4.0.0", markers = "python_version < \"3.9\""}
+ipython = ">=7.20.0,<8.0.0"
 libsass = ">=0.20.0,<0.21.0"
 license-expression = ">=1.2,<2.0"
 Pillow = ">=8.0,<9.0"
 psutil = ">=5.7.0,<6.0.0"
 psycopg2 = ">=2.8,<3.0"
-python-memcached = ">=1.59,<2.0"
 requests = ">=2.22,<3.0"
 rules = ">=2.2,<3.0"
 spdx-license-list = ">=0.5.0,<0.6.0"
 
 [package.extras]
-celery = ["Celery[django,redis] (>=5.0.0,<6.0.0)", "celery-haystack (>=0.10.0,<0.11.0)", "django-celery-beat (>=2.0.0,<3.0.0)", "django-celery-email (>=3.0.0,<4.0.0)", "django-celery-results (>=2.0.0,<3.0.0)"]
+s3 = ["boto3 (>=1.17.33,<2.0.0)", "django-storages (>=1.11.1,<2.0.0)"]
 ldap = ["django-auth-ldap (>=2.2,<3.0)"]
 
 [package.source]
@@ -117,6 +126,17 @@ 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 = "appdirs"
 version = "1.4.4"
@@ -125,6 +145,14 @@ category = "dev"
 optional = false
 python-versions = "*"
 
+[[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.3.1"
@@ -136,6 +164,14 @@ python-versions = ">=3.5"
 [package.extras]
 tests = ["pytest", "pytest-asyncio"]
 
+[[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 = "atomicwrites"
 version = "1.4.0"
@@ -162,13 +198,21 @@ tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>
 name = "babel"
 version = "2.9.0"
 description = "Internationalization utilities"
-category = "main"
+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.0"
@@ -199,6 +243,14 @@ soupsieve = {version = ">1.2", markers = "python_version >= \"3.0\""}
 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 = "19.10b0"
@@ -253,7 +305,7 @@ beautifulsoup4 = "*"
 
 [[package]]
 name = "calendarweek"
-version = "0.4.7"
+version = "0.5.0"
 description = "Utilities for working with calendar weeks in Python and Django"
 category = "main"
 optional = false
@@ -262,9 +314,76 @@ python-versions = ">=3.7,<4.0"
 [package.extras]
 django = ["Django (>=2.2,<4.0)"]
 
+[[package]]
+name = "celery"
+version = "5.0.5"
+description = "Distributed Task Queue."
+category = "main"
+optional = false
+python-versions = ">=3.6,"
+
+[package.dependencies]
+billiard = ">=3.6.3.0,<4.0"
+click = ">=7.0,<8.0"
+click-didyoumean = ">=0.0.3"
+click-plugins = ">=1.1.1"
+click-repl = ">=0.1.6"
+Django = {version = ">=1.11", optional = true, markers = "extra == \"django\""}
+kombu = ">=5.0.0,<6.0"
+pytz = ">0.0-dev"
+redis = {version = ">=3.2.0", optional = true, markers = "extra == \"redis\""}
+vine = ">=5.0.0,<6.0"
+
+[package.extras]
+arangodb = ["pyArango (>=1.3.2)"]
+auth = ["cryptography"]
+azureblockblob = ["azure-storage (==0.36.0)", "azure-common (==1.1.5)", "azure-storage-common (==1.1.0)"]
+brotli = ["brotli (>=1.0.0)", "brotlipy (>=0.7.0)"]
+cassandra = ["cassandra-driver (<3.21.0)"]
+consul = ["python-consul"]
+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.26.1)"]
+gevent = ["gevent (>=1.0.0)"]
+librabbitmq = ["librabbitmq (>=1.5.0)"]
+lzma = ["backports.lzma"]
+memcache = ["pylibmc"]
+mongodb = ["pymongo[srv] (>=3.3.0)"]
+msgpack = ["msgpack"]
+pymemcache = ["python-memcached"]
+pyro = ["pyro4"]
+pytest = ["pytest-celery"]
+redis = ["redis (>=3.2.0)"]
+s3 = ["boto3 (>=1.9.125)"]
+slmq = ["softlayer-messaging (>=1.0.3)"]
+solar = ["ephem"]
+sqlalchemy = ["sqlalchemy"]
+sqs = ["boto3 (>=1.9.125)", "pycurl (==7.43.0.5)"]
+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.0.14"
+version = "0.1.0"
 description = "Drop in, configurable, dependency-free progress bars for your Django/Celery applications."
 category = "main"
 optional = false
@@ -295,10 +414,48 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 name = "click"
 version = "7.1.2"
 description = "Composable command line interface toolkit"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 
+[[package]]
+name = "click-didyoumean"
+version = "0.0.3"
+description = "Enable git-like did-you-mean feature in click."
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+click = "*"
+
+[[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.1.6"
+description = "REPL plugin for Click"
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+click = "*"
+prompt-toolkit = "*"
+six = "*"
+
 [[package]]
 name = "colorama"
 version = "0.4.4"
@@ -331,7 +488,7 @@ six = "*"
 
 [[package]]
 name = "coverage"
-version = "5.4"
+version = "5.5"
 description = "Code coverage measurement for Python"
 category = "dev"
 optional = false
@@ -340,6 +497,24 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
 [package.extras]
 toml = ["toml"]
 
+[[package]]
+name = "curlylint"
+version = "0.12.2"
+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.extras]
+dev = ["black (==19.10b0)", "flake8 (==3.8.4)", "mypy (==0.812)", "pytest (==6.2.2)", "coverage (==5.4)"]
+
 [[package]]
 name = "data"
 version = "0.4"
@@ -355,11 +530,11 @@ six = "*"
 
 [[package]]
 name = "decorator"
-version = "4.4.2"
+version = "5.0.5"
 description = "Decorators for Humans"
 category = "main"
 optional = false
-python-versions = ">=2.6, !=3.0.*, !=3.1.*"
+python-versions = ">=3.5"
 
 [[package]]
 name = "dj-database-url"
@@ -371,7 +546,7 @@ python-versions = "*"
 
 [[package]]
 name = "django"
-version = "3.1.6"
+version = "3.1.7"
 description = "A high-level Python Web framework that encourages rapid development and clean, pragmatic design."
 category = "main"
 optional = false
@@ -388,7 +563,7 @@ bcrypt = ["bcrypt"]
 
 [[package]]
 name = "django-any-js"
-version = "1.0.3.post0"
+version = "1.0.3.post1"
 description = "Include JavaScript libraries with readable template tags"
 category = "main"
 optional = false
@@ -433,7 +608,7 @@ Django = ">=1.8"
 
 [[package]]
 name = "django-cachalot"
-version = "2.3.3"
+version = "2.3.5"
 description = "Caches your Django ORM queries and automatically invalidates them."
 category = "main"
 optional = false
@@ -444,15 +619,53 @@ Django = ">=2"
 
 [[package]]
 name = "django-cache-memoize"
-version = "0.1.7"
+version = "0.1.8"
 description = "Django utility for a memoization decorator that uses the Django cache framework."
 category = "main"
 optional = false
-python-versions = ">=3.4"
+python-versions = ">=3.5"
 
 [package.extras]
 dev = ["flake8", "tox", "twine", "therapist", "black"]
 
+[[package]]
+name = "django-celery-beat"
+version = "2.2.0"
+description = "Database-backed Periodic Tasks."
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+celery = ">=4.4,<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.0.1"
+description = "Celery result backends for Django."
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+celery = ">=4.4,<6.0"
+
 [[package]]
 name = "django-ckeditor"
 version = "6.0.0"
@@ -466,7 +679,7 @@ django-js-asset = ">=1.2.2"
 
 [[package]]
 name = "django-colorfield"
-version = "0.3.2"
+version = "0.4.1"
 description = "simple color field for your models with a nice color-picker in the admin-interface."
 category = "main"
 optional = false
@@ -487,14 +700,14 @@ six = "*"
 
 [[package]]
 name = "django-debug-toolbar"
-version = "2.2"
+version = "3.2"
 description = "A configurable set of panels that display various debug information about the current request/response."
 category = "main"
 optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.6"
 
 [package.dependencies]
-Django = ">=1.11"
+Django = ">=2.2"
 sqlparse = ">=0.2.0"
 
 [[package]]
@@ -510,6 +723,17 @@ django = ">=1.11"
 persisting-theory = ">=0.2.1"
 six = "*"
 
+[[package]]
+name = "django-extensions"
+version = "3.1.2"
+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.0.4"
@@ -572,7 +796,7 @@ tqdm = ">=4.23.4"
 
 [[package]]
 name = "django-haystack"
-version = "3.0b1"
+version = "3.0"
 description = "Pluggable search for Django."
 category = "main"
 optional = false
@@ -583,7 +807,7 @@ Django = ">=2.2"
 
 [[package]]
 name = "django-health-check"
-version = "3.16.2"
+version = "3.16.3"
 description = "Run checks on services like databases, queue servers, celery processes, etc."
 category = "main"
 optional = false
@@ -602,7 +826,7 @@ python-versions = "*"
 
 [[package]]
 name = "django-impersonate"
-version = "1.7.2"
+version = "1.7.3"
 description = "Django app to allow superusers to impersonate other users."
 category = "main"
 optional = false
@@ -663,7 +887,7 @@ docs = ["sphinx", "sphinx-autobuild"]
 
 [[package]]
 name = "django-maintenance-mode"
-version = "0.15.1"
+version = "0.16.0"
 description = "django-maintenance-mode shows a 503 error page when maintenance-mode is on."
 category = "main"
 optional = false
@@ -671,7 +895,7 @@ python-versions = "*"
 
 [[package]]
 name = "django-material"
-version = "1.7.4"
+version = "1.7.6"
 description = "Material design for django forms and admin"
 category = "main"
 optional = false
@@ -682,7 +906,7 @@ six = "*"
 
 [[package]]
 name = "django-menu-generator-ng"
-version = "1.2.1"
+version = "1.2.3"
 description = "A straightforward menu generator for Django"
 category = "main"
 optional = false
@@ -712,7 +936,7 @@ Django = ">=2.0.1"
 
 [[package]]
 name = "django-otp"
-version = "1.0.2"
+version = "1.0.3"
 description = "A pluggable framework for adding two-factor authentication to Django using one-time passwords."
 category = "main"
 optional = false
@@ -738,15 +962,14 @@ YubiOTP = ">=0.2.2"
 
 [[package]]
 name = "django-phonenumber-field"
-version = "3.0.1"
+version = "5.0.0"
 description = "An international phone number field for django models."
 category = "main"
 optional = false
 python-versions = ">=3.5"
 
 [package.dependencies]
-babel = "*"
-Django = ">=1.11.3"
+Django = ">=2.2"
 phonenumbers = {version = ">=7.0.2", optional = true, markers = "extra == \"phonenumbers\""}
 
 [package.extras]
@@ -786,6 +1009,18 @@ python-versions = "*"
 [package.dependencies]
 django = ">=1.8"
 
+[[package]]
+name = "django-redis"
+version = "4.12.1"
+description = "Full featured redis cache backend for Django."
+category = "main"
+optional = false
+python-versions = ">=3.5"
+
+[package.dependencies]
+Django = ">=2.2"
+redis = ">=3.0.0"
+
 [[package]]
 name = "django-render-block"
 version = "0.8.1"
@@ -810,19 +1045,18 @@ django = ">=1.11"
 
 [[package]]
 name = "django-sass-processor"
-version = "0.8.2"
+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]
-dev = ["libsass (>=0.13)"]
-management-command = ["django-compressor (>=2.4)"]
+management_command = ["django-compressor (>=2.4)"]
 
 [[package]]
 name = "django-select2"
-version = "7.6.1"
+version = "7.7.0"
 description = "Select2 option fields for Django"
 category = "main"
 optional = false
@@ -845,7 +1079,7 @@ python-versions = "*"
 
 [[package]]
 name = "django-starfield"
-version = "1.0.post1"
+version = "1.0.post2"
 description = "A no-frills Django form widget for rating stars"
 category = "main"
 optional = false
@@ -893,9 +1127,24 @@ python-versions = "*"
 django-render-block = ">=0.5"
 six = ">=1"
 
+[[package]]
+name = "django-timezone-field"
+version = "4.1.2"
+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-two-factor-auth"
-version = "1.13"
+version = "1.13.1"
 description = "Complete Two-Factor Authentication for Django"
 category = "main"
 optional = false
@@ -906,7 +1155,7 @@ 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,<3.99"
+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\""}
@@ -918,6 +1167,17 @@ phonenumberslite = ["phonenumberslite (>=7.0.9,<8.99)"]
 sms = ["twilio (>=6.0)"]
 yubikey = ["django-otp-yubikey"]
 
+[[package]]
+name = "django-uwsgi-ng"
+version = "1.1.1"
+description = "uWSGI stuff for Django projects"
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.extras]
+uwsgi = ["uwsgi"]
+
 [[package]]
 name = "django-widget-tweaks"
 version = "1.4.8"
@@ -940,7 +1200,7 @@ six = "*"
 
 [[package]]
 name = "docutils"
-version = "0.16"
+version = "0.17"
 description = "Docutils -- Python Documentation Utilities"
 category = "dev"
 optional = false
@@ -964,7 +1224,7 @@ pipenv = ["pipenv"]
 
 [[package]]
 name = "dynaconf"
-version = "3.1.2"
+version = "3.1.4"
 description = "The dynamic configurator for your Python Project"
 category = "main"
 optional = false
@@ -986,7 +1246,7 @@ yaml = ["ruamel.yaml"]
 
 [[package]]
 name = "faker"
-version = "5.8.0"
+version = "7.0.1"
 description = "Faker is a Python package that generates fake data for you."
 category = "main"
 optional = false
@@ -998,16 +1258,16 @@ text-unidecode = "1.3"
 
 [[package]]
 name = "flake8"
-version = "3.8.4"
+version = "3.9.0"
 description = "the modular source code checker: pep8 pyflakes and co"
 category = "dev"
 optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7"
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
 
 [package.dependencies]
 mccabe = ">=0.6.0,<0.7.0"
-pycodestyle = ">=2.6.0a1,<2.7.0"
-pyflakes = ">=2.2.0,<2.3.0"
+pycodestyle = ">=2.7.0,<2.8.0"
+pyflakes = ">=2.3.0,<2.4.0"
 
 [[package]]
 name = "flake8-bandit"
@@ -1062,7 +1322,7 @@ flake8 = "*"
 
 [[package]]
 name = "flake8-docstrings"
-version = "1.5.0"
+version = "1.6.0"
 description = "Extension for flake8 which uses pydocstyle to check docstrings"
 category = "dev"
 optional = false
@@ -1122,7 +1382,7 @@ flake8 = "*"
 
 [[package]]
 name = "flake8-rst-docstrings"
-version = "0.0.13"
+version = "0.0.14"
 description = "Python docstring reStructuredText (RST) validator"
 category = "dev"
 optional = false
@@ -1150,18 +1410,18 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
 
 [[package]]
 name = "gitdb"
-version = "4.0.5"
+version = "4.0.7"
 description = "Git Object Database"
 category = "dev"
 optional = false
 python-versions = ">=3.4"
 
 [package.dependencies]
-smmap = ">=3.0.1,<4"
+smmap = ">=3.0.1,<5"
 
 [[package]]
 name = "gitpython"
-version = "3.1.12"
+version = "3.1.14"
 description = "Python Git Library"
 category = "dev"
 optional = false
@@ -1196,7 +1456,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
 [[package]]
 name = "importlib-metadata"
-version = "3.4.0"
+version = "3.10.0"
 description = "Read metadata from Python packages"
 category = "main"
 optional = false
@@ -1207,7 +1467,7 @@ zipp = ">=0.5"
 
 [package.extras]
 docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
-testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "pytest-enabler", "packaging", "pep517", "pyfakefs", "flufl.flake8", "pytest-black (>=0.3.7)", "pytest-mypy", "importlib-resources (>=1.3)"]
+testing = ["pytest (>=4.6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "packaging", "pep517", "pyfakefs", "flufl.flake8", "pytest-black (>=0.3.7)", "pytest-mypy", "importlib-resources (>=1.3)"]
 
 [[package]]
 name = "iniconfig"
@@ -1217,9 +1477,48 @@ category = "dev"
 optional = false
 python-versions = "*"
 
+[[package]]
+name = "ipython"
+version = "7.22.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"
+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.16)", "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.16)"]
+
+[[package]]
+name = "ipython-genutils"
+version = "0.2.0"
+description = "Vestigial utilities from IPython"
+category = "main"
+optional = false
+python-versions = "*"
+
 [[package]]
 name = "isort"
-version = "5.7.0"
+version = "5.8.0"
 description = "A Python utility / library to sort Python imports."
 category = "dev"
 optional = false
@@ -1230,6 +1529,21 @@ pipfile_deprecated_finder = ["pipreqs", "requirementslib"]
 requirements_deprecated_finder = ["pipreqs", "pip-api"]
 colors = ["colorama (>=0.4.3,<0.5.0)"]
 
+[[package]]
+name = "jedi"
+version = "0.18.0"
+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 (<6.0.0)"]
+
 [[package]]
 name = "jinja2"
 version = "2.11.3"
@@ -1244,6 +1558,33 @@ MarkupSafe = ">=0.23"
 [package.extras]
 i18n = ["Babel (>=0.8)"]
 
+[[package]]
+name = "kombu"
+version = "5.0.2"
+description = "Messaging library for Python."
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+amqp = ">=5.0.0,<6.0.0"
+
+[package.extras]
+azureservicebus = ["azure-servicebus (>=0.21.1)"]
+azurestoragequeues = ["azure-storage-queue"]
+consul = ["python-consul (>=0.6.0)"]
+librabbitmq = ["librabbitmq (>=1.5.2)"]
+mongodb = ["pymongo (>=3.3.0)"]
+msgpack = ["msgpack"]
+pyro = ["pyro4"]
+qpid = ["qpid-python (>=0.26)", "qpid-tools (>=0.26)"]
+redis = ["redis (>=3.3.11)"]
+slmq = ["softlayer-messaging (>=1.0.3)"]
+sqlalchemy = ["sqlalchemy"]
+sqs = ["boto3 (>=1.4.4)", "pycurl (==7.43.0.2)"]
+yaml = ["PyYAML (>=3.10)"]
+zookeeper = ["kazoo (>=1.3.1)"]
+
 [[package]]
 name = "latex"
 version = "0.7.0"
@@ -1298,7 +1639,7 @@ python-versions = "*"
 
 [[package]]
 name = "mypy"
-version = "0.800"
+version = "0.812"
 description = "Optional static typing for Python"
 category = "dev"
 optional = false
@@ -1331,6 +1672,26 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 [package.dependencies]
 pyparsing = ">=2.0.2"
 
+[[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.8.1"
@@ -1368,26 +1729,34 @@ ptyprocess = ">=0.5"
 
 [[package]]
 name = "pg8000"
-version = "1.17.0"
+version = "1.19.1"
 description = "PostgreSQL interface library"
 category = "dev"
 optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.6"
 
 [package.dependencies]
-scramp = "1.2.0"
+scramp = "1.3.0"
 
 [[package]]
 name = "phonenumbers"
-version = "8.12.17"
+version = "8.12.20"
 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.1.0"
+version = "8.2.0"
 description = "Python Imaging Library (Fork)"
 category = "main"
 optional = false
@@ -1406,15 +1775,26 @@ dev = ["pre-commit", "tox"]
 
 [[package]]
 name = "prometheus-client"
-version = "0.9.0"
+version = "0.10.0"
 description = "Python client for the Prometheus monitoring system."
 category = "main"
 optional = false
-python-versions = "*"
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
 [package.extras]
 twisted = ["twisted"]
 
+[[package]]
+name = "prompt-toolkit"
+version = "3.0.18"
+description = "Library for building powerful interactive command lines in Python"
+category = "main"
+optional = false
+python-versions = ">=3.6.1"
+
+[package.dependencies]
+wcwidth = "*"
+
 [[package]]
 name = "psutil"
 version = "5.8.0"
@@ -1452,7 +1832,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
 [[package]]
 name = "pycodestyle"
-version = "2.6.0"
+version = "2.7.0"
 description = "Python style guide checker"
 category = "dev"
 optional = false
@@ -1460,26 +1840,26 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
 [[package]]
 name = "pycryptodome"
-version = "3.9.9"
+version = "3.10.1"
 description = "Cryptographic library for Python"
 category = "main"
 optional = false
-python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 
 [[package]]
 name = "pydocstyle"
-version = "5.1.1"
+version = "6.0.0"
 description = "Python docstring style checker"
 category = "dev"
 optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.6"
 
 [package.dependencies]
 snowballstemmer = "*"
 
 [[package]]
 name = "pyflakes"
-version = "2.2.0"
+version = "2.3.1"
 description = "passive checker of Python programs"
 category = "dev"
 optional = false
@@ -1487,9 +1867,9 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
 [[package]]
 name = "pygments"
-version = "2.7.4"
+version = "2.8.1"
 description = "Pygments is a syntax highlighting package written in Python."
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.5"
 
@@ -1516,7 +1896,7 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
 
 [[package]]
 name = "pytest"
-version = "6.2.2"
+version = "6.2.3"
 description = "pytest: simple powerful testing with Python"
 category = "dev"
 optional = false
@@ -1552,18 +1932,18 @@ testing = ["fields", "hunter", "process-tests (==2.0.2)", "six", "pytest-xdist",
 
 [[package]]
 name = "pytest-django"
-version = "3.10.0"
+version = "4.1.0"
 description = "A Django plugin for pytest."
 category = "dev"
 optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+python-versions = ">=3.5"
 
 [package.dependencies]
-pytest = ">=3.6"
+pytest = ">=5.4.0"
 
 [package.extras]
 docs = ["sphinx", "sphinx-rtd-theme"]
-testing = ["django", "django-configurations (>=2.0)", "six"]
+testing = ["django", "django-configurations (>=2.0)"]
 
 [[package]]
 name = "pytest-django-testing-postgresql"
@@ -1591,26 +1971,30 @@ pytest = ">=2.9"
 termcolor = ">=1.1.0"
 
 [[package]]
-name = "python-dateutil"
-version = "2.8.1"
-description = "Extensions to the standard Python datetime module"
+name = "python-crontab"
+version = "2.5.1"
+description = "Python Crontab API"
 category = "main"
 optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
+python-versions = "*"
 
 [package.dependencies]
-six = ">=1.5"
+python-dateutil = "*"
+
+[package.extras]
+cron-description = ["cron-descriptor"]
+cron-schedule = ["croniter"]
 
 [[package]]
-name = "python-memcached"
-version = "1.59"
-description = "Pure python memcached client"
+name = "python-dateutil"
+version = "2.8.1"
+description = "Extensions to the standard Python datetime module"
 category = "main"
 optional = false
-python-versions = "*"
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
 
 [package.dependencies]
-six = ">=1.4.0"
+six = ">=1.5"
 
 [[package]]
 name = "python-pam"
@@ -1690,7 +2074,7 @@ redis = ">=3.1.0,<4.0.0"
 
 [[package]]
 name = "regex"
-version = "2020.11.13"
+version = "2021.4.4"
 description = "Alternative regular expression module, to replace re."
 category = "dev"
 optional = false
@@ -1727,14 +2111,14 @@ docutils = ">=0.11,<1.0"
 
 [[package]]
 name = "ruamel.yaml"
-version = "0.16.12"
+version = "0.17.2"
 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 = "*"
+python-versions = ">=3"
 
 [package.dependencies]
-"ruamel.yaml.clib" = {version = ">=0.1.2", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.9\""}
+"ruamel.yaml.clib" = {version = ">=0.1.2", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.10\""}
 
 [package.extras]
 docs = ["ryd"]
@@ -1772,11 +2156,14 @@ requests = "*"
 
 [[package]]
 name = "scramp"
-version = "1.2.0"
+version = "1.3.0"
 description = "An implementation of the SCRAM protocol."
 category = "dev"
 optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.6"
+
+[package.dependencies]
+asn1crypto = "1.4.0"
 
 [[package]]
 name = "selenium"
@@ -1807,11 +2194,11 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
 
 [[package]]
 name = "smmap"
-version = "3.0.5"
+version = "4.0.0"
 description = "A pure Python implementation of a sliding window memory map manager"
 category = "dev"
 optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+python-versions = ">=3.5"
 
 [[package]]
 name = "snowballstemmer"
@@ -1823,11 +2210,11 @@ python-versions = "*"
 
 [[package]]
 name = "soupsieve"
-version = "2.1"
+version = "2.2.1"
 description = "A modern CSS selector implementation for Beautiful Soup."
 category = "main"
 optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.6"
 
 [[package]]
 name = "spdx-license-list"
@@ -1839,7 +2226,7 @@ python-versions = "*"
 
 [[package]]
 name = "sphinx"
-version = "3.4.3"
+version = "3.5.3"
 description = "Python documentation generator"
 category = "dev"
 optional = false
@@ -1865,7 +2252,7 @@ sphinxcontrib-serializinghtml = "*"
 
 [package.extras]
 docs = ["sphinxcontrib-websupport"]
-lint = ["flake8 (>=3.5.0)", "isort", "mypy (>=0.790)", "docutils-stubs"]
+lint = ["flake8 (>=3.5.0)", "isort", "mypy (>=0.800)", "docutils-stubs"]
 test = ["pytest", "pytest-cov", "html5lib", "cython", "typed-ast"]
 
 [[package]]
@@ -2054,7 +2441,7 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
 
 [[package]]
 name = "tqdm"
-version = "4.56.0"
+version = "4.59.0"
 description = "Fast, Extensible Progress Meter"
 category = "main"
 optional = false
@@ -2062,11 +2449,26 @@ python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7"
 
 [package.extras]
 dev = ["py-make (>=0.1.0)", "twine", "wheel"]
+notebook = ["ipywidgets (>=6)"]
 telegram = ["requests"]
 
+[[package]]
+name = "traitlets"
+version = "5.0.5"
+description = "Traitlets Python configuration system"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[package.dependencies]
+ipython-genutils = "*"
+
+[package.extras]
+test = ["pytest"]
+
 [[package]]
 name = "twilio"
-version = "6.51.1"
+version = "6.55.0"
 description = "Twilio API client and TwiML generator"
 category = "main"
 optional = false
@@ -2096,16 +2498,32 @@ python-versions = "*"
 
 [[package]]
 name = "urllib3"
-version = "1.26.3"
+version = "1.26.4"
 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.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)"]
+brotli = ["brotlipy (>=0.6.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"
@@ -2128,20 +2546,20 @@ pycryptodome = "*"
 
 [[package]]
 name = "zipp"
-version = "3.4.0"
+version = "3.4.1"
 description = "Backport of pathlib-compatible object wrapper for zip files"
 category = "main"
 optional = false
 python-versions = ">=3.6"
 
 [package.extras]
-docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
-testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "jaraco.test (>=3.2.0)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"]
+docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
+testing = ["pytest (>=4.6)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "pytest-enabler", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"]
 
 [metadata]
 lock-version = "1.1"
 python-versions = "^3.8"
-content-hash = "8bf5859020226db44861394607ca2f2786c54558a47d47eda4f5da62109411f8"
+content-hash = "87c43b412b13c0949dcc396c308a2f2b85aec3a8e8149a9b742d9d8c0e07777b"
 
 [metadata.files]
 alabaster = [
@@ -2149,38 +2567,418 @@ alabaster = [
     {file = "alabaster-0.7.12.tar.gz", hash = "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"},
 ]
 aleksis-builddeps = [
-    {file = "AlekSIS-Builddeps-1.tar.gz", hash = "sha256:97a19597f422593cbdc438aabf17f95748126c8951df6ac7db7991fc99c108c4"},
+    {file = "AlekSIS-Builddeps-2.tar.gz", hash = "sha256:fdf8b230ba4a690c279d99004316e84d7d9d72962768ca6b3205df54db9abaab"},
 ]
 aleksis-core = [
-    {file = "AlekSIS-Core-2.0a4.dev0+20210110235311.4f1416d6.tar.gz", hash = "sha256:3077e502e9ec9a5d75e39bba8bc6d5f187807de1441c662710e173683f5dd078"},
-    {file = "AlekSIS-Core-2.0a4.dev0+20210111201241.fca06e40.tar.gz", hash = "sha256:4068af0c8539ae3eee8afa25de8d621ebe8a3510d494b01294cf7d034a56f127"},
-    {file = "AlekSIS-Core-2.0a4.dev0+20210111203502.a2d9ca39.tar.gz", hash = "sha256:8526829ab37d0a5d2de83d36e4c784ddef8ea8fe1f9bdd021cee3238e5c5d34c"},
-    {file = "AlekSIS-Core-2.0a4.dev0+20210111204523.52a9a9e6.tar.gz", hash = "sha256:69e01d5b072df22bbfa26c023dee48bf571380582e02231b5a4e20700b3594b0"},
-    {file = "AlekSIS-Core-2.0a4.dev0+20210113190752.cc90f91b.tar.gz", hash = "sha256:a654a7194b7067203431b31148ca4ecc49b8a431518778920520ac59b9a9cabc"},
-    {file = "AlekSIS-Core-2.0a4.dev0+20210115182447.f21a9fd0.tar.gz", hash = "sha256:62273a1d947920b72d555bd02a9b2f46176ad838864ff293216da9754054d5ec"},
-    {file = "AlekSIS-Core-2.0a4.dev0+20210115220406.aef9fc72.tar.gz", hash = "sha256:5beb43844d23d86cfee520a015040539c7b6eafd710350c0e042f42f6b4df560"},
-    {file = "AlekSIS-Core-2.0a4.dev0+20210116115203.ce78dc63.tar.gz", hash = "sha256:11fef32095c8248df9fd7f27cbf915706970da26089bf91dfd0e02d2591964ba"},
-    {file = "AlekSIS-Core-2.0a4.dev0+20210117104418.f7485aa0.tar.gz", hash = "sha256:33b86b0803c813aa111df4018b9912675afed3d9881108ab67d4276aab4497f2"},
-    {file = "AlekSIS-Core-2.0a4.dev0+20210121140753.7f7264c8.tar.gz", hash = "sha256:f45aface8f31424736ef1841133ce8da8e3089cc49022e4b30084d044cecebad"},
-    {file = "AlekSIS_Core-2.0a4.dev0+20210110235311.4f1416d6-py3-none-any.whl", hash = "sha256:641584183ce04ce32424aef46fd68ffe3e868c0ac16f602fec56d382c6879eb8"},
-    {file = "AlekSIS_Core-2.0a4.dev0+20210111201241.fca06e40-py3-none-any.whl", hash = "sha256:2c21dcd2eff05ab0086d68f4d37b03ce9ffc3f3de421dcc050ba063d18e09149"},
-    {file = "AlekSIS_Core-2.0a4.dev0+20210111203502.a2d9ca39-py3-none-any.whl", hash = "sha256:071be80488d45eee8920f04387c38279c30cb29a9e2cbbccfc63eed81b72fff3"},
-    {file = "AlekSIS_Core-2.0a4.dev0+20210111204523.52a9a9e6-py3-none-any.whl", hash = "sha256:fb0f5d00bee1f498ca8abdeba8780d75eff8bf9c750c2282425530f61443487b"},
-    {file = "AlekSIS_Core-2.0a4.dev0+20210113190752.cc90f91b-py3-none-any.whl", hash = "sha256:5b569c581b43a68303e802e508bf08634f622925180b229242ddf85f2b786575"},
-    {file = "AlekSIS_Core-2.0a4.dev0+20210115182447.f21a9fd0-py3-none-any.whl", hash = "sha256:987ed8aebc44ef17ac18b99f1eea6f09703c9067b00f6fa81ec0d90ca0cb69e8"},
-    {file = "AlekSIS_Core-2.0a4.dev0+20210115220406.aef9fc72-py3-none-any.whl", hash = "sha256:9e6e051eae3b8ff313a29d6a2046c18ef0d0c157265ebc3378ea87348450dc04"},
-    {file = "AlekSIS_Core-2.0a4.dev0+20210116115203.ce78dc63-py3-none-any.whl", hash = "sha256:3c52ba2fb99e25922a54253030afa2c32952f217c0fcecce4e5c359da8aeee8d"},
-    {file = "AlekSIS_Core-2.0a4.dev0+20210117104418.f7485aa0-py3-none-any.whl", hash = "sha256:dd32eb0fc694bee2883afbee4b5cbab3466f702567158916e09e01bef230f87a"},
-    {file = "AlekSIS_Core-2.0a4.dev0+20210121140753.7f7264c8-py3-none-any.whl", hash = "sha256:e58e1e2158db8b1612cd57f92d17e0fdceabb3ae1f0822d911fcc80b0e4f1d27"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210215073735.26fabd33.tar.gz", hash = "sha256:e367f4f23061435d8df7492eea3658dcf26a429c9ac95d58923e82e80ed52dac"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210217102451.bbdb8454.tar.gz", hash = "sha256:77dfe5726d2014afae043320da8552526cfa850ecae1a316cd3f8f24bf955930"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210217123802.d23be3b6.tar.gz", hash = "sha256:1489d70f360d0edf46d84d141f01af3fe3f12332b0bc99921ad20a174b4c211b"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210221200356.d50b445b.tar.gz", hash = "sha256:47c2dd168483dcfca23ade2d454cc9f067634ce379d85d4ddc8d5fd4d4b65d4e"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210221211436.3e258294.tar.gz", hash = "sha256:3602ed8c09f3c51db5924cc8f51f698cca4335f3b06653f681df47b64e3b7da1"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210221214851.77df2d66.tar.gz", hash = "sha256:a1b8b82dd1ed1cfe7c3c10acb43717a029ea51bad100db3cbec2e991ea1aee27"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210301214636.9313d3a8.tar.gz", hash = "sha256:624beca820c7efa4b866de528a7d6c93f15c2b5ea7629963966dfbbba5d6ee90"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210302092500.d579eec2.tar.gz", hash = "sha256:478e84e14a760384322cc5a43bd53a03c5a8cf934053765cc210dcae0cb45852"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210306112033.ae230406.tar.gz", hash = "sha256:4e724e17d42930dc01a67c5089843b759aa8704b241503d530bccfcb2dc2f096"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210306112300.2621edcd.tar.gz", hash = "sha256:a4def611a8fc89369deae26e5735eb5acb5a40efad2f14016d92dac606adf331"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210306211151.69c211aa.tar.gz", hash = "sha256:32e442ba003c2ef0ed7b69a4aa859e3e00ee38864f862cb9968494d639171d57"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210308111437.730e6da9.tar.gz", hash = "sha256:52aad11ada1fdaeb407c4f749a5a526f009e766438b5699c8b77b6f18fbbf62a"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210308142119.cf471364.tar.gz", hash = "sha256:edeaec9790e1289cafcbaa27ad2e064605f0313adf932c80c622d468001f9a87"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210309213501.5b41df20.tar.gz", hash = "sha256:9eed02d084dbb37f1301894842adb4549d6f42af7defe4bdb99bae91f967db34"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210309222921.8b4224ff.tar.gz", hash = "sha256:6101f6389d6012db5e007fffb59fdde82cf38ff78edca8407acd2d5848349563"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210309234035.c2392a1e.tar.gz", hash = "sha256:e5dd5a204cf76f5370c27be71363e8b47f48659cde17978b4d4136d785d6bd1e"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210310125949.adc66e60.tar.gz", hash = "sha256:ba71727e20baef09d59ed0b0addb5a2cf6b2917daf184991c76e1bdd04cc261a"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210310202452.afc803dc.tar.gz", hash = "sha256:29080cb23a59ce665d6c767ad5fbb7ed4e1cb4956495949b4d3d70db13a70746"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210310221521.397943ef.tar.gz", hash = "sha256:3dff597a0cb93bacf76531fedc3b15f0404d388349752dd61f7de2a3cceb21f8"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210310223742.cedf3588.tar.gz", hash = "sha256:ca6e4a4bcd6e381ed1336ac86f84ccafda3d1506a9068068e56b9adf925929fd"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210311073153.1c949fe3.tar.gz", hash = "sha256:097a821179953b6e9ac4c00993c3b12a88bb6f2ae83399fcbefa65fbc1ae590b"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210311073429.6778e4bb.tar.gz", hash = "sha256:970878c6cae8e8987c3a51bd13c24c8ec53a584303bfe914898c121ad0d77f4b"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210311095122.aa90950c.tar.gz", hash = "sha256:3535f55091f2ef3834f0b549d674e0aaba7950e2df3114feef5942f51cbe3ea5"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210311095353.64baf50d.tar.gz", hash = "sha256:de616a27bd7306881df170dd358d6ef8b7be24c7f5eb31ab10965a4273b1ac95"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210311101050.58e1e474.tar.gz", hash = "sha256:0e100fd572007a77143c6d19aaf6d3c51ba45e1c0a74638a3cb9602c15ce401b"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210311212733.a2e0b6d6.tar.gz", hash = "sha256:7e03149df93fec5710ff9d38e434af304752d402cc0502ecb264d433116f98d4"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210311213645.b8d4f1de.tar.gz", hash = "sha256:4ca115541314b7a3244f69a7604f1b613a57b4569df4cf3b30d8dbf75e7ebe1e"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210311215117.b76d2158.tar.gz", hash = "sha256:1819e728f07a9a757ca0f7a2497a84b13dd21867af8fc4364f1841cdec860885"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210311220040.fcbefd57.tar.gz", hash = "sha256:72659b6c748b7171707652d8d0f6fb5d56d7d9195a1265b85a2be7c932fd99b6"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210311222329.9772853a.tar.gz", hash = "sha256:afa97ffc37503a142a22343fd7382c15ac7841c71621c338deb0621db3012699"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210311223437.62f15f74.tar.gz", hash = "sha256:f5671b509cb88dc49c828c264b0160efd32a5db99c361e2be774208e55919e20"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210311225158.bb38fba5.tar.gz", hash = "sha256:b6efbba1e6be1150a60c2a86d677409159f071047199ec3b7d4cc09f124ae86d"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210311233614.da1cc7d8.tar.gz", hash = "sha256:80da1d262ac2500bb7c28b9c553e0607428a4ad6d1f41ad7e8d08765b9bc95ac"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210312213819.374a2d20.tar.gz", hash = "sha256:5df1677f29ee353614be7008a133bc40a6d1de252d4ecccfb8613b22eee814ef"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210312214810.08ce55c2.tar.gz", hash = "sha256:4a58ba4c175aded90dc8ab8655285a706fa31ab2532d23c89f5f797d06d7763b"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210312221923.9a9d4f05.tar.gz", hash = "sha256:af436fb37b670827f00c7ef8f8cc5c59bdb1748f2505a356dc0aed5009d966e0"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210312224345.c1b0f4c9.tar.gz", hash = "sha256:1b084bc26a138fdc0e92cd8ba62204c546a76793fef1f4bcc101e9c148096722"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210312224955.cc9f2628.tar.gz", hash = "sha256:d5bd60678172c5074b5aefb016d151a74ad4a088d78469fd09b77a6207b56db7"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210312230855.97e05eea.tar.gz", hash = "sha256:ceae9423c5c43eb995aa2ad03a6609990fd8cb123b46b2eb8138b58f32ac12d4"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210313132725.3605ee54.tar.gz", hash = "sha256:6c3c239a4743a465e95204ba852996ece6d720bb123d78ac1d47a75b9f8cae20"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210313160435.c82d3215.tar.gz", hash = "sha256:a23f23402617ba46ebcea1d6a777fafe059dcd8a69c7ccd894182688a7b850b1"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210313161819.9d2cb0bd.tar.gz", hash = "sha256:275ce23d7913f8bce566fc9ba70ebcb44e31d8264e571c8e631f49b842a041df"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210313174148.4d6213ac.tar.gz", hash = "sha256:4ed9f1423ac72327d1b5d160fc3c3349d2c18a38e34df2ba394c31a8d25e846a"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210313182736.57fe6050.tar.gz", hash = "sha256:da7a5348535077082247f5a95c1456a54b6facf9b020d5a99b2d0e12563b398f"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210314003157.84755d1d.tar.gz", hash = "sha256:e80700e8f80219f97b95c813dd0bc871812535bdde3e3cdfd2470779314b67d9"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210314004159.606df0e7.tar.gz", hash = "sha256:02834eb6ca18b65f2a2003da8c661f9bb1cc28d3c1f5f8068a7efd359d6c8c20"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210314011635.2c4077d3.tar.gz", hash = "sha256:d822acf172c12e5183411a57e24ead6a36f85458996a38a89b9a45749e2f211e"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210314012528.dd8917e9.tar.gz", hash = "sha256:98eea644bb018f638f5ed76467036da3f18c6b59a95458116b5b577f97d7d2f5"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210314111658.ddc1b47d.tar.gz", hash = "sha256:f13ed377254e554c0353e1d588149201197a715fd46b951834ba15dd864427bd"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210314111847.a3cf86d3.tar.gz", hash = "sha256:09bd18ab4360a589c65acc64d4cb4fb1c31ed1897c207e373ef737b652723146"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210314112858.0c10a5b5.tar.gz", hash = "sha256:1b9db54d9c9fa1657d6f49cd4eca5f1b127701c32a6953bf33fb4fa36e1570a1"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210314113115.ec96d2c1.tar.gz", hash = "sha256:cde03fc9b300987e8bc6646241dc1e6bd1d0efd7696cfbb73a962c546d48496d"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210314115119.6d83266f.tar.gz", hash = "sha256:28ca1124a79cf626c31579c59cadb7b66c99e8d2ad4d2facb122e8545123e0e9"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210314120238.e6d4cdc3.tar.gz", hash = "sha256:d1f833b5d73909369c6af2e9bf3026af0f0e68b12114b38c53412a3ec9d595c8"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210314154625.ad1ab727.tar.gz", hash = "sha256:acf13fad6dea2be766952f5a9d33ee3f115928f025a9a67fbf33005a1c50d871"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210315211349.62230146.tar.gz", hash = "sha256:eaefed4d530643189d5b34298efc6026b9bbb76409f8153104b64346cd9c0768"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210315225020.df2eacfe.tar.gz", hash = "sha256:2e2fd0593e641e23e9f5600d705eaf135fd37d7a8b97e80be3b75147443f90df"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210315225641.4f54bd31.tar.gz", hash = "sha256:423ab571ec884680025f0775a8cccefea03fc9fc2e941fb702a1d3b8ae6c71f9"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210315225753.82a422c3.tar.gz", hash = "sha256:440cec27bb909fa935f0934c4d93e47b899b1b300e86cc620b1e296f4c698008"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210316114237.885cd0c1.tar.gz", hash = "sha256:fde03e72e78d06d45c1a924ec04f187ae057eca9b1563f6061f318a90fc75a92"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210316123600.2f6fb73b.tar.gz", hash = "sha256:a0615589933395e4b17a44d581525a989b279a96249ad9cb09e688b1127387e6"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210316211952.2e5d89b0.tar.gz", hash = "sha256:9541feee0b148fce9e6da76eae9a41a7bda2d6669a99aac24ee9260d16fd5f50"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210316212342.a6d45dd5.tar.gz", hash = "sha256:dc008f76502e551d845cbd39215bac9fb127694f33d984894d6f4248c41c582c"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210317021627.bf54ba4a.tar.gz", hash = "sha256:b09fba45f4f6a912fa68a9ab93dd4461a987b64db6c025cd209fff9fc925fa7f"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210317083535.3b5b720d.tar.gz", hash = "sha256:61e417f9016b321fe010729a5cdb1f0a59eac4ad6afe3eebc92ff271efde07b2"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210317092433.8ee26117.tar.gz", hash = "sha256:94be727eda245fd6ac7f1845811299d192600627db88a56ce284e3e5f4eeb69e"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210317102748.6293c560.tar.gz", hash = "sha256:a2b9a411da9db0eba3ee434de5f75fc62ff6d98299b1416bb42b481e4ea11eda"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210317120905.c2e3b8c5.tar.gz", hash = "sha256:2be5dba1096c3b5988880576fe5b89d544b0af95d27d2656d718bfbe7d229447"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210317165554.a0d0e390.tar.gz", hash = "sha256:b769e672badbf568f7e24865e8c9e273357111e1c268df9d7b08d4c978722386"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210317215323.ef4b636b.tar.gz", hash = "sha256:eedbd18a7e86c4a43f5376477c9ebe4cbea16d69c5311b1b63c950baee3be500"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210317215833.2061d539.tar.gz", hash = "sha256:386c1076bc05072cd5647a98db066dfb4e3b68e9d8e8209e1c1f18f6fdb7735f"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210317215926.0e336bcb.tar.gz", hash = "sha256:58e5fb8e0c016d2582fecb5ce8eb50e2e777ff09ef68dc7da6477006a360b862"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210318201459.55e99d06.tar.gz", hash = "sha256:52cf56acb84e40a56588501c98bd31f05494fb4c4531db0b71a60699ba9dcea2"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210318203806.ba84d9ba.tar.gz", hash = "sha256:44e2f9eb3892b3b79a95a27f9ca9bd020838b4be1c27e88995e60033ec4cfa4c"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210318210812.0c8fd987.tar.gz", hash = "sha256:6bc0846f722bd622d487656d936fb1e41f49f7025ff104c8ed0965791e63ef9f"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210318220843.35a9dff8.tar.gz", hash = "sha256:8be794826fb72c445a66f28c8ce9db52c74248f9156f85eed934924b9b72f35a"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210318222447.8290523b.tar.gz", hash = "sha256:daad9d542793d37e779b7811e3d32f5a761be62d2726c2df704db536f97c1a16"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210318225236.53d0f725.tar.gz", hash = "sha256:b55fb830685d0b5e4f596e0ce57987fd3c4837cb6e5ddf19f7c067605ccae94f"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210318230837.1fc14331.tar.gz", hash = "sha256:28e50482e212f6ee6bacca90f534ebcf8bb9468d3eaad59ddf28cdbc9ba0591a"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210319123042.c4e45fd1.tar.gz", hash = "sha256:8086a3b4f1bf6b9deff76661933d4722113ff4218f958f5fe18b8d51a94f4393"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210319154749.3922b4c8.tar.gz", hash = "sha256:20c64f5e5b40bcfcc0b0c9374db70a6dd1371bbafefd058b3d8f0336a1f91dd9"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210319233528.48414c6c.tar.gz", hash = "sha256:e48f186a18789016818a9e5e0e8cceaa8a3c0df9a19ac1dd0a8f9e2bc4dd8f75"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210320164225.61859464.tar.gz", hash = "sha256:cadbd447e2aab3125cda1833673d4681772c19ccf167bb3bd95dc3b349473b5e"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210320233805.02c397f3.tar.gz", hash = "sha256:64f8e3902543837f22a9e538372af5b17e9a23d23ff27c01d57bbfec86437fb3"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321105051.c561c66e.tar.gz", hash = "sha256:3363a9918322e42b53f3cdc662f1dde31f236b779af18954eb849b2630e6543b"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321121532.f4b84e52.tar.gz", hash = "sha256:b95d15b91f40046b56193cfb9132f421a660a72ad5b0e68b462b6e495e9f1364"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321124424.7a3c1c4d.tar.gz", hash = "sha256:7923c5d77dbc13bc23125efbb1312a6439452e5cb3642bf99bef7d6901bc02ae"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321133101.36b66a96.tar.gz", hash = "sha256:f103a0843b6ebc429b7b8e96bc25fd90763c96cca051ad16ab25b35863a0e23f"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321135525.c2d748c5.tar.gz", hash = "sha256:ff0dd9abcd1c9bbf0f907a4ac96f547c9890aac7a8f667bf3e1dc5292c61ee05"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321135747.d2fe119a.tar.gz", hash = "sha256:5e5409002c5b0a38104f82c6b95f001f9a9407f04b31f9b6359680136beab6fb"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321164710.79ded28e.tar.gz", hash = "sha256:6be405afda022446baf076dda94668cecf9c0f1c031367fcbffb498666c41bec"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321165641.25d55347.tar.gz", hash = "sha256:9aa1eb20d04364d76b085330114846f5c357aa3f8d1eab945b1c4b6c20622c44"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321175133.e56e87ad.tar.gz", hash = "sha256:89dd7c00e045523da246bcba6456978f15ceaad72fffd7912c5ec1aa1e80be69"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321190139.8488d893.tar.gz", hash = "sha256:917eeceeebf6926049c02959ace016dfc8285022ead93430e4afb761412044b7"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321191443.fa3126b7.tar.gz", hash = "sha256:2467cc800d1a8a9c0242cc2091629d27adc283fde7467ff142599d8bf5f1d14d"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321200812.0ab6dc36.tar.gz", hash = "sha256:b91919373b6719b03b9ea95ace96ee55805cd23b3f21e09a382d247d3b3beea6"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321203340.a37df9b2.tar.gz", hash = "sha256:975696ae2ee792e2029c0c2a536580150d45487d43adc3c887a4f906ac41c662"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321203857.ac12eb35.tar.gz", hash = "sha256:f69690eb18143016ef6be2fcae975f8b50674dd78e12d8ea7c41c41c82e48d86"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321204406.88b51582.tar.gz", hash = "sha256:1d1e5f6c58acecb1db9caaeea750c2f774db74190945343cb996ad5f5f4f1ab3"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321205235.3f29be14.tar.gz", hash = "sha256:954adeacf22c142abc7842da04e30af025fd70dcc3d306a9f1dbdaffd484c420"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321205739.1269ae5e.tar.gz", hash = "sha256:184a860cb7bbed78dc55bc118e9b401dcc1817667ad48449b606d2f1d673eb06"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321210046.a632a5a8.tar.gz", hash = "sha256:f2ee7a456c1797a3d4b7e5f2da64a733cba180d9177db13bb73e193b959b3a79"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321210403.cb3c0f0f.tar.gz", hash = "sha256:3a528e4458744e6fc3b2998a9b3c5b806630a424f75ec589561f59a5f9932879"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321210646.5561866f.tar.gz", hash = "sha256:c0c082bd8ae915055a755bad7c3effed555fb5fefe24c2173e138d20557b6da3"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321212047.82532336.tar.gz", hash = "sha256:ea288da1ed2cb0481769f9ede03e6b31636ea64daf37014ae0b43d97e07534d9"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321213812.5d8253fb.tar.gz", hash = "sha256:fc2309581e3a0f496aa877f870ee45ec0a572021ed4487fd1a1a8741c1c92ecc"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321222235.aab80cfc.tar.gz", hash = "sha256:e677e3e32c141a010c2ce5d9c4f1106208d8fbf9231c14d44b2b28504defa2a3"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321223944.57fe7bef.tar.gz", hash = "sha256:557372ca9abb063acbaef8f2111ca71392dfcf01c833c31fbb7a7af3c208a633"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210321230908.7be45a1a.tar.gz", hash = "sha256:810c2c8020960e0ffd3b4424c1bdc339965cd983576c69134ebc9ce912c3c0f3"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210322115219.ce183405.tar.gz", hash = "sha256:eeeb18ffbef0f4c21fac14671d160df5842f3a94f225c79c1e165a945ff65d5d"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210322195410.74eb629e.tar.gz", hash = "sha256:333d3f03cf3cabc0624e0c326c0789f483a83856ed7c7b10b6af1e202c00ac35"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210322201459.63d7233b.tar.gz", hash = "sha256:892769c5bf7f3e8b633ce3902fcd8974139149cafc95909e909e99208035f60c"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210322203149.b7156de7.tar.gz", hash = "sha256:bf39d884258a4a32d916fd8966141fe0d95357fdfce269f36297ec5cf19c220a"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210322220142.fc9837d7.tar.gz", hash = "sha256:e4113bcee2df1db16ce33d520abdd725cb96bbbd38f62270ea15a2d57280d732"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210322221918.39df0f57.tar.gz", hash = "sha256:a12594b168d35129def5e1ee380d56ed4aa56420c462aa9fb857ec6edd67d2b2"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210322224017.1b6fd8ef.tar.gz", hash = "sha256:89b181cc2ccedc4fbc1ae3d3468885915b41b009d3fbba42034ecc7ecec7bd61"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210322225109.fd9c6006.tar.gz", hash = "sha256:04d2b75fef3379284a29a3070d66ad5360925447a366604bd0c72e4008615f4c"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210323110239.dba23b95.tar.gz", hash = "sha256:4ac0b2016a0a3aef71242bfefc534c77c9a2340ad4394873e10a03b071303a52"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210323110658.35ea4686.tar.gz", hash = "sha256:9dce9410abf740a75d50714292c1e6f0e3c8e140395629a5e1c5b41987e641f1"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210323111926.873f7829.tar.gz", hash = "sha256:f9027485c6d3b59415fe763cf3f0e44036c0536eb5b9c8577a6dc183b980db52"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210323114455.73d8ff96.tar.gz", hash = "sha256:1d4a07f607b3dfcd87e6805fbcd25d1f5366465a987bc32996f7dadddcef666f"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210323114527.56aa4eb0.tar.gz", hash = "sha256:f2a08f6d6414197a0408c90058f2aebfd18613c4fd1d69f1783565c739d5919b"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210323114558.5bba476f.tar.gz", hash = "sha256:194fc5e3d424e8d33e6fb79510868740f88728691bd2c194f31ebcc4dd56f3ae"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210323121056.c449808e.tar.gz", hash = "sha256:e16a23c0c8e581ca099856ccddbac73a7f6f4e124dbdd4b874e967c2586bced1"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210323122358.c815e947.tar.gz", hash = "sha256:528e87dc001b1474f1a80c7f443869ae7adb8a1ea5a4b8bd26c071f38c841c2e"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210323122429.90a5f095.tar.gz", hash = "sha256:188420954f210cc1dcd29e9304984135c28b27af6410a06eed4113b375b65b9c"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210323161754.6560c434.tar.gz", hash = "sha256:2dcc845282162a4260b135752231f469de83481d964b7a649416035e7027105c"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210323162304.a1cb2aab.tar.gz", hash = "sha256:d3e203f0623ecbbbe9a92610b61804663bd9c753ec45422e60f0cff5de22078e"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210323162829.7e458d32.tar.gz", hash = "sha256:80b1cc40170419e80e0341dec47aab996e20314067659c2ce7f56659f2a56988"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210323164746.c6f14fe1.tar.gz", hash = "sha256:2e9f806160dce99094ecafcd146e28b05181af76aae0c4f4f693bf07ca16ff17"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210323171038.84598d2c.tar.gz", hash = "sha256:ccfb4c563e0c9af1fdd86eccb89a5780352164f9581a2ea28d71f751651938ce"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210323205416.68113c32.tar.gz", hash = "sha256:37e00a5cf21a9f06f0c67bf70a534dd846f621422b51e0d134434e8bd4425767"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210323210823.3a73626d.tar.gz", hash = "sha256:7ab8bf45cf9133c13e028407dbaf2a56fb9958a0f42ed234c4e2773597035a74"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210323214233.6d9f94a3.tar.gz", hash = "sha256:685bf3999f608794d44619ff966b4c4a1636236be12b60ec5568e894f6058cd3"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210323215254.2eef81d1.tar.gz", hash = "sha256:edaae16f5c1200b77f16e92abec6917eaf649921cbb92d21556f72ae05638c5c"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210323220803.21473b27.tar.gz", hash = "sha256:f44745e82a2370ad3b9708b7910f7d2b2ee24c1bea0589d084ee881e1f80ea9f"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210324114630.731ce6c9.tar.gz", hash = "sha256:ac3f1b919ee22c35afe3e5dd4ad2e11eb0ab67c7c0634668e823c20a8a89de72"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210324115052.e6a9f317.tar.gz", hash = "sha256:9871234df503799f2b65b5bae8d187b55e213a0a6bebe441d4ad084860d58359"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210324153632.7882bb4c.tar.gz", hash = "sha256:7baf53b63117b00f203e24b2e59f2ee370a3a0592f7d3cdfaa40cafcb6cb996f"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210324155907.87d01782.tar.gz", hash = "sha256:171753dda33e706095a4e0106d2bc90ea25642b1f9a32affe791b09b7c91f629"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210324160341.652da5ce.tar.gz", hash = "sha256:a999327e71dee3a28824444a506d58d094e42a6c9c5c4d5b6a3299ac9fce2185"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210324161333.28568658.tar.gz", hash = "sha256:1f767368dd154f793b4268283b3455387897aefb1d9ea4e0c3eb0840af5eccb1"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210324162047.32618329.tar.gz", hash = "sha256:ccd028076c3df05519356a7925657423eac12c7de22033252b0b8f03ac5bcf95"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210324182503.831f6f69.tar.gz", hash = "sha256:ba21ac518595277894e33d6b4125fadb67d95229c4d4a4cd2eab2cca044589f5"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210324192804.78adf5aa.tar.gz", hash = "sha256:32653ca6a07e1f6cb043ea9bccca4c3f7d369723ea61b1f4f3c35e02460f81cd"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210324201113.94d47490.tar.gz", hash = "sha256:1ed9c1bde95e29e51a1d8943312aa3b21b466702af67fd8aa91ebef4a2d2b5c0"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210324205855.0dc64b1e.tar.gz", hash = "sha256:0d55ad77c0d777609811776baa0a308d6f3d43faa6f36a3bab78210b81ea4158"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210324210558.a92c83b3.tar.gz", hash = "sha256:386da98e2eded5166eb2ee7cb018a5063a39321eb47f5efa8acc5c0e5150154c"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210324211142.bbfd46b8.tar.gz", hash = "sha256:7f876684a6e532264d2fcb740e54cbf002f2710e13dcee61f8cca7634eab4d95"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210324213742.f40a562d.tar.gz", hash = "sha256:7838e50c7221a31b6e8f404be1fd2bf491c4d320e310ea968a1ff0775a96d6ab"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210325213459.9b25b235.tar.gz", hash = "sha256:ddeb11a7f3fbb26f1e7fb1df217e1182365c5b8006600e3a2e9c08e34e73715c"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210325215428.28d674a7.tar.gz", hash = "sha256:16fb37f12e7548d70eece185217f42390a96f323b1ec4a84b93823ed21033abb"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210328175059.c47bae97.tar.gz", hash = "sha256:3eaf91a26f87f6fb84fd45b533c93e92745d58d204928b64ffe15acec5cf28f7"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210328181541.030dbb6e.tar.gz", hash = "sha256:49d419abd06e5bb1a43bf67e19ad6b45db55b749c87ee36928234c031004e210"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210328182526.54d82b91.tar.gz", hash = "sha256:9e268d489c6220fb2a6efd44de0ed786a4a2427c92feb8be9ed90f7020ba5883"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210328190416.e7fe54d1.tar.gz", hash = "sha256:c82dfd0478824e26ab5d8a3b433d49ea075e9f4a57930c37eaa4b63214c8452d"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210328215830.5bc9ca16.tar.gz", hash = "sha256:af18c05f1d502e50f279133d270c9b7d1bb61f244144060f3519c9a424933115"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210329085023.1c4be21f.tar.gz", hash = "sha256:ec70b4791c816276c3a9dcfc4db22877f161bb093c1e85d5b53e351551d69fa7"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210329155353.930f3723.tar.gz", hash = "sha256:d9762373e6de9fe5843f58ecc3cbb89927aceb0e1b7f3e90373d5d4cba1e8a67"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210329161232.a05387a0.tar.gz", hash = "sha256:da1b33d749c43e5e953a65ee901a5a64a58f8e1ec6f8dcf33574f0b9110ca808"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210329202826.262b664b.tar.gz", hash = "sha256:0b1c47048486ecc200624560c2ce0dbb4913f8863efc71905989ebbce22524ab"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210330105149.5a075e44.tar.gz", hash = "sha256:fbde37b417bf74d63108d25c933e68beb946a6a650e60dcac0ab3e8a011dd0c1"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210330141943.034b17dd.tar.gz", hash = "sha256:db6c15bb46a69175aeaed9113ec752efc0691b7113feaf77de4c78b4705d03f4"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210330144226.f4ac489e.tar.gz", hash = "sha256:ac0c4e268f9fd3890acd9df3a7eac3b921d792789922a5eeb86ee2d99399a7fb"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210330144950.367a14b4.tar.gz", hash = "sha256:ceeeeec707b73e73102e518a63190da5ff5ae3256cf0a1e7d3921cd5fedcdd76"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210330191902.adb077c4.tar.gz", hash = "sha256:6b4b51feb19ecfcb6b4eb8533c4fe99aa08d43f99fb5479458f6b1a4830fa73f"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210331142606.6d5e9dac.tar.gz", hash = "sha256:4793f7f8752e630d551a25900aa3330d935ade08039873f05f69a8827cbb5f45"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210331144449.1c333a3d.tar.gz", hash = "sha256:f93905180a79bb2c19ad6395aaa4cb32f500ed93aac3a667c40e66b7d194d282"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210331165613.993ac84c.tar.gz", hash = "sha256:c652a68929febcfcee61c7a0b675b9eaf716d537b9a0e7b66790a285fa6b3972"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210331173621.96c06e0a.tar.gz", hash = "sha256:73c53dbebb2921e214c8d59de190202a8a8e49eb30b191f1b7900d0b6b6e6ab0"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210331175953.1a7fc767.tar.gz", hash = "sha256:f8a8d7abd5e3089a2b2be5ca5ca5b9d51bb47f3d214d148e46195eef278ad890"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210331185706.6d1d0d79.tar.gz", hash = "sha256:bd0d54424f7aa3746eb162a7b277474ea710c0d2e638c0ba2ccb64dd77bbc81d"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210331185927.e48390bf.tar.gz", hash = "sha256:4690f8a4b8725afb2862be7395976c3c8ee804a71b5a129a40b5aa414f195e8b"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210331193204.1eab20c2.tar.gz", hash = "sha256:dd8c052307250696f499d709efb21686efdb7eb7f5f7de78704c478f960f3ac0"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210331200124.dbb3657f.tar.gz", hash = "sha256:258397dfa86c002eab8776220376a765796de61268dde9221d5a6d0a4c4dabdc"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210331203907.c66cbefc.tar.gz", hash = "sha256:7444e34fcd27d41494a709f4d78a974ebaf20d4bfc982ae3f58ace8c1cea5c9d"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210331210929.628e5e26.tar.gz", hash = "sha256:cbae4a489f2df27b1f9a1b24e2634aab77fb955252b3a0ac59053bafda7e6b39"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210402143505.ac3ed3ca.tar.gz", hash = "sha256:119e8dcd3d61db3e0a38b43809c4e68766df48b62f0a9cb82607fc0c38376e3b"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210402145359.7d022176.tar.gz", hash = "sha256:7c67d47bcaa0bccc50c8934012519f6bcbff4e6b80eda447c9cbd151bfe9cd62"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210402194047.ddbcf3b6.tar.gz", hash = "sha256:23e976531390fbcbf99097afa9679a1516bab1cb925a9ba30de26e038ec72afe"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210402205450.fa9747a6.tar.gz", hash = "sha256:6e202db52b2f6e3dee916744b0d8e41da92de10dced8606ce84035c33c340298"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210403213255.40859491.tar.gz", hash = "sha256:3ab94f07f447ef34f4ddd95ca93cd8f5d587c36a10c96032587a6d2a1f10f8d2"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210404152044.f08f2953.tar.gz", hash = "sha256:3a1e353210b9718ae41854e53b7112e61e795f3077649b7a3d1610b9b84ca9c7"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210404153350.d8762574.tar.gz", hash = "sha256:fccba0df407e350ad4a5b52f9d6110a4fd0e6de278e9455a3fdf7b84d34c1e0a"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210404161911.79076225.tar.gz", hash = "sha256:2d679e89859f8781249792ba727b72923a2d550e8b7f23acfdecf619c5d3855a"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210404163215.2ec48e88.tar.gz", hash = "sha256:b17cd27781af0dffc0197378662ff70601297424400cd73668c92518679942d8"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210404171853.16eaf34f.tar.gz", hash = "sha256:2f40963d615d0c94a9607e4119cff438ec0ce24ca71cb367663fb9ef24c0f0c1"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210404175733.df6b2672.tar.gz", hash = "sha256:bbff9a3a4f3d92c4677b40b8a609c6e11eb5e83077f03750928d539b2ce63b3d"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210404183210.e30c9b9b.tar.gz", hash = "sha256:3d0d4e950339c15c88e37a02f7ee95af02304e2924827eb085c86854a0c014c7"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210404211131.67789f01.tar.gz", hash = "sha256:a7e9d99d6ee77d60866e50d1ea90abfbcc3c48a3055f6230b1f8a65d2114d7ae"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210405092823.c0995406.tar.gz", hash = "sha256:6344c1888fce6b029c67300cd96c8df287baf2dc57e4a4cfbd3fd6e3493e3b7c"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210405104043.40f11494.tar.gz", hash = "sha256:cdeee776c85d696e69d4c9f537c800742d7c16b3d636a891bb33a26389c2a358"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210405112438.524b91d7.tar.gz", hash = "sha256:3eedfeed58d3bb9b070d5da0069d9307a21bcac99edc77cbdb12cb10d6883d43"},
+    {file = "AlekSIS-Core-2.0a5.dev0+20210405125427.1091cda7.tar.gz", hash = "sha256:3ba3c5e83d5b89c3469eb8684827da53a93f67492c2d1e44b60ccf019a5288c7"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210215073735.26fabd33-py3-none-any.whl", hash = "sha256:9dbe21e49d7aa24f02a6f86ea0c4be8f36bc869bf01382a5bd16271c76cdf2ab"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210217102451.bbdb8454-py3-none-any.whl", hash = "sha256:0c5359f23d48e3d8482c2e13c973f76ec314c0a11241186affaad0a7c8ed655d"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210217123802.d23be3b6-py3-none-any.whl", hash = "sha256:381bb46e98b9dd6dfef638ade1cbfe837dd7c72779b6250819f99897c7050c6d"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210221200356.d50b445b-py3-none-any.whl", hash = "sha256:9375fc896a88143afc986d6c7ab7f77a0bd778f4b72d3790f4f46b313ba7c03f"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210221211436.3e258294-py3-none-any.whl", hash = "sha256:7071cb659ce20697b6e9eb026d081e4f3d9e4ede6c62b24f7181a99a4bb0be87"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210221214851.77df2d66-py3-none-any.whl", hash = "sha256:894698ee102d58991978d6f1cf333dbb197f70901feaee8859b1543095ba9dba"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210301214636.9313d3a8-py3-none-any.whl", hash = "sha256:ebd62082af682f81074b016a0422152ada039f11857df23db40ee8d84422e3a0"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210302092500.d579eec2-py3-none-any.whl", hash = "sha256:055c70da7f1f3fb9a4a50b06e27e68e3733f24b1cc3e34a804acd3e55c2f6731"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210306112033.ae230406-py3-none-any.whl", hash = "sha256:9b8e15f43ee97b6e05d80e4cc01d488b020ee33eeb04bbf4fc60e7a1bbcab438"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210306112300.2621edcd-py3-none-any.whl", hash = "sha256:964a053acb5295e6244dec2e783b9a955da2f4b5a1b30835dbacd10f9eeb8f47"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210306211151.69c211aa-py3-none-any.whl", hash = "sha256:4c35e1649fdedede4a4e36dbffb27a77d3e69f427fe712e70df110bc8441981f"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210308111437.730e6da9-py3-none-any.whl", hash = "sha256:7bee3d792788d478f754faa7b9ea197b46bd6c6f246858f086ef6b21853c8880"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210308142119.cf471364-py3-none-any.whl", hash = "sha256:82ddab57126671530a238938939e8b8985d685afccb7b7d363a228964a51685b"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210309213501.5b41df20-py3-none-any.whl", hash = "sha256:652e33c528c82c06916deaf5ffeb788c24bc9b46b055f43c86e92dc927a64893"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210309222921.8b4224ff-py3-none-any.whl", hash = "sha256:f051f3f61e2b1df790d3e18d31e1afacf2fd1a22c81091c7da2e3013256c7ed8"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210309234035.c2392a1e-py3-none-any.whl", hash = "sha256:89e3bfd7d175963ca3038a81bf52f796ac37da4bd8981def5bd2aa87f0d30060"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210310125949.adc66e60-py3-none-any.whl", hash = "sha256:d8e18d8af8f7fc0e68975ed6b42d71c341c5255042644cc7720f2a4ca3ef948d"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210310202452.afc803dc-py3-none-any.whl", hash = "sha256:6c0c20fd334a59563eb40274bc0a3a9f3732f68cfb0cf982aa1f624f6266825e"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210310221521.397943ef-py3-none-any.whl", hash = "sha256:aa8a068a9eb8a0685b5269d32ff119857ce539c070976fd2dbbf05d034ac83f7"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210310223742.cedf3588-py3-none-any.whl", hash = "sha256:4e8a19d0a31827741a32282480fa081568b8bad83afd29b1003b503ec4015a54"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210311073153.1c949fe3-py3-none-any.whl", hash = "sha256:4fe7fa9a38bc9c473658b922079ea7152443f779682e19b3cda3a8c1010ccd58"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210311073429.6778e4bb-py3-none-any.whl", hash = "sha256:23936aff8530fc3289eb914606ba0a7156585e54160d1e449169c96c1bd90d1b"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210311095122.aa90950c-py3-none-any.whl", hash = "sha256:7793c1d89ab5a05af3e3e8eccabcff609ee4ec004fca14af5010dc9d634f61ca"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210311095353.64baf50d-py3-none-any.whl", hash = "sha256:7cc5e5868c6c1563c89837ab64e68bff5eb3fe15d8660f2e93ec3cbf4c3ec851"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210311101050.58e1e474-py3-none-any.whl", hash = "sha256:5b0e2bc2752c1b5dfcfa98abf7343df6a921e3ae7e6ba813141888df9ae314f8"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210311212733.a2e0b6d6-py3-none-any.whl", hash = "sha256:9b97666b557aaabc42da698c2449f970cb58fd2f8e2d973c9b8c8049c3d3748b"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210311213645.b8d4f1de-py3-none-any.whl", hash = "sha256:1e92aed183828ba86b4dccdc326b78ffeda5f558136c24321797d85d368978ba"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210311215117.b76d2158-py3-none-any.whl", hash = "sha256:e492ef81457add25c9cb99a23eecf928827fcd0083951fb7acf0de3683a27316"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210311220040.fcbefd57-py3-none-any.whl", hash = "sha256:15696633aeb7ba89022bdd4d940939f22ca7ae66acf08e04f47bd4b90d15e0e6"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210311222329.9772853a-py3-none-any.whl", hash = "sha256:e9031355358e664069fcc8d9f64218b0b68f930b6f2db0128a36e2cc748106a6"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210311223437.62f15f74-py3-none-any.whl", hash = "sha256:d4159e919cfa838f0be540c9aa811c410855f9195c42dd8bcea687bdd311f90e"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210311225158.bb38fba5-py3-none-any.whl", hash = "sha256:1096bae8a1f8bbaee3bb6a8b4dbecc2c977e31b1c943ec552f291803b212fab9"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210311233614.da1cc7d8-py3-none-any.whl", hash = "sha256:3105fd5dd87d24b9d026d444c47a5c1db150e834e153f45019767318ddbff631"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210312213819.374a2d20-py3-none-any.whl", hash = "sha256:215d64e895c6f54ab5ee9c46dfad4c4389f2517597a93f6edf4b08541c89df7f"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210312214810.08ce55c2-py3-none-any.whl", hash = "sha256:67edce22b4f2e3628821cba4d5ed501badb3fe5f6f9d8494e6a8768d0056b3f0"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210312221923.9a9d4f05-py3-none-any.whl", hash = "sha256:cbffc550fa0f11fab82af623fc8377b1631b9ff784ee40a982f50a4503426c00"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210312224345.c1b0f4c9-py3-none-any.whl", hash = "sha256:1a2ecce6da1a489863c092000c27ea035db8bfe2adcbe0c36adb0978eafa68f9"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210312224955.cc9f2628-py3-none-any.whl", hash = "sha256:6a7e01a4f4d1be22a3e4cd4e082b99bc3341e769b3aa497d28b9b93fa6c59908"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210312230855.97e05eea-py3-none-any.whl", hash = "sha256:a46751afa4ba04c34fd3ae33033d635d8294fa8f3b79dcb40935fcce1b3d80ea"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210313132725.3605ee54-py3-none-any.whl", hash = "sha256:fef23a584a48d3430f71a52dcb7153d7337144073b96777c24d19308e47fbe38"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210313160435.c82d3215-py3-none-any.whl", hash = "sha256:93cad09fccff4255b7161ff23ee16310d0555719376ffe2ac6ce8d50a6479e09"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210313161819.9d2cb0bd-py3-none-any.whl", hash = "sha256:cb3c5f02262ddfea7ce2fd29fc9018367724ee486f3b746cae8b409fe97f2d3b"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210313174148.4d6213ac-py3-none-any.whl", hash = "sha256:9cf7f69a6241d780a562d09041fa70428507529acb9cd4380cb0a5dd1b91c1b8"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210313182736.57fe6050-py3-none-any.whl", hash = "sha256:8c88a25c55c1a70918955d46ba92671c72915ac4e0e1e1d64e9db970d1f7769f"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210314003157.84755d1d-py3-none-any.whl", hash = "sha256:413eca21855f4c45dcc7b01af7d547497b8bb507f3ce72ea73278ebb3ec61216"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210314004159.606df0e7-py3-none-any.whl", hash = "sha256:291d3507931cc4b2b0effb9e2624ff5ac4a067127ba4195b6f64a96c0acfeb74"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210314011635.2c4077d3-py3-none-any.whl", hash = "sha256:a9c756b23aae402d8f9ed9565abd0043d11983321d56530924287331f8a4c4f0"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210314012528.dd8917e9-py3-none-any.whl", hash = "sha256:c9b7c8af06ebebd92a57353ecbd87b0d7e077cd7f29b287534c08e43dde9f0d2"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210314111658.ddc1b47d-py3-none-any.whl", hash = "sha256:a702dfe11e4ea72929974e3c2e37c2292d53170b83858c4d42f9562077311176"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210314111847.a3cf86d3-py3-none-any.whl", hash = "sha256:820ff61d23d3d3b47b9f5387981ab1507140fcec25067a96346c7fd20eb10119"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210314112858.0c10a5b5-py3-none-any.whl", hash = "sha256:0ebbc53d8615ac2fe41ae855df8912fdec707e43564cd7b21041abf41bc21c77"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210314113115.ec96d2c1-py3-none-any.whl", hash = "sha256:a935be2b10d4a465582a785aa0a25dae21c94f2244bb0d030a74f81755f56e95"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210314115119.6d83266f-py3-none-any.whl", hash = "sha256:243d253ff3ad75cb0bca6f6ca15bc3aba4e09d16b64e34a631cbfc8b5ead6cf3"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210314120238.e6d4cdc3-py3-none-any.whl", hash = "sha256:202c7f09da706eae6f049d01396e9cee6c6fb442a87319b4a48d6cb4541fb89e"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210314154625.ad1ab727-py3-none-any.whl", hash = "sha256:952103ed750bd2479ae3c4b16014ae9fd1f33da524ba19ddbf04d5d53ba8bb73"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210315211349.62230146-py3-none-any.whl", hash = "sha256:e24853ed1d844c681c22eb7d2b2db3747c8f87ffc71198d029b5f6cbcb2179e9"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210315225020.df2eacfe-py3-none-any.whl", hash = "sha256:9957d1db970c88d5fe7aa6fefabd92117e38c28412fec838cf3863e3aa347bb8"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210315225641.4f54bd31-py3-none-any.whl", hash = "sha256:7851f3c969999cdbcf6525ecccd3a5ad37e0f37fe680e1ec18a210f0f520b553"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210315225753.82a422c3-py3-none-any.whl", hash = "sha256:241a6ccc60142d7cc4cc29d69fbb7867faf185bbefed16a7468ed3e6a77ffcb4"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210316114237.885cd0c1-py3-none-any.whl", hash = "sha256:f2a032c2432a69e2f32902de7993548496616fc146b83b4234bbfbf32e44e494"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210316123600.2f6fb73b-py3-none-any.whl", hash = "sha256:c9dccd633680effb8562fb7668561043a710ee872e2ef1928def4510e317dcf0"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210316211952.2e5d89b0-py3-none-any.whl", hash = "sha256:1fcd10121a698e7b9c79178c1484f3935bf64676e1d2a98f2a3647ef6f5248ad"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210316212342.a6d45dd5-py3-none-any.whl", hash = "sha256:e2e171f29db8f5521b94493084d2750fb4c75025ad4403aaf6139598a4bf141c"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210317021627.bf54ba4a-py3-none-any.whl", hash = "sha256:2f55690f38736c9f0d2cd0253a0c024a7c6cd5dd27bc657eda3a14c667f58c64"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210317083535.3b5b720d-py3-none-any.whl", hash = "sha256:51ab31d45ddb228bd19374c90b1c1c6dd06f2b1ede7374cc08d1eb109a1f39c5"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210317092433.8ee26117-py3-none-any.whl", hash = "sha256:d3d313c43be8cf3a550cb04c7c921b5417ef4a5b9feef5d86b7fdd06a1acbe31"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210317102748.6293c560-py3-none-any.whl", hash = "sha256:d3426ea0e892c9b7df7810572f8a5dfbfeeb66c464d6f0db2ed5208892cd8768"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210317120905.c2e3b8c5-py3-none-any.whl", hash = "sha256:62ad18a8485361c7154dc728e85f32ee4b56690f2f53e1b4091ac81b78645fb2"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210317165554.a0d0e390-py3-none-any.whl", hash = "sha256:c0c861e5ec72bc083c697f0788ee037ec98d1c43eaf49bfa7208082c36693c0c"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210317215323.ef4b636b-py3-none-any.whl", hash = "sha256:b8c14484d0d269f637f89c2a1da3b55a5fbe35a4ebaf20d711615b3aac2f20c6"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210317215833.2061d539-py3-none-any.whl", hash = "sha256:c969939d1ce3bc5a2252225d78e8908ac3b46f1308419f5feee0e85921fbda02"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210317215926.0e336bcb-py3-none-any.whl", hash = "sha256:ac1c8b3d67c65ee794637e8f354d2561cdab66020c61871045407f15947cf41d"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210318201459.55e99d06-py3-none-any.whl", hash = "sha256:2a6b2c57b0fe9c4d91a1cc6cc7b669a3f44528c798fc4c615bf1165850e41b63"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210318203806.ba84d9ba-py3-none-any.whl", hash = "sha256:087f73b05971e1090a47a8f89e0d529c05891f1de9ad2d0daf858406535a21c6"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210318210812.0c8fd987-py3-none-any.whl", hash = "sha256:26421a167a36ae6eb79c01d2ae1e6feed6ad3a947083b7cee316aaa4bb3bbe77"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210318220843.35a9dff8-py3-none-any.whl", hash = "sha256:0d323b27f03d9aff6d999c13cf3d7b9b6b8e23d6e35a395d85fab92613a432eb"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210318222447.8290523b-py3-none-any.whl", hash = "sha256:476c43936964651051ae758317d76e0473ffa9fc72a7a2f64f5993ca5032cd2e"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210318225236.53d0f725-py3-none-any.whl", hash = "sha256:6db3bcb143194ef2ea083424561b0e18e2b5066cbdc75248e76b11d724017445"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210318230837.1fc14331-py3-none-any.whl", hash = "sha256:f78898cad1a8a8e1586b5a97c20e0039e95ea371f261332dbe4b3bf8595b7651"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210319123042.c4e45fd1-py3-none-any.whl", hash = "sha256:c785a6a7869fb0cfdc806952da8b309eee7a2bcb09cd1e3e307fa96669c515fb"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210319154749.3922b4c8-py3-none-any.whl", hash = "sha256:d49b1880bc83231b9a65b403c73c19448cffaf2ec9587b81fc2466fffbb7124c"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210319233528.48414c6c-py3-none-any.whl", hash = "sha256:6a1f09f38fd9ed0edf37eee7e79c6f2a9c19eb9f17e676964494873a21ea11f2"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210320164225.61859464-py3-none-any.whl", hash = "sha256:b1f8a3e54a371883e418377b6c3b137a67c73398c4c52659614d9d1050527b4c"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210320233805.02c397f3-py3-none-any.whl", hash = "sha256:f0e7b9a94a4ac41d385d55d09a2eaa5168531192ac1a3ceaeb5b3a10e1ede2b9"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321105051.c561c66e-py3-none-any.whl", hash = "sha256:2582c5fa402a8509c419cc3ade8b777f530cc851ae37aa22db9c3befe08a1f32"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321121532.f4b84e52-py3-none-any.whl", hash = "sha256:e165be54b49448acb23659adb821abc8131e4081ea0f3276ab7d7d1ad808f679"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321124424.7a3c1c4d-py3-none-any.whl", hash = "sha256:5254f89632ad8cbea253fe30ca88681b3a4ea330d7d1a3e917440eadf9137f39"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321133101.36b66a96-py3-none-any.whl", hash = "sha256:d9a601c1b8ac760a1bb440fcfca8aeb2baec8a52659265b6e1d26d8d46413622"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321135525.c2d748c5-py3-none-any.whl", hash = "sha256:7d2798ac2aea066b9524161342a0cd78493d0953df3ba6bbb38e5bf82a5be3f7"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321135747.d2fe119a-py3-none-any.whl", hash = "sha256:9d028c689f627ad7bb4b612e70a168e065c86dca5b8592e93ebb554d9af847e0"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321164710.79ded28e-py3-none-any.whl", hash = "sha256:1c18a67d51d629adc326be814ae4d43c50c57551d5e1420a3d30aa87c037aa96"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321165641.25d55347-py3-none-any.whl", hash = "sha256:6fdb1269d68ae565304b3fd3861a13ee48e91c2fc140d207b91e08822ecd912f"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321175133.e56e87ad-py3-none-any.whl", hash = "sha256:92f3a946af8615da1201bf8f322aac5e13279b3a67b7efff82f9970c7d627a94"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321190139.8488d893-py3-none-any.whl", hash = "sha256:b5c59093507dfb2d22c4b81c9c6693203fb36eef9ce32ffed0155c5c7dce892a"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321191443.fa3126b7-py3-none-any.whl", hash = "sha256:1e08c51b520495b3c50a446b22dbe0c0a4227f5aaceba0bab4ff83505dd82c7e"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321200812.0ab6dc36-py3-none-any.whl", hash = "sha256:3098ec69f3383923eca6088c209e4014a6e486159dc3a194fba767a1f81c4f00"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321203340.a37df9b2-py3-none-any.whl", hash = "sha256:85ecc74e3898720e99baec2ba68eded2f64ba6c7b9160aba4bcf09bd855436b2"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321203857.ac12eb35-py3-none-any.whl", hash = "sha256:3128aaab8b1edc4e7d76a7663e6546c9113bb48adb2bfe1158ab19c7adab4a8c"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321204406.88b51582-py3-none-any.whl", hash = "sha256:faf0e2a931f07c3417c15c93eadde75aaef94cdf2b5dad212f3717f134de2d29"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321205235.3f29be14-py3-none-any.whl", hash = "sha256:e8d96053e69d9a7405aab1bedad8085754ff87dfcebdec0cdb1f6b0d5e7b0cca"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321205739.1269ae5e-py3-none-any.whl", hash = "sha256:ce222289adce263ba83201c04d3b338321f5d12b628534336774b22c495542da"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321210046.a632a5a8-py3-none-any.whl", hash = "sha256:f3ddc09e52ffac937e7bf07182a0995bbd98854a4bdb47361b16b16361365e7a"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321210403.cb3c0f0f-py3-none-any.whl", hash = "sha256:763d4279fd553d7d0a04a145b8a531ccf98cd6b9d7944cec51605994157295ac"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321210646.5561866f-py3-none-any.whl", hash = "sha256:141e9305a8ce184344ec1112f50a3e87eb37c287fa1e87756c3830bac2066fc0"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321212047.82532336-py3-none-any.whl", hash = "sha256:dea43ab1e70b352044781a620f58a1341e9364c8c082c56660f0a81ef8024513"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321213812.5d8253fb-py3-none-any.whl", hash = "sha256:b59f3d0975d09638d80066673a8736975307205136689bcd74b399cea2c554a8"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321222235.aab80cfc-py3-none-any.whl", hash = "sha256:f7ea4474ecdbbf259c339c75bdd724b927f87acfa5d9d5bb26513383e30c761b"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321223944.57fe7bef-py3-none-any.whl", hash = "sha256:9e48ad32d66e89d8d8cd81b9712ae2b5aede70a262ca087ee0de1c944ac0478c"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210321230908.7be45a1a-py3-none-any.whl", hash = "sha256:88aa8c14283a5238bc9ae2d4aae18a2b11929521bd871aaacba6fa3a66193df9"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210322115219.ce183405-py3-none-any.whl", hash = "sha256:3a98afe7c813d46cbba58280b1ca92b43bb1fb8055e4305a8d421b5327f3c784"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210322195410.74eb629e-py3-none-any.whl", hash = "sha256:85b6e3243389043d4b0ef3949bfe62aadd3db1f8b0869b5cecbe218afdf07f2e"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210322201459.63d7233b-py3-none-any.whl", hash = "sha256:ce45edc413ba0759fa716b3cf1f5df4f2bc486b6d557760d0fde3fa686bf5bcb"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210322203149.b7156de7-py3-none-any.whl", hash = "sha256:ef6729b427451630ea2dbdddf671382b6d80561c9cda9d21c71d58b50bd091d0"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210322220142.fc9837d7-py3-none-any.whl", hash = "sha256:397973378a3bb979a5b3f51617afda610be4a3b334d61a08640cc51d0f9bfe83"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210322221918.39df0f57-py3-none-any.whl", hash = "sha256:5daf3ec7e8b484c2360af184abf8d88da455dda4e2b8956e564c9711b353f7d3"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210322224017.1b6fd8ef-py3-none-any.whl", hash = "sha256:b3cffc210920fdf6ed9e6464a573fe160c298fba6e2af00b5873c5d72cb563fd"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210322225109.fd9c6006-py3-none-any.whl", hash = "sha256:63fb572b4f296c9f5408976c788f18c345e48721d338a71606f958a3a6c59eff"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210323110239.dba23b95-py3-none-any.whl", hash = "sha256:948526a2bfbbb89255a139f432deaf72bc0f748db8e9b5d61878da0209ba07c6"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210323110658.35ea4686-py3-none-any.whl", hash = "sha256:e53ec5d98365c61fa36f0f78b453930ccb3e478370c347b04b3aba3d268708b2"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210323111926.873f7829-py3-none-any.whl", hash = "sha256:6289875169d8319d678cd57e0e96bd29f04188217a93d66e5a2a84698284aeb2"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210323114455.73d8ff96-py3-none-any.whl", hash = "sha256:cacb2ab6b41f3efad19135f3e77b796e6715efad0b7a88a1f93339f40ae14393"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210323114527.56aa4eb0-py3-none-any.whl", hash = "sha256:3e7f5689b982fe3e1f8b6d62e26cfe48cade0fb0401a9a91728633b8522959fc"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210323114558.5bba476f-py3-none-any.whl", hash = "sha256:d02a46b30692479139686322a093559a934a153bdca2dfc46db964727aafb7fb"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210323121056.c449808e-py3-none-any.whl", hash = "sha256:17329f944a45eb818748d4e6d19834c6b5c4b5ed1af6f0dd791185622a28e492"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210323122358.c815e947-py3-none-any.whl", hash = "sha256:04931d96e854065c46e5f8785d12cdd211be08e31578cd0ed5c882f39fc8402a"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210323122429.90a5f095-py3-none-any.whl", hash = "sha256:3cc813f10eb626d209f0d1ab2dfdb8892df002e92dfe120b92cb8ef0a98aa516"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210323161754.6560c434-py3-none-any.whl", hash = "sha256:f829931e6342ca4a597e8cd8a4af63c796901ef0cf7c4ba09a959a84e0485934"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210323162304.a1cb2aab-py3-none-any.whl", hash = "sha256:cd6d30c74b33b48b50e93916020071abbe0cf098e30ccf1af52ddab742f5156f"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210323162829.7e458d32-py3-none-any.whl", hash = "sha256:77915ae27b499b8b2a555aa2e00b84900ecf03baa4907beadfe505997787e369"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210323164746.c6f14fe1-py3-none-any.whl", hash = "sha256:ae27aeeda165f139b10ff0015ab7c649f882842f5ac6377be0a2f0bcd0b34e94"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210323171038.84598d2c-py3-none-any.whl", hash = "sha256:38732a0cdbf646edc7ad39bacf84cfca8c28d67a210e36ef2bb2ea14b98e16f8"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210323205416.68113c32-py3-none-any.whl", hash = "sha256:67d154d545e28d8cc80759ac62196dd928341dd1a74d5d6851871057a9e3c5cf"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210323210823.3a73626d-py3-none-any.whl", hash = "sha256:4ce322685ea4ccaa27d14de9b11bf9853e90ec629db5d8277a20b9eafcd159a4"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210323214233.6d9f94a3-py3-none-any.whl", hash = "sha256:57927a59dd0cff3a7d08a28eb3e74f8ace0a7793927059029693b9c93e426157"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210323215254.2eef81d1-py3-none-any.whl", hash = "sha256:f749cc4a7bd62d655e0c60481ecb7a9c61ffe240183265ecf9e91b346e63541f"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210323220803.21473b27-py3-none-any.whl", hash = "sha256:707195c654ae1a8b602683f8543f00c88494bcc5c07e977ec0a2abed32311649"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210324114630.731ce6c9-py3-none-any.whl", hash = "sha256:aeedb8a85a688e9a5786a37f12e9a97f729658d89953c991b8ee980e7ba2e017"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210324115052.e6a9f317-py3-none-any.whl", hash = "sha256:4ddc51da73615d72d9149c51f9c571a1e5156fb0a8e9d8d3a968fe2e148d0512"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210324153632.7882bb4c-py3-none-any.whl", hash = "sha256:33a4b38cb87ac20191f0bf2a41cb93ec0363b543c8baecefb8c9379477505401"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210324155907.87d01782-py3-none-any.whl", hash = "sha256:671163e0ebcbdfe36d4f132461e9fec8b3b8adf6afcb15a00fa3844b8d1f7816"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210324160341.652da5ce-py3-none-any.whl", hash = "sha256:ea30bb9c8910454955b9b18e4db5fad466d15672d38369e91d697345a283e47f"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210324161333.28568658-py3-none-any.whl", hash = "sha256:380a3c7bfd153e3dca94aee9cb7731eb6c57bfaaddb505f245e47b86197010b1"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210324162047.32618329-py3-none-any.whl", hash = "sha256:d94685c2eaa0eb16a33a4fa21801750d6cc70ea4f9a3e4748d9b4909183de01c"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210324182503.831f6f69-py3-none-any.whl", hash = "sha256:be0babff38c7601940bd8b2133dc907923a09e6c65f3269db78911821a15fa3a"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210324192804.78adf5aa-py3-none-any.whl", hash = "sha256:ffe694fbbedefba540696e06a04bc89621a95e9323118c2cdfbe9c2e72dd51ea"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210324201113.94d47490-py3-none-any.whl", hash = "sha256:7be1411665a11c3c58441bdd5a06dbe203f26249eb73b6bdfb58755bd6f75f1a"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210324205855.0dc64b1e-py3-none-any.whl", hash = "sha256:4ea1978a3cfa2d36e752c0932e9930ae2ad8f2ff158d15040efdb233230a2689"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210324210558.a92c83b3-py3-none-any.whl", hash = "sha256:7c95a34c0eb6cf264b0fc4130b6c75cce66ed8946f86dee27508332d21c68e49"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210324211142.bbfd46b8-py3-none-any.whl", hash = "sha256:4de8772592cc7a81144fb23580d217dd267812d288a70966fcc6263892106d31"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210324213742.f40a562d-py3-none-any.whl", hash = "sha256:513adeaf90d00d6093453518e132c55537804058cb868e8723d6598c8c12081b"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210325213459.9b25b235-py3-none-any.whl", hash = "sha256:c63fd8d56cc4c6319cb6f43d0571e7295eb14dc9a6fb8b667ccb9651af30caaa"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210325215428.28d674a7-py3-none-any.whl", hash = "sha256:8b0d5291d0d22c93132468568e8a1cb1056582d4f5f66e2d744ce13246764df0"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210328175059.c47bae97-py3-none-any.whl", hash = "sha256:7709025e92d5e2cc388915cafe1742d96047533eb793646a0ef33193944aa9c2"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210328181541.030dbb6e-py3-none-any.whl", hash = "sha256:702cd0b713814d11d877b2b2791a67aa8806fedc40be152c6f12971611a8ee85"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210328182526.54d82b91-py3-none-any.whl", hash = "sha256:6dfd5c429e45811f042b7da78435b9c709e46004e306eee557f7d9ea638960a5"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210328190416.e7fe54d1-py3-none-any.whl", hash = "sha256:64236c1f37512e290dcdf1df98a99e5f1515cc79a22182ac6cab1c1f300b1303"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210328215830.5bc9ca16-py3-none-any.whl", hash = "sha256:95ab98f30ef5b6bf04076af6febfe06d3ebcc037656a0a923848b81502c1e6ec"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210329085023.1c4be21f-py3-none-any.whl", hash = "sha256:fcd84b5f9ead2f48a18fd0dd9e6234c82816edd3d4392eff41b8a99ac372912f"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210329155353.930f3723-py3-none-any.whl", hash = "sha256:2fe18e585f519c2ae74388bb65e7e4f864d09af5e0a9ff216e07f52f18487311"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210329161232.a05387a0-py3-none-any.whl", hash = "sha256:927cbc96bfbd8dc31a55d9af7e0718c3dc818241e9091b8bfeaef4f2459d5474"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210329202826.262b664b-py3-none-any.whl", hash = "sha256:acd3a15fe890d24edbc4f938b80f3e5b22da837d59f1c0eb7f82ed89cef5875f"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210330105149.5a075e44-py3-none-any.whl", hash = "sha256:ebefc35d566e31c4b14f732feca8c9f0bace215557d9f08e5fec8052bf57006e"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210330141943.034b17dd-py3-none-any.whl", hash = "sha256:bbb54a9d59b5b2fd4e756ea1cd5018e5ecef6698fd65e0e1801e73c460cde4a2"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210330144226.f4ac489e-py3-none-any.whl", hash = "sha256:933d1d21526f757da72461a8f80133b963359b053fd4b4fbb5275b1a5f88252a"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210330144950.367a14b4-py3-none-any.whl", hash = "sha256:c2ef64059e6b04a9abd0557fcefa4862e1bffbd96dba1e40bacab3549cf5d078"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210330191902.adb077c4-py3-none-any.whl", hash = "sha256:22287530d2704069f1213898e4b5169a7d2f559b98eb01e5d66f726e9fa02fd5"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210331142606.6d5e9dac-py3-none-any.whl", hash = "sha256:c26bf694ea64bcb8c0ca2f66a6091c813bb654acf75eb374bfb299df2ef5efd3"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210331144449.1c333a3d-py3-none-any.whl", hash = "sha256:f2c94dfd8e90036d5994252cfb12757c72dc41b3140529f7fea476d30df2e4ab"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210331165613.993ac84c-py3-none-any.whl", hash = "sha256:6b01d5354886b784cf5cbfd1e57008cc750b5d1dcf5de351a0ce9e9192d3298d"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210331173621.96c06e0a-py3-none-any.whl", hash = "sha256:8258c412636b593dc59f8c346b97e8b990134ede5bf24f3940a93f8dd9707d70"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210331175953.1a7fc767-py3-none-any.whl", hash = "sha256:8beb5b486411fa32ade58e17fc91380a39b1a53ba8bd3153d03bf3b75485254c"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210331185706.6d1d0d79-py3-none-any.whl", hash = "sha256:b545605deb4f6119c838617ba790d0a8c8408f61f5435d6803dba9cf935115ec"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210331185927.e48390bf-py3-none-any.whl", hash = "sha256:ba25116127eda0248e922930ba9cf2d11f4710f3d593882737c405de1cafda2f"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210331193204.1eab20c2-py3-none-any.whl", hash = "sha256:3e970a337d048b8476eb591a363984f5c95e50cba21851311924c523b657a24e"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210331200124.dbb3657f-py3-none-any.whl", hash = "sha256:3fa834cbc8a0fa763345a1eabc589fa478f12915af5844b7fc2aeb26565d1c35"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210331203907.c66cbefc-py3-none-any.whl", hash = "sha256:573d414f67bf7123d727c7852a0b4a26f36cf7ba4900302190339767b4eba521"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210331210929.628e5e26-py3-none-any.whl", hash = "sha256:d69a1a7147ae148bb7563b404771cfab5b6b54ff7cf577e13786991abb2bb252"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210402143505.ac3ed3ca-py3-none-any.whl", hash = "sha256:98c05adcbcc112729f1b5a589ca1f0f7e05e41eaa2708b4419ba3930f5aae8a6"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210402145359.7d022176-py3-none-any.whl", hash = "sha256:6cd838ce7d1d0564a0c35ae565840ff7a765cba411ddf84e7c41e83ba0e6e5f2"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210402194047.ddbcf3b6-py3-none-any.whl", hash = "sha256:5d10516aa1f447aeeeb96f083ad318be2ee05665a228587f0ef3305779402ec2"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210402205450.fa9747a6-py3-none-any.whl", hash = "sha256:47b9aa017863ce0dc3bf5857bced7f3d41b5f9597ffcff15995e89414acb7af4"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210403213255.40859491-py3-none-any.whl", hash = "sha256:6107100d6d97b249126b7fd22016eaff5d134c1d304ec9a121255a41cbbc8b99"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210404152044.f08f2953-py3-none-any.whl", hash = "sha256:5ef5a7843229410431048ebb03f4fbd9fcecb092e73c280b24cf3d51ae74b44a"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210404153350.d8762574-py3-none-any.whl", hash = "sha256:4f6eb77ff2014d1a174d5a908c4c1f9094ccbbb1b0f0a18bc1bfe419999cfed4"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210404161911.79076225-py3-none-any.whl", hash = "sha256:bef9ed327630bc66e056ea12f15b0fea7efff81a47dadd32a77480772e49e133"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210404163215.2ec48e88-py3-none-any.whl", hash = "sha256:d304b2903baff08ab346d4380367cf7f25e812eaca63947c295cff24e5b8cb8a"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210404171853.16eaf34f-py3-none-any.whl", hash = "sha256:55a633f1777b14a63bf4ba2440b94025dae110c94ef969370bf9c5d70b63b7cd"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210404175733.df6b2672-py3-none-any.whl", hash = "sha256:cb1e22c86d6b8851217028853ffb53cb105cec18781c73f9919f118af20f655b"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210404183210.e30c9b9b-py3-none-any.whl", hash = "sha256:dd5063920e3000bd465714e7922151258b748aa0e7baa97776dc8776b2d17130"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210404211131.67789f01-py3-none-any.whl", hash = "sha256:4808fc650286781db11f3f7887cd24b5d15eeebdb7071dbb00e46d9c8515edcf"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210405092823.c0995406-py3-none-any.whl", hash = "sha256:6f11a93893a5c83c157b1323a32b8323a09ce4c1d85e193d0aec90541d9daa27"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210405104043.40f11494-py3-none-any.whl", hash = "sha256:c786df03a7998fe108af53c8ed8120559938ca3671e4dca997c3ab0b7cd9cc2d"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210405112438.524b91d7-py3-none-any.whl", hash = "sha256:46cb3ba4da387c3adabc1fac8573878ca93db82dfd69e92c44a4af7c7e68da1b"},
+    {file = "AlekSIS_Core-2.0a5.dev0+20210405125427.1091cda7-py3-none-any.whl", hash = "sha256:3136c6030619c34ea23ff7725a93104d7538268c5bb6f3960550a43b313e5a44"},
+]
+amqp = [
+    {file = "amqp-5.0.6-py3-none-any.whl", hash = "sha256:493a2ac6788ce270a2f6a765b017299f60c1998f5a8617908ee9be082f7300fb"},
+    {file = "amqp-5.0.6.tar.gz", hash = "sha256:03e16e94f2b34c31f8bf1206d8ddd3ccaa4c315f7f6a1879b7b1210d229568c2"},
 ]
 appdirs = [
     {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"},
     {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"},
 ]
+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.3.1-py3-none-any.whl", hash = "sha256:5ee950735509d04eb673bd7f7120f8fa1c9e2df495394992c73234d526907e17"},
     {file = "asgiref-3.3.1.tar.gz", hash = "sha256:7162a3cb30ab0609f1a4c95938fd73e8604f63bdba516a7f7d64b83ff09478f0"},
 ]
+asn1crypto = [
+    {file = "asn1crypto-1.4.0-py2.py3-none-any.whl", hash = "sha256:4bcdf33c861c7d40bdcd74d8e4dd7661aac320fcdf40b9a3f95b4ee12fde2fa8"},
+    {file = "asn1crypto-1.4.0.tar.gz", hash = "sha256:f4f6e119474e58e04a2b1af817eb585b4fd72bdd89b998624712b5c99be7641c"},
+]
 atomicwrites = [
     {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"},
     {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"},
@@ -2193,6 +2991,10 @@ babel = [
     {file = "Babel-2.9.0-py2.py3-none-any.whl", hash = "sha256:9d35c22fcc79893c3ecc85ac4a56cde1ecf3f19c540bba0922308a6c06ca6fa5"},
     {file = "Babel-2.9.0.tar.gz", hash = "sha256:da031ab54472314f210b0adcff1588ee5d1d1d0ba4dbd07b94dba82bde791e05"},
 ]
+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.0-py3-none-any.whl", hash = "sha256:216be4d044209fa06cf2a3e51b319769a51be8318140659719aa7a115c35ed07"},
     {file = "bandit-1.7.0.tar.gz", hash = "sha256:8a4c7415254d75df8ff3c3b15cfe9042ecee628a1e40b44c15a98890fbfc2608"},
@@ -2202,6 +3004,10 @@ beautifulsoup4 = [
     {file = "beautifulsoup4-4.9.3-py3-none-any.whl", hash = "sha256:fff47e031e34ec82bf17e00da8f592fe7de69aeea38be00523c04623c04fb666"},
     {file = "beautifulsoup4-4.9.3.tar.gz", hash = "sha256:84729e322ad1d5b4d25f805bfa05b902dd96450f43842c4e99067d5e1369eb25"},
 ]
+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-19.10b0-py36-none-any.whl", hash = "sha256:1b30e59be925fafc1ee4565e5e08abef6b03fe455102883820fe5ee2e4734e0b"},
     {file = "black-19.10b0.tar.gz", hash = "sha256:c2edb73a08e9e0e6f65a0e6af18b059b8b1cdd5bef997d7a0b181df93dc81539"},
@@ -2218,12 +3024,19 @@ bs4 = [
     {file = "bs4-0.0.1.tar.gz", hash = "sha256:36ecea1fd7cc5c0c6e4a1ff075df26d50da647b75376626cc186e2212886dd3a"},
 ]
 calendarweek = [
-    {file = "calendarweek-0.4.7-py3-none-any.whl", hash = "sha256:ee65caea113503dcdb33d96bca9f79f88b3ab4f66279d4cb568d89f1f662608a"},
-    {file = "calendarweek-0.4.7.tar.gz", hash = "sha256:7655d6a4c3b4f6a4e01aa7d23b49cd121db0399050e9c08cd8d1210155be25dd"},
+    {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.0.5-py3-none-any.whl", hash = "sha256:5e8d364e058554e83bbb116e8377d90c79be254785f357cb2cec026e79febe13"},
+    {file = "celery-5.0.5.tar.gz", hash = "sha256:f4efebe6f8629b0da2b8e529424de376494f5b7a743c321c8a2ddc2b1414921c"},
+]
+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.0.14.tar.gz", hash = "sha256:002ead0d3fa3602bd74cf328206b8e2352994ab599711dc20058a5cf2b4db2d1"},
-    {file = "celery_progress-0.0.14-py3-none-any.whl", hash = "sha256:6d95c01fe044dd5dbb1e2d507724f9ace70bde796bc6db51ba19c8a95e94da07"},
+    {file = "celery_progress-0.1.0-py3-none-any.whl", hash = "sha256:01bc7ecb2483ed7085b957413a392f85b7e1002fc8ce6d24f3d1ff264173002d"},
 ]
 certifi = [
     {file = "certifi-2020.12.5-py2.py3-none-any.whl", hash = "sha256:719a74fb9e33b9bd44cc7f3a8d94bc35e4049deebe19ba7d8e108280cfd59830"},
@@ -2237,6 +3050,17 @@ click = [
     {file = "click-7.1.2-py2.py3-none-any.whl", hash = "sha256:dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc"},
     {file = "click-7.1.2.tar.gz", hash = "sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a"},
 ]
+click-didyoumean = [
+    {file = "click-didyoumean-0.0.3.tar.gz", hash = "sha256:112229485c9704ff51362fe34b2d4f0b12fc71cc20f6d2b3afabed4b8bfa6aeb"},
+]
+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.1.6.tar.gz", hash = "sha256:b9f29d52abc4d6059f8e276132a111ab8d94980afe6a5432b9d996544afa95d5"},
+    {file = "click_repl-0.1.6-py3-none-any.whl", hash = "sha256:9c4c3d022789cae912aad8a3f5e1d7c2cdd016ee1225b5212ad3e8691563cda5"},
+]
 colorama = [
     {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"},
     {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"},
@@ -2249,73 +3073,80 @@ configobj = [
     {file = "configobj-5.0.6.tar.gz", hash = "sha256:a2f5650770e1c87fb335af19a9b7eb73fc05ccf22144eb68db7d00cd2bcb0902"},
 ]
 coverage = [
-    {file = "coverage-5.4-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:6d9c88b787638a451f41f97446a1c9fd416e669b4d9717ae4615bd29de1ac135"},
-    {file = "coverage-5.4-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:66a5aae8233d766a877c5ef293ec5ab9520929c2578fd2069308a98b7374ea8c"},
-    {file = "coverage-5.4-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9754a5c265f991317de2bac0c70a746efc2b695cf4d49f5d2cddeac36544fb44"},
-    {file = "coverage-5.4-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:fbb17c0d0822684b7d6c09915677a32319f16ff1115df5ec05bdcaaee40b35f3"},
-    {file = "coverage-5.4-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:b7f7421841f8db443855d2854e25914a79a1ff48ae92f70d0a5c2f8907ab98c9"},
-    {file = "coverage-5.4-cp27-cp27m-win32.whl", hash = "sha256:4a780807e80479f281d47ee4af2eb2df3e4ccf4723484f77da0bb49d027e40a1"},
-    {file = "coverage-5.4-cp27-cp27m-win_amd64.whl", hash = "sha256:87c4b38288f71acd2106f5d94f575bc2136ea2887fdb5dfe18003c881fa6b370"},
-    {file = "coverage-5.4-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:c6809ebcbf6c1049002b9ac09c127ae43929042ec1f1dbd8bb1615f7cd9f70a0"},
-    {file = "coverage-5.4-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ba7ca81b6d60a9f7a0b4b4e175dcc38e8fef4992673d9d6e6879fd6de00dd9b8"},
-    {file = "coverage-5.4-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:89fc12c6371bf963809abc46cced4a01ca4f99cba17be5e7d416ed7ef1245d19"},
-    {file = "coverage-5.4-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:4a8eb7785bd23565b542b01fb39115a975fefb4a82f23d407503eee2c0106247"},
-    {file = "coverage-5.4-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:7e40d3f8eb472c1509b12ac2a7e24158ec352fc8567b77ab02c0db053927e339"},
-    {file = "coverage-5.4-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:1ccae21a076d3d5f471700f6d30eb486da1626c380b23c70ae32ab823e453337"},
-    {file = "coverage-5.4-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:755c56beeacac6a24c8e1074f89f34f4373abce8b662470d3aa719ae304931f3"},
-    {file = "coverage-5.4-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:322549b880b2d746a7672bf6ff9ed3f895e9c9f108b714e7360292aa5c5d7cf4"},
-    {file = "coverage-5.4-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:60a3307a84ec60578accd35d7f0c71a3a971430ed7eca6567399d2b50ef37b8c"},
-    {file = "coverage-5.4-cp35-cp35m-win32.whl", hash = "sha256:1375bb8b88cb050a2d4e0da901001347a44302aeadb8ceb4b6e5aa373b8ea68f"},
-    {file = "coverage-5.4-cp35-cp35m-win_amd64.whl", hash = "sha256:16baa799ec09cc0dcb43a10680573269d407c159325972dd7114ee7649e56c66"},
-    {file = "coverage-5.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:2f2cf7a42d4b7654c9a67b9d091ec24374f7c58794858bff632a2039cb15984d"},
-    {file = "coverage-5.4-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:b62046592b44263fa7570f1117d372ae3f310222af1fc1407416f037fb3af21b"},
-    {file = "coverage-5.4-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:812eaf4939ef2284d29653bcfee9665f11f013724f07258928f849a2306ea9f9"},
-    {file = "coverage-5.4-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:859f0add98707b182b4867359e12bde806b82483fb12a9ae868a77880fc3b7af"},
-    {file = "coverage-5.4-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:04b14e45d6a8e159c9767ae57ecb34563ad93440fc1b26516a89ceb5b33c1ad5"},
-    {file = "coverage-5.4-cp36-cp36m-win32.whl", hash = "sha256:ebfa374067af240d079ef97b8064478f3bf71038b78b017eb6ec93ede1b6bcec"},
-    {file = "coverage-5.4-cp36-cp36m-win_amd64.whl", hash = "sha256:84df004223fd0550d0ea7a37882e5c889f3c6d45535c639ce9802293b39cd5c9"},
-    {file = "coverage-5.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:1b811662ecf72eb2d08872731636aee6559cae21862c36f74703be727b45df90"},
-    {file = "coverage-5.4-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:6b588b5cf51dc0fd1c9e19f622457cc74b7d26fe295432e434525f1c0fae02bc"},
-    {file = "coverage-5.4-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:3fe50f1cac369b02d34ad904dfe0771acc483f82a1b54c5e93632916ba847b37"},
-    {file = "coverage-5.4-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:32ab83016c24c5cf3db2943286b85b0a172dae08c58d0f53875235219b676409"},
-    {file = "coverage-5.4-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:68fb816a5dd901c6aff352ce49e2a0ffadacdf9b6fae282a69e7a16a02dad5fb"},
-    {file = "coverage-5.4-cp37-cp37m-win32.whl", hash = "sha256:a636160680c6e526b84f85d304e2f0bb4e94f8284dd765a1911de9a40450b10a"},
-    {file = "coverage-5.4-cp37-cp37m-win_amd64.whl", hash = "sha256:bb32ca14b4d04e172c541c69eec5f385f9a075b38fb22d765d8b0ce3af3a0c22"},
-    {file = "coverage-5.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4d7165a4e8f41eca6b990c12ee7f44fef3932fac48ca32cecb3a1b2223c21f"},
-    {file = "coverage-5.4-cp38-cp38-manylinux1_i686.whl", hash = "sha256:a565f48c4aae72d1d3d3f8e8fb7218f5609c964e9c6f68604608e5958b9c60c3"},
-    {file = "coverage-5.4-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:fff1f3a586246110f34dc762098b5afd2de88de507559e63553d7da643053786"},
-    {file = "coverage-5.4-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:a839e25f07e428a87d17d857d9935dd743130e77ff46524abb992b962eb2076c"},
-    {file = "coverage-5.4-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:6625e52b6f346a283c3d563d1fd8bae8956daafc64bb5bbd2b8f8a07608e3994"},
-    {file = "coverage-5.4-cp38-cp38-win32.whl", hash = "sha256:5bee3970617b3d74759b2d2df2f6a327d372f9732f9ccbf03fa591b5f7581e39"},
-    {file = "coverage-5.4-cp38-cp38-win_amd64.whl", hash = "sha256:03ed2a641e412e42cc35c244508cf186015c217f0e4d496bf6d7078ebe837ae7"},
-    {file = "coverage-5.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:14a9f1887591684fb59fdba8feef7123a0da2424b0652e1b58dd5b9a7bb1188c"},
-    {file = "coverage-5.4-cp39-cp39-manylinux1_i686.whl", hash = "sha256:9564ac7eb1652c3701ac691ca72934dd3009997c81266807aef924012df2f4b3"},
-    {file = "coverage-5.4-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:0f48fc7dc82ee14aeaedb986e175a429d24129b7eada1b7e94a864e4f0644dde"},
-    {file = "coverage-5.4-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:107d327071061fd4f4a2587d14c389a27e4e5c93c7cba5f1f59987181903902f"},
-    {file = "coverage-5.4-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:0cdde51bfcf6b6bd862ee9be324521ec619b20590787d1655d005c3fb175005f"},
-    {file = "coverage-5.4-cp39-cp39-win32.whl", hash = "sha256:c67734cff78383a1f23ceba3b3239c7deefc62ac2b05fa6a47bcd565771e5880"},
-    {file = "coverage-5.4-cp39-cp39-win_amd64.whl", hash = "sha256:c669b440ce46ae3abe9b2d44a913b5fd86bb19eb14a8701e88e3918902ecd345"},
-    {file = "coverage-5.4-pp36-none-any.whl", hash = "sha256:c0ff1c1b4d13e2240821ef23c1efb1f009207cb3f56e16986f713c2b0e7cd37f"},
-    {file = "coverage-5.4-pp37-none-any.whl", hash = "sha256:cd601187476c6bed26a0398353212684c427e10a903aeafa6da40c63309d438b"},
-    {file = "coverage-5.4.tar.gz", hash = "sha256:6d2e262e5e8da6fa56e774fb8e2643417351427604c2b177f8e8c5f75fc928ca"},
+    {file = "coverage-5.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:b6d534e4b2ab35c9f93f46229363e17f63c53ad01330df9f2d6bd1187e5eaacf"},
+    {file = "coverage-5.5-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:b7895207b4c843c76a25ab8c1e866261bcfe27bfaa20c192de5190121770672b"},
+    {file = "coverage-5.5-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:c2723d347ab06e7ddad1a58b2a821218239249a9e4365eaff6649d31180c1669"},
+    {file = "coverage-5.5-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:900fbf7759501bc7807fd6638c947d7a831fc9fdf742dc10f02956ff7220fa90"},
+    {file = "coverage-5.5-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:004d1880bed2d97151facef49f08e255a20ceb6f9432df75f4eef018fdd5a78c"},
+    {file = "coverage-5.5-cp27-cp27m-win32.whl", hash = "sha256:06191eb60f8d8a5bc046f3799f8a07a2d7aefb9504b0209aff0b47298333302a"},
+    {file = "coverage-5.5-cp27-cp27m-win_amd64.whl", hash = "sha256:7501140f755b725495941b43347ba8a2777407fc7f250d4f5a7d2a1050ba8e82"},
+    {file = "coverage-5.5-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:372da284cfd642d8e08ef606917846fa2ee350f64994bebfbd3afb0040436905"},
+    {file = "coverage-5.5-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:8963a499849a1fc54b35b1c9f162f4108017b2e6db2c46c1bed93a72262ed083"},
+    {file = "coverage-5.5-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:869a64f53488f40fa5b5b9dcb9e9b2962a66a87dab37790f3fcfb5144b996ef5"},
+    {file = "coverage-5.5-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:4a7697d8cb0f27399b0e393c0b90f0f1e40c82023ea4d45d22bce7032a5d7b81"},
+    {file = "coverage-5.5-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:8d0a0725ad7c1a0bcd8d1b437e191107d457e2ec1084b9f190630a4fb1af78e6"},
+    {file = "coverage-5.5-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:51cb9476a3987c8967ebab3f0fe144819781fca264f57f89760037a2ea191cb0"},
+    {file = "coverage-5.5-cp310-cp310-win_amd64.whl", hash = "sha256:c0891a6a97b09c1f3e073a890514d5012eb256845c451bd48f7968ef939bf4ae"},
+    {file = "coverage-5.5-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:3487286bc29a5aa4b93a072e9592f22254291ce96a9fbc5251f566b6b7343cdb"},
+    {file = "coverage-5.5-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:deee1077aae10d8fa88cb02c845cfba9b62c55e1183f52f6ae6a2df6a2187160"},
+    {file = "coverage-5.5-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:f11642dddbb0253cc8853254301b51390ba0081750a8ac03f20ea8103f0c56b6"},
+    {file = "coverage-5.5-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:6c90e11318f0d3c436a42409f2749ee1a115cd8b067d7f14c148f1ce5574d701"},
+    {file = "coverage-5.5-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:30c77c1dc9f253283e34c27935fded5015f7d1abe83bc7821680ac444eaf7793"},
+    {file = "coverage-5.5-cp35-cp35m-win32.whl", hash = "sha256:9a1ef3b66e38ef8618ce5fdc7bea3d9f45f3624e2a66295eea5e57966c85909e"},
+    {file = "coverage-5.5-cp35-cp35m-win_amd64.whl", hash = "sha256:972c85d205b51e30e59525694670de6a8a89691186012535f9d7dbaa230e42c3"},
+    {file = "coverage-5.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:af0e781009aaf59e25c5a678122391cb0f345ac0ec272c7961dc5455e1c40066"},
+    {file = "coverage-5.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:74d881fc777ebb11c63736622b60cb9e4aee5cace591ce274fb69e582a12a61a"},
+    {file = "coverage-5.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:92b017ce34b68a7d67bd6d117e6d443a9bf63a2ecf8567bb3d8c6c7bc5014465"},
+    {file = "coverage-5.5-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:d636598c8305e1f90b439dbf4f66437de4a5e3c31fdf47ad29542478c8508bbb"},
+    {file = "coverage-5.5-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:41179b8a845742d1eb60449bdb2992196e211341818565abded11cfa90efb821"},
+    {file = "coverage-5.5-cp36-cp36m-win32.whl", hash = "sha256:040af6c32813fa3eae5305d53f18875bedd079960822ef8ec067a66dd8afcd45"},
+    {file = "coverage-5.5-cp36-cp36m-win_amd64.whl", hash = "sha256:5fec2d43a2cc6965edc0bb9e83e1e4b557f76f843a77a2496cbe719583ce8184"},
+    {file = "coverage-5.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:18ba8bbede96a2c3dde7b868de9dcbd55670690af0988713f0603f037848418a"},
+    {file = "coverage-5.5-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:2910f4d36a6a9b4214bb7038d537f015346f413a975d57ca6b43bf23d6563b53"},
+    {file = "coverage-5.5-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:f0b278ce10936db1a37e6954e15a3730bea96a0997c26d7fee88e6c396c2086d"},
+    {file = "coverage-5.5-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:796c9c3c79747146ebd278dbe1e5c5c05dd6b10cc3bcb8389dfdf844f3ead638"},
+    {file = "coverage-5.5-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:53194af30d5bad77fcba80e23a1441c71abfb3e01192034f8246e0d8f99528f3"},
+    {file = "coverage-5.5-cp37-cp37m-win32.whl", hash = "sha256:184a47bbe0aa6400ed2d41d8e9ed868b8205046518c52464fde713ea06e3a74a"},
+    {file = "coverage-5.5-cp37-cp37m-win_amd64.whl", hash = "sha256:2949cad1c5208b8298d5686d5a85b66aae46d73eec2c3e08c817dd3513e5848a"},
+    {file = "coverage-5.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:217658ec7187497e3f3ebd901afdca1af062b42cfe3e0dafea4cced3983739f6"},
+    {file = "coverage-5.5-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1aa846f56c3d49205c952d8318e76ccc2ae23303351d9270ab220004c580cfe2"},
+    {file = "coverage-5.5-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:24d4a7de75446be83244eabbff746d66b9240ae020ced65d060815fac3423759"},
+    {file = "coverage-5.5-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:d1f8bf7b90ba55699b3a5e44930e93ff0189aa27186e96071fac7dd0d06a1873"},
+    {file = "coverage-5.5-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:970284a88b99673ccb2e4e334cfb38a10aab7cd44f7457564d11898a74b62d0a"},
+    {file = "coverage-5.5-cp38-cp38-win32.whl", hash = "sha256:01d84219b5cdbfc8122223b39a954820929497a1cb1422824bb86b07b74594b6"},
+    {file = "coverage-5.5-cp38-cp38-win_amd64.whl", hash = "sha256:2e0d881ad471768bf6e6c2bf905d183543f10098e3b3640fc029509530091502"},
+    {file = "coverage-5.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d1f9ce122f83b2305592c11d64f181b87153fc2c2bbd3bb4a3dde8303cfb1a6b"},
+    {file = "coverage-5.5-cp39-cp39-manylinux1_i686.whl", hash = "sha256:13c4ee887eca0f4c5a247b75398d4114c37882658300e153113dafb1d76de529"},
+    {file = "coverage-5.5-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:52596d3d0e8bdf3af43db3e9ba8dcdaac724ba7b5ca3f6358529d56f7a166f8b"},
+    {file = "coverage-5.5-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:2cafbbb3af0733db200c9b5f798d18953b1a304d3f86a938367de1567f4b5bff"},
+    {file = "coverage-5.5-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:44d654437b8ddd9eee7d1eaee28b7219bec228520ff809af170488fd2fed3e2b"},
+    {file = "coverage-5.5-cp39-cp39-win32.whl", hash = "sha256:d314ed732c25d29775e84a960c3c60808b682c08d86602ec2c3008e1202e3bb6"},
+    {file = "coverage-5.5-cp39-cp39-win_amd64.whl", hash = "sha256:13034c4409db851670bc9acd836243aeee299949bd5673e11844befcb0149f03"},
+    {file = "coverage-5.5-pp36-none-any.whl", hash = "sha256:f030f8873312a16414c0d8e1a1ddff2d3235655a2174e3648b4fa66b3f2f1079"},
+    {file = "coverage-5.5-pp37-none-any.whl", hash = "sha256:2a3859cb82dcbda1cfd3e6f71c27081d18aa251d20a17d87d26d4cd216fb0af4"},
+    {file = "coverage-5.5.tar.gz", hash = "sha256:ebe78fe9a0e874362175b02371bdfbee64d8edc42a044253ddf4ee7d3c15212c"},
+]
+curlylint = [
+    {file = "curlylint-0.12.2-py3-none-any.whl", hash = "sha256:98bc15609ce858387dd70a28c7ddda96e82d0f1cb8bf51b8902532ce0fc1a97e"},
+    {file = "curlylint-0.12.2.tar.gz", hash = "sha256:76b557cf8d007bd92df2dae61a02e65f8aa2ff3e05c6398b1314d92692fbb0d8"},
 ]
 data = [
     {file = "data-0.4.tar.gz", hash = "sha256:2726a65da1af31e2345b6bba81ae4cee87dddf17f7c62f5c63ba7327a8480667"},
 ]
 decorator = [
-    {file = "decorator-4.4.2-py2.py3-none-any.whl", hash = "sha256:41fa54c2a0cc4ba648be4fd43cff00aedf5b9465c9bf18d64325bc225f08f760"},
-    {file = "decorator-4.4.2.tar.gz", hash = "sha256:e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7"},
+    {file = "decorator-5.0.5-py3-none-any.whl", hash = "sha256:b7157d62ea3c2c0c57b81a05e4569853e976a3dda5dd7a1cb86be78978c3c5f8"},
+    {file = "decorator-5.0.5.tar.gz", hash = "sha256:acda948ffcfe4bd0c4a57834b74ad968b91925b8201b740ca9d46fb8c5c618ce"},
 ]
 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.1.6-py3-none-any.whl", hash = "sha256:169e2e7b4839a7910b393eec127fd7cbae62e80fa55f89c6510426abf673fe5f"},
-    {file = "Django-3.1.6.tar.gz", hash = "sha256:c6c0462b8b361f8691171af1fb87eceb4442da28477e12200c40420176206ba7"},
+    {file = "Django-3.1.7-py3-none-any.whl", hash = "sha256:baf099db36ad31f970775d0be5587cc58a6256a6771a44eb795b554d45f211b8"},
+    {file = "Django-3.1.7.tar.gz", hash = "sha256:32ce792ee9b6a0cbbec340123e229ac9f765dff8c2a4ae9247a14b2ba3a365a7"},
 ]
 django-any-js = [
-    {file = "django-any-js-1.0.3.post0.tar.gz", hash = "sha256:1da88b44b861b0f54f6b8ea0eb4c7c4fa1a5772e9a4320532cd4e0871a4e23f7"},
+    {file = "django-any-js-1.0.3.post1.tar.gz", hash = "sha256:32306643d4989b3cdbbf6a87bb43ca4d5ca35863c96ad96a8bc0d50bcf9d4ab4"},
 ]
 django-appconf = [
     {file = "django-appconf-1.0.4.tar.gz", hash = "sha256:be58deb54a43d77d2e1621fe59f787681376d3cd0b8bd8e4758ef6c3a6453380"},
@@ -2330,32 +3161,48 @@ django-bulk-update = [
     {file = "django_bulk_update-2.2.0-py2.py3-none-any.whl", hash = "sha256:49a403392ae05ea872494d74fb3dfa3515f8df5c07cc277c3dc94724c0ee6985"},
 ]
 django-cachalot = [
-    {file = "django-cachalot-2.3.3.tar.gz", hash = "sha256:ba3a6cabf834139196179c4f6d77409ae9170267ee8ce40e27bbf6c3f6733b2b"},
-    {file = "django_cachalot-2.3.3-py3-none-any.whl", hash = "sha256:55f94e94f7000f5f6bd92188d3d7535cfdef79f2e697e36daf69cba8f435e156"},
+    {file = "django-cachalot-2.3.5.tar.gz", hash = "sha256:02afabb6e83f5f06c87a7e6f01ebcdbc52a4156ec849da8e68b14498bc474d3e"},
+    {file = "django_cachalot-2.3.5-py3-none-any.whl", hash = "sha256:ed0782f9702ead95337692f0fae8bbb9352a106490f272d9b76e86b1da81c7e3"},
 ]
 django-cache-memoize = [
-    {file = "django-cache-memoize-0.1.7.tar.gz", hash = "sha256:5e96349b0159aec1eb79257199a1902ea3ed538231ce7b4fee12e563127ca657"},
-    {file = "django_cache_memoize-0.1.7-py2.py3-none-any.whl", hash = "sha256:bc7f53725558244af62197d0125732d7ec88ecc1281a3a2f37d77ae1a8c269d3"},
+    {file = "django-cache-memoize-0.1.8.tar.gz", hash = "sha256:f85ca71ddfe3d61d561d5a382736f83148fb75e542585e7028b65d6d3681ec85"},
+    {file = "django_cache_memoize-0.1.8-py3-none-any.whl", hash = "sha256:81b00714b50917431ce12a4544e0630a70c86fed27755a82186efc2945b8f8b3"},
+]
+django-celery-beat = [
+    {file = "django-celery-beat-2.2.0.tar.gz", hash = "sha256:b8a13afb15e7c53fc04f4f847ac71a6d32088959aba701eb7c4a59f0c28ba543"},
+    {file = "django_celery_beat-2.2.0-py2.py3-none-any.whl", hash = "sha256:c4c72a9579f20eff4c4ccf1b58ebdca5ef940f4210065057db1754ea5f8dffdc"},
+]
+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.0.1-py2.py3-none-any.whl", hash = "sha256:a2f7d172f7f57dd972538acc6e80a5bf50c673fb4d82fe027189c8659c60dfce"},
+    {file = "django_celery_results-2.0.1.tar.gz", hash = "sha256:d625e324138e5b2ef46ffa9e89fa353c16d619420066ac8b240ef9247b293a84"},
 ]
 django-ckeditor = [
     {file = "django-ckeditor-6.0.0.tar.gz", hash = "sha256:29fd1a333cb9741ac2c3fd4e427a5c00115ed33a2389716a09af7656022dcdde"},
     {file = "django_ckeditor-6.0.0-py2.py3-none-any.whl", hash = "sha256:cc2d377f1bdcd4ca1540caeebe85f7e2cd006198d57328ef6c718d3eaa5a0846"},
 ]
 django-colorfield = [
-    {file = "django-colorfield-0.3.2.tar.gz", hash = "sha256:f5dde281f4db8871eb5845aee614b4f1a47e7fd5b20476238793f519cd7bdf41"},
-    {file = "django_colorfield-0.3.2-py2-none-any.whl", hash = "sha256:e435ec31712f5e8b955cc7633aef1e49cc3b409c21dfcefeb2f6ef0e1cb69533"},
+    {file = "django-colorfield-0.4.1.tar.gz", hash = "sha256:63a542c417b72d0dac898a0f61a2a00aed3c9aabc2f5057c926efccf421f7887"},
+    {file = "django_colorfield-0.4.1-py3-none-any.whl", hash = "sha256:e38f8b9dabbab48a6dab3d1eb5bd802decb92970d56a28128c9a70cdbf383e30"},
 ]
 django-dbbackup = [
     {file = "django-dbbackup-3.3.0.tar.gz", hash = "sha256:bb109735cae98b64ad084e5b461b7aca2d7b39992f10c9ed9435e3ebb6fb76c8"},
 ]
 django-debug-toolbar = [
-    {file = "django-debug-toolbar-2.2.tar.gz", hash = "sha256:eabbefe89881bbe4ca7c980ff102e3c35c8e8ad6eb725041f538988f2f39a943"},
-    {file = "django_debug_toolbar-2.2-py3-none-any.whl", hash = "sha256:ff94725e7aae74b133d0599b9bf89bd4eb8f5d2c964106e61d11750228c8774c"},
+    {file = "django-debug-toolbar-3.2.tar.gz", hash = "sha256:84e2607d900dbd571df0a2acf380b47c088efb787dce9805aefeb407341961d2"},
+    {file = "django_debug_toolbar-3.2-py3-none-any.whl", hash = "sha256:9e5a25d0c965f7e686f6a8ba23613ca9ca30184daa26487706d4829f5cfb697a"},
 ]
 django-dynamic-preferences = [
     {file = "django-dynamic-preferences-1.10.1.tar.gz", hash = "sha256:e4b2bb7b2563c5064ba56dd76441c77e06b850ff1466a386a1cd308909a6c7de"},
     {file = "django_dynamic_preferences-1.10.1-py2.py3-none-any.whl", hash = "sha256:9419fa925fd2cbb665269ae72059eb3058bf080913d853419b827e4e7a141902"},
 ]
+django-extensions = [
+    {file = "django-extensions-3.1.2.tar.gz", hash = "sha256:081828e985485662f62a22340c1506e37989d14b927652079a5b7cd84a82368b"},
+    {file = "django_extensions-3.1.2-py3-none-any.whl", hash = "sha256:17f85f4dcdd5eea09b8c4f0bad8f0370bf2db6d03e61b431fa7103fee29888de"},
+]
 django-favicon-plus-reloaded = [
     {file = "django-favicon-plus-reloaded-1.0.4.tar.gz", hash = "sha256:90c761c636a338e6e9fb1d086649d82095085f92cff816c9cf074607f28c85a5"},
     {file = "django_favicon_plus_reloaded-1.0.4-py3-none-any.whl", hash = "sha256:26e4316d41328a61ced52c7fc0ead795f0eb194d6a30311c34a9833c6fe30a7c"},
@@ -2377,18 +3224,17 @@ django-hattori = [
     {file = "django_hattori-0.2.1-py2.py3-none-any.whl", hash = "sha256:e529ed7af8fc34a0169c797c477672b687a205a56f3f5206f90c260acb83b7ac"},
 ]
 django-haystack = [
-    {file = "django-haystack-3.0b1.tar.gz", hash = "sha256:9dba64f5c76cf147ac382d4a4a270f30d30a45a3a7a1738a9d05c96d18777c07"},
-    {file = "django_haystack-3.0b1-py3-none-any.whl", hash = "sha256:b83705e1cf8141cd1755fc6683ac65fea4e1281f4b4306bc9224af96495b0df3"},
+    {file = "django-haystack-3.0.tar.gz", hash = "sha256:d490f920afa85471dd1fa5000bc8eff4b704daacbe09aee1a64e75cbc426f3be"},
 ]
 django-health-check = [
-    {file = "django-health-check-3.16.2.tar.gz", hash = "sha256:d5edf773b59e4091ac6bd65280091dbb13d92e70eba5cf8573faa738a9cb481c"},
-    {file = "django_health_check-3.16.2-py2.py3-none-any.whl", hash = "sha256:aec4dd5cfb8333071f535c3611ef805ec2012af9568cf984be351ff1bd4020be"},
+    {file = "django-health-check-3.16.3.tar.gz", hash = "sha256:a6aa6ea423eae4fd0665f6372b826af1ed20dfc3e88cf52789d0b49cfb64969c"},
+    {file = "django_health_check-3.16.3-py2.py3-none-any.whl", hash = "sha256:d0628ffc11aee7e62e73b58ff39179ea2a9ca5abfbc92cb345ceca268593dd71"},
 ]
 django-iban-field = [
     {file = "django_iban_field-0.8-py2.py3-none-any.whl", hash = "sha256:9d11eacb49b939702aa169aa0a3c9880970ed087c236279c32c26f86c7e10092"},
 ]
 django-impersonate = [
-    {file = "django-impersonate-1.7.2.tar.gz", hash = "sha256:ef1f9fa3180f4d95db0abbca3403f389e901e0beb781afd0db0edface72d148d"},
+    {file = "django-impersonate-1.7.3.tar.gz", hash = "sha256:282003957577c7143fe31e5861f8fffdf6fe0c25557aedb28fcf8b11474eaa23"},
 ]
 django-ipware = [
     {file = "django-ipware-3.0.2.tar.gz", hash = "sha256:c7df8e1410a8e5d6b1fbae58728402ea59950f043c3582e033e866f0f0cf5e94"},
@@ -2409,16 +3255,15 @@ django-leaflet = [
     {file = "django-leaflet-0.26.0.tar.gz", hash = "sha256:b90ea16f69e94cb89254569b5f3e1875602e4c028365acf2e5a1271d80bc6035"},
 ]
 django-maintenance-mode = [
-    {file = "django-maintenance-mode-0.15.1.tar.gz", hash = "sha256:d07102cab88dd707a82232f0c552c287e62aa53af582a0ca4f2aa31f14f5ed27"},
-    {file = "django_maintenance_mode-0.15.1-py3-none-any.whl", hash = "sha256:8c45b400253076655562c99a2ffb88f8353fc1c84496c1b9de812cc8132aea6f"},
+    {file = "django-maintenance-mode-0.16.0.tar.gz", hash = "sha256:57595795062156d5f3f712c885acc18b77a303425bf78b5de80e7fd47d9ab433"},
+    {file = "django_maintenance_mode-0.16.0-py3-none-any.whl", hash = "sha256:88287573b4e95285052f664d4f08e15ac4c350c1a6c77bc743ca3fc6e1f6410c"},
 ]
 django-material = [
-    {file = "django-material-1.7.4.tar.gz", hash = "sha256:93af86e740b6db15a3b9df913c343217b198d7342a083db694acb319b49cb2dd"},
-    {file = "django_material-1.7.4-py2.py3-none-any.whl", hash = "sha256:70dcaa34b35dbc31fbdb7454c7a376358586d0f166abe15870e07e468d729425"},
+    {file = "django-material-1.7.6.tar.gz", hash = "sha256:5488e8fe24069cc6682801692ad05293a4b60a637a87a31e0ebd9f3319cd371d"},
+    {file = "django_material-1.7.6-py2.py3-none-any.whl", hash = "sha256:b5496505da7dd92f23ca694bc411c6bf0ff584fc30f4239d890ab29f9260160c"},
 ]
 django-menu-generator-ng = [
-    {file = "django-menu-generator-ng-1.2.1.tar.gz", hash = "sha256:06097f6611913a0770d633b6fc02cc83af1d427cc42a4048ceefe5f3a0f9d3ab"},
-    {file = "django_menu_generator_ng-1.2.1-py3-none-any.whl", hash = "sha256:f62679938b71795909653fa520e11e462401eaf5bfacf3f2608d7585beedeb52"},
+    {file = "django-menu-generator-ng-1.2.3.tar.gz", hash = "sha256:0c21a094b094add909655728b6b2d4a8baa5a2047da8f649be52589bea0e3ba2"},
 ]
 django-middleware-global-request = [
     {file = "django-middleware-global-request-0.1.2.tar.gz", hash = "sha256:f6490759bc9f7dbde4001709554e29ca715daf847f2222914b4e47117dca9313"},
@@ -2428,16 +3273,16 @@ django-model-utils = [
     {file = "django_model_utils-4.1.1-py3-none-any.whl", hash = "sha256:ef7c440024e797796a3811432abdd2be8b5225ae64ef346f8bfc6de7d8e5d73c"},
 ]
 django-otp = [
-    {file = "django-otp-1.0.2.tar.gz", hash = "sha256:f523fb9dec420f28a29d3e2ad72ac06f64588956ed4f2b5b430d8e957ebb8287"},
-    {file = "django_otp-1.0.2-py3-none-any.whl", hash = "sha256:8ba5ab9bd2738c7321376c349d7cce49cf4404e79f6804e0a3cc462a91728e18"},
+    {file = "django-otp-1.0.3.tar.gz", hash = "sha256:381a15e65293b8b06d47b7d6b306e0b7af2e104137ac92f6c566d3b9b90b6244"},
+    {file = "django_otp-1.0.3-py3-none-any.whl", hash = "sha256:f4ab096b424c33ffe69453620356e1b7517f30dfb9ba13bfeaa1d1f20faddc13"},
 ]
 django-otp-yubikey = [
     {file = "django-otp-yubikey-1.0.0.tar.gz", hash = "sha256:fbd409277892229b7e3578faa4f63ea766e242659456939164c8f71b845287b6"},
     {file = "django_otp_yubikey-1.0.0-py2.py3-none-any.whl", hash = "sha256:07743473024900c3b7a14647039f2cf66148cf6243d6aee0853ba45516c224a4"},
 ]
 django-phonenumber-field = [
-    {file = "django-phonenumber-field-3.0.1.tar.gz", hash = "sha256:794ebbc3068a7af75aa72a80cb0cec67e714ff8409a965968040f1fd210b2d97"},
-    {file = "django_phonenumber_field-3.0.1-py3-none-any.whl", hash = "sha256:1ab19f723928582fed412bd9844221fa4ff466276d8526b8b4a9913ee1487c5e"},
+    {file = "django-phonenumber-field-5.0.0.tar.gz", hash = "sha256:1eb7af3a108744665f7c3939d38aa15b3728c57d13d45d656b0a2aa11e8cdc3c"},
+    {file = "django_phonenumber_field-5.0.0-py3-none-any.whl", hash = "sha256:adb46905cc4ecb19d8494424e1c4352f24946bb472340a2a17257d44bf8228e6"},
 ]
 django-polymorphic = [
     {file = "django-polymorphic-3.0.0.tar.gz", hash = "sha256:9d886f19f031d26bb1391c055ed9be06fb226a04a4cec1842b372c58873b3caa"},
@@ -2451,6 +3296,10 @@ django-pwa = [
     {file = "django-pwa-1.0.10.tar.gz", hash = "sha256:07ed9dd57108838e3fe44b551a82032ca4ed76e31cb3c3e8d51604e0fe7e81e9"},
     {file = "django_pwa-1.0.10-py3-none-any.whl", hash = "sha256:b1a2057b1e72c40c3a14beb90b958482da185f1d40a141fcae3d76580984b930"},
 ]
+django-redis = [
+    {file = "django-redis-4.12.1.tar.gz", hash = "sha256:306589c7021e6468b2656edc89f62b8ba67e8d5a1c8877e2688042263daa7a63"},
+    {file = "django_redis-4.12.1-py3-none-any.whl", hash = "sha256:1133b26b75baa3664164c3f44b9d5d133d1b8de45d94d79f38d1adc5b1d502e5"},
+]
 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"},
@@ -2460,17 +3309,17 @@ django-reversion = [
     {file = "django_reversion-3.0.9-py3-none-any.whl", hash = "sha256:1b57127a136b969f4b843a915c72af271febe7f336469db6c27121f8adcad35c"},
 ]
 django-sass-processor = [
-    {file = "django-sass-processor-0.8.2.tar.gz", hash = "sha256:9b46a12ca8bdcb397d46fbcc49e6a926ff9f76a93c5efeb23b495419fd01fc7a"},
+    {file = "django-sass-processor-1.0.0.tar.gz", hash = "sha256:cb90efee38cd7b0fe727c78d8993ad7804de33f40328200dfc1a481307ef0466"},
 ]
 django-select2 = [
-    {file = "django-select2-7.6.1.tar.gz", hash = "sha256:25362c5bafe082a19add598fb0a69e3239b94759691a0ac8e01ab7fba8e650ad"},
-    {file = "django_select2-7.6.1-py2.py3-none-any.whl", hash = "sha256:dc6b6fa737b6ea0b673e27c218955dd51a3fb81b2b28af93ce87703b24f4faf8"},
+    {file = "django-select2-7.7.0.tar.gz", hash = "sha256:26b4c59cbeba57aea1737187b930a83c8070788286b4236b13f7873c01b32684"},
+    {file = "django_select2-7.7.0-py2.py3-none-any.whl", hash = "sha256:e56bfe3074d6b87524c5dbc139884c18c74a5e7324d66f0b93e42b6012ea0dc0"},
 ]
 django-settings-context-processor = [
     {file = "django-settings-context-processor-0.2.tar.gz", hash = "sha256:d37c853d69a3069f5abbf94c7f4f6fc0fac38bbd0524190cd5a250ba800e496a"},
 ]
 django-starfield = [
-    {file = "django-starfield-1.0.post1.tar.gz", hash = "sha256:318b7e245619ed9e3eebec5dd42f9c176109783bfa25b1e021dcb2f0809cc72a"},
+    {file = "django-starfield-1.0.post2.tar.gz", hash = "sha256:9bbc59870b958b439a2e52e3d44592ef6d80af4d57b36528292274c499f7df91"},
 ]
 django-stubs = [
     {file = "django-stubs-1.7.0.tar.gz", hash = "sha256:ddd190aca5b9adb4d30760d5c64f67cb3658703f5f42c3bb0c2c71ff4d752c39"},
@@ -2483,9 +3332,16 @@ django-tables2 = [
 django-templated-email = [
     {file = "django-templated-email-2.3.0.tar.gz", hash = "sha256:536c4e5ae099eabfb9aab36087d4d7799948c654e73da55a744213d086d5bb33"},
 ]
+django-timezone-field = [
+    {file = "django-timezone-field-4.1.2.tar.gz", hash = "sha256:cffac62452d060e365938aa9c9f7b72d70d8b26b9c60243bce227b35abd1b9df"},
+    {file = "django_timezone_field-4.1.2-py3-none-any.whl", hash = "sha256:897c06e40b619cf5731a30d6c156886a7c64cba3a90364832148da7ef32ccf36"},
+]
 django-two-factor-auth = [
-    {file = "django-two-factor-auth-1.13.tar.gz", hash = "sha256:24c2850a687c86800f4aa4131b7cebadf56f35be04ca359c4990578df1cc249a"},
-    {file = "django_two_factor_auth-1.13-py2.py3-none-any.whl", hash = "sha256:afb60e62f22b1f29a568666c0444ab05cabe8acc4d7c54d833d67f7b50f842fd"},
+    {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.1.tar.gz", hash = "sha256:777023fd291c5408f18e2ac4922faf25f161075699e11bf40f86dd90c9b9f1d4"},
 ]
 django-widget-tweaks = [
     {file = "django-widget-tweaks-1.4.8.tar.gz", hash = "sha256:9f91ca4217199b7671971d3c1f323a2bec71a0c27dec6260b3c006fa541bc489"},
@@ -2495,24 +3351,24 @@ django-yarnpkg = [
     {file = "django-yarnpkg-6.0.1.tar.gz", hash = "sha256:aa059347b246c6f242401581d2c129bdcb45aa726be59fe2f288762a9843348a"},
 ]
 docutils = [
-    {file = "docutils-0.16-py2.py3-none-any.whl", hash = "sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af"},
-    {file = "docutils-0.16.tar.gz", hash = "sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc"},
+    {file = "docutils-0.17-py2.py3-none-any.whl", hash = "sha256:a71042bb7207c03d5647f280427f14bfbd1a65c9eb84f4b341d85fafb6bb4bdf"},
+    {file = "docutils-0.17.tar.gz", hash = "sha256:e2ffeea817964356ba4470efba7c2f42b6b0de0b04e66378507e3e2504bbff4c"},
 ]
 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.2-py2.py3-none-any.whl", hash = "sha256:808adfe964f10695846dbf8dad7632e47fc3bc38860fd1887ed57dddffc4eff2"},
-    {file = "dynaconf-3.1.2.tar.gz", hash = "sha256:9b34ab2f811a81755f5eb4beac77a69e1e0887528c7e37fc4bc83fed52dcf502"},
+    {file = "dynaconf-3.1.4-py2.py3-none-any.whl", hash = "sha256:e6f383b84150b70fc439c8b2757581a38a58d07962aa14517292dcce1a77e160"},
+    {file = "dynaconf-3.1.4.tar.gz", hash = "sha256:b2f472d83052f809c5925565b8a2ba76a103d5dc1dbb9748b693ed67212781b9"},
 ]
 faker = [
-    {file = "Faker-5.8.0-py3-none-any.whl", hash = "sha256:0783729c61501d52efea2967aff6e6fcb8370f0f6b5a558f2a81233642ae529a"},
-    {file = "Faker-5.8.0.tar.gz", hash = "sha256:6b2995ffff6c2b02bc5daad96f8c24c021e5bd491d9d53d31bcbd66f348181d4"},
+    {file = "Faker-7.0.1-py3-none-any.whl", hash = "sha256:08c4cfbfd498c0e90aff6741771c01803d894013df858db6a573182c6a47951f"},
+    {file = "Faker-7.0.1.tar.gz", hash = "sha256:20c6e4253b73ef2a783d38e085e7c8d8916295fff31c7403116d2af8f908f7ca"},
 ]
 flake8 = [
-    {file = "flake8-3.8.4-py2.py3-none-any.whl", hash = "sha256:749dbbd6bfd0cf1318af27bf97a14e28e5ff548ef8e5b1566ccfb25a11e7c839"},
-    {file = "flake8-3.8.4.tar.gz", hash = "sha256:aadae8761ec651813c24be05c6f7b4680857ef6afaae4651a4eccaef97ce6c3b"},
+    {file = "flake8-3.9.0-py2.py3-none-any.whl", hash = "sha256:12d05ab02614b6aee8df7c36b97d1a3b2372761222b19b58621355e82acddcff"},
+    {file = "flake8-3.9.0.tar.gz", hash = "sha256:78873e372b12b093da7b5e5ed302e8ad9e988b38b063b61ad937f26ca58fc5f0"},
 ]
 flake8-bandit = [
     {file = "flake8_bandit-2.1.2.tar.gz", hash = "sha256:687fc8da2e4a239b206af2e54a90093572a60d0954f3054e23690739b0b0de3b"},
@@ -2529,8 +3385,8 @@ flake8-django = [
     {file = "flake8_django-1.1.1-py3-none-any.whl", hash = "sha256:c71da0e61b6119dae91cbffdbdb00f1d6ebe3f5d0c43f5bf136929997ab0b72d"},
 ]
 flake8-docstrings = [
-    {file = "flake8-docstrings-1.5.0.tar.gz", hash = "sha256:3d5a31c7ec6b7367ea6506a87ec293b94a0a46c0bce2bb4975b7f1d09b6f3717"},
-    {file = "flake8_docstrings-1.5.0-py2.py3-none-any.whl", hash = "sha256:a256ba91bc52307bef1de59e2a009c3cf61c3d0952dbe035d6ff7208940c2edc"},
+    {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"},
@@ -2549,7 +3405,7 @@ flake8-polyfill = [
     {file = "flake8_polyfill-1.0.2-py2.py3-none-any.whl", hash = "sha256:12be6a34ee3ab795b19ca73505e7b55826d5f6ad7230d31b18e106400169b9e9"},
 ]
 flake8-rst-docstrings = [
-    {file = "flake8-rst-docstrings-0.0.13.tar.gz", hash = "sha256:b1b619d81d879b874533973ac04ee5d823fdbe8c9f3701bfe802bb41813997b4"},
+    {file = "flake8-rst-docstrings-0.0.14.tar.gz", hash = "sha256:8f8bcb18f1408b506dd8ba2c99af3eac6128f6911d4bf6ff874b94caa70182a2"},
 ]
 funcsigs = [
     {file = "funcsigs-1.0.2-py2.py3-none-any.whl", hash = "sha256:330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca"},
@@ -2559,12 +3415,12 @@ future = [
     {file = "future-0.18.2.tar.gz", hash = "sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d"},
 ]
 gitdb = [
-    {file = "gitdb-4.0.5-py3-none-any.whl", hash = "sha256:91f36bfb1ab7949b3b40e23736db18231bf7593edada2ba5c3a174a7b23657ac"},
-    {file = "gitdb-4.0.5.tar.gz", hash = "sha256:c9e1f2d0db7ddb9a704c2a0217be31214e91a4fe1dea1efad19ae42ba0c285c9"},
+    {file = "gitdb-4.0.7-py3-none-any.whl", hash = "sha256:6c4cc71933456991da20917998acbe6cf4fb41eeaab7d6d67fbc05ecd4c865b0"},
+    {file = "gitdb-4.0.7.tar.gz", hash = "sha256:96bf5c08b157a666fec41129e6d327235284cca4c81e92109260f353ba138005"},
 ]
 gitpython = [
-    {file = "GitPython-3.1.12-py3-none-any.whl", hash = "sha256:867ec3dfb126aac0f8296b19fb63b8c4a399f32b4b6fafe84c4b10af5fa9f7b5"},
-    {file = "GitPython-3.1.12.tar.gz", hash = "sha256:42dbefd8d9e2576c496ed0059f3103dcef7125b9ce16f9d5f9c834aed44a1dac"},
+    {file = "GitPython-3.1.14-py3-none-any.whl", hash = "sha256:3283ae2fba31c913d857e12e5ba5f9a7772bbc064ae2bb09efafa71b0dd4939b"},
+    {file = "GitPython-3.1.14.tar.gz", hash = "sha256:be27633e7509e58391f10207cd32b2a6cf5b908f92d9cd30da2e514e1137af61"},
 ]
 html2text = [
     {file = "html2text-2020.1.16-py3-none-any.whl", hash = "sha256:c7c629882da0cf377d66f073329ccf34a12ed2adf0169b9285ae4e63ef54c82b"},
@@ -2579,21 +3435,37 @@ imagesize = [
     {file = "imagesize-1.2.0.tar.gz", hash = "sha256:b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1"},
 ]
 importlib-metadata = [
-    {file = "importlib_metadata-3.4.0-py3-none-any.whl", hash = "sha256:ace61d5fc652dc280e7b6b4ff732a9c2d40db2c0f92bc6cb74e07b73d53a1771"},
-    {file = "importlib_metadata-3.4.0.tar.gz", hash = "sha256:fa5daa4477a7414ae34e95942e4dd07f62adf589143c875c133c1e53c4eff38d"},
+    {file = "importlib_metadata-3.10.0-py3-none-any.whl", hash = "sha256:d2d46ef77ffc85cbf7dac7e81dd663fde71c45326131bea8033b9bad42268ebe"},
+    {file = "importlib_metadata-3.10.0.tar.gz", hash = "sha256:c9db46394197244adf2f0b08ec5bc3cf16757e9590b02af1fca085c16c0d600a"},
 ]
 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.22.0-py3-none-any.whl", hash = "sha256:c0ce02dfaa5f854809ab7413c601c4543846d9da81010258ecdab299b542d199"},
+    {file = "ipython-7.22.0.tar.gz", hash = "sha256:9c900332d4c5a6de534b4befeeb7de44ad0cc42e8327fa41b7685abde58cec74"},
+]
+ipython-genutils = [
+    {file = "ipython_genutils-0.2.0-py2.py3-none-any.whl", hash = "sha256:72dd37233799e619666c9f639a9da83c34013a73e8bbc79a7a6348d93c61fab8"},
+    {file = "ipython_genutils-0.2.0.tar.gz", hash = "sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8"},
+]
 isort = [
-    {file = "isort-5.7.0-py3-none-any.whl", hash = "sha256:fff4f0c04e1825522ce6949973e83110a6e907750cd92d128b0d14aaaadbffdc"},
-    {file = "isort-5.7.0.tar.gz", hash = "sha256:c729845434366216d320e936b8ad6f9d681aab72dc7cbc2d51bedc3582f3ad1e"},
+    {file = "isort-5.8.0-py3-none-any.whl", hash = "sha256:2bb1680aad211e3c9944dbce1d4ba09a989f04e238296c87fe2139faa26d655d"},
+    {file = "isort-5.8.0.tar.gz", hash = "sha256:0a943902919f65c5684ac4e0154b1ad4fac6dcaa5d9f3426b732f1c8b5419be6"},
+]
+jedi = [
+    {file = "jedi-0.18.0-py2.py3-none-any.whl", hash = "sha256:18456d83f65f400ab0c2d3319e48520420ef43b23a086fdc05dff34132f0fb93"},
+    {file = "jedi-0.18.0.tar.gz", hash = "sha256:92550a404bad8afed881a137ec9a461fed49eca661414be45059329614ed0707"},
 ]
 jinja2 = [
     {file = "Jinja2-2.11.3-py2.py3-none-any.whl", hash = "sha256:03e47ad063331dd6a3f04a43eddca8a966a26ba0c5b7207a9a9e4e08f1b29419"},
     {file = "Jinja2-2.11.3.tar.gz", hash = "sha256:a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6"},
 ]
+kombu = [
+    {file = "kombu-5.0.2-py2.py3-none-any.whl", hash = "sha256:6dc509178ac4269b0e66ab4881f70a2035c33d3a622e20585f965986a5182006"},
+    {file = "kombu-5.0.2.tar.gz", hash = "sha256:f4965fba0a4718d47d470beeb5d6446e3357a62402b16c510b6a2f251e05ac3c"},
+]
 latex = [
     {file = "latex-0.7.0.tar.gz", hash = "sha256:bf10c3fe27e9f3adccebc12e90ec239c86dcba101b89221f6775918211482a79"},
 ]
@@ -2635,20 +3507,39 @@ markupsafe = [
     {file = "MarkupSafe-1.1.1-cp35-cp35m-win32.whl", hash = "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1"},
     {file = "MarkupSafe-1.1.1-cp35-cp35m-win_amd64.whl", hash = "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d"},
     {file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff"},
+    {file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d53bc011414228441014aa71dbec320c66468c1030aae3a6e29778a3382d96e5"},
     {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473"},
     {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e"},
+    {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:3b8a6499709d29c2e2399569d96719a1b21dcd94410a586a18526b143ec8470f"},
+    {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:84dee80c15f1b560d55bcfe6d47b27d070b4681c699c572af2e3c7cc90a3b8e0"},
+    {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:b1dba4527182c95a0db8b6060cc98ac49b9e2f5e64320e2b56e47cb2831978c7"},
     {file = "MarkupSafe-1.1.1-cp36-cp36m-win32.whl", hash = "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66"},
     {file = "MarkupSafe-1.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5"},
     {file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d"},
+    {file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:bf5aa3cbcfdf57fa2ee9cd1822c862ef23037f5c832ad09cfea57fa846dec193"},
     {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e"},
     {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6"},
+    {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:6fffc775d90dcc9aed1b89219549b329a9250d918fd0b8fa8d93d154918422e1"},
+    {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:a6a744282b7718a2a62d2ed9d993cad6f5f585605ad352c11de459f4108df0a1"},
+    {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:195d7d2c4fbb0ee8139a6cf67194f3973a6b3042d742ebe0a9ed36d8b6f0c07f"},
     {file = "MarkupSafe-1.1.1-cp37-cp37m-win32.whl", hash = "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2"},
     {file = "MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c"},
     {file = "MarkupSafe-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15"},
     {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2"},
     {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42"},
+    {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:acf08ac40292838b3cbbb06cfe9b2cb9ec78fce8baca31ddb87aaac2e2dc3bc2"},
+    {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:d9be0ba6c527163cbed5e0857c451fcd092ce83947944d6c14bc95441203f032"},
+    {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:caabedc8323f1e93231b52fc32bdcde6db817623d33e100708d9a68e1f53b26b"},
     {file = "MarkupSafe-1.1.1-cp38-cp38-win32.whl", hash = "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b"},
     {file = "MarkupSafe-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be"},
+    {file = "MarkupSafe-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d73a845f227b0bfe8a7455ee623525ee656a9e2e749e4742706d80a6065d5e2c"},
+    {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:98bae9582248d6cf62321dcb52aaf5d9adf0bad3b40582925ef7c7f0ed85fceb"},
+    {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:2beec1e0de6924ea551859edb9e7679da6e4870d32cb766240ce17e0a0ba2014"},
+    {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:7fed13866cf14bba33e7176717346713881f56d9d2bcebab207f7a036f41b850"},
+    {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:6f1e273a344928347c1290119b493a1f0303c52f5a5eae5f16d74f48c15d4a85"},
+    {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:feb7b34d6325451ef96bc0e36e1a6c0c1c64bc1fbec4b854f4529e51887b1621"},
+    {file = "MarkupSafe-1.1.1-cp39-cp39-win32.whl", hash = "sha256:22c178a091fc6630d0d045bdb5992d2dfe14e3259760e713c490da5323866c39"},
+    {file = "MarkupSafe-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:b7d644ddb4dbd407d31ffb699f1d140bc35478da613b441c582aeb7c43838dd8"},
     {file = "MarkupSafe-1.1.1.tar.gz", hash = "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"},
 ]
 mccabe = [
@@ -2656,28 +3547,28 @@ mccabe = [
     {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"},
 ]
 mypy = [
-    {file = "mypy-0.800-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:e1c84c65ff6d69fb42958ece5b1255394714e0aac4df5ffe151bc4fe19c7600a"},
-    {file = "mypy-0.800-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:947126195bfe4709c360e89b40114c6746ae248f04d379dca6f6ab677aa07641"},
-    {file = "mypy-0.800-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:b95068a3ce3b50332c40e31a955653be245666a4bc7819d3c8898aa9fb9ea496"},
-    {file = "mypy-0.800-cp35-cp35m-win_amd64.whl", hash = "sha256:ca7ad5aed210841f1e77f5f2f7d725b62c78fa77519312042c719ed2ab937876"},
-    {file = "mypy-0.800-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e32b7b282c4ed4e378bba8b8dfa08e1cfa6f6574067ef22f86bee5b1039de0c9"},
-    {file = "mypy-0.800-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:e497a544391f733eca922fdcb326d19e894789cd4ff61d48b4b195776476c5cf"},
-    {file = "mypy-0.800-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:5615785d3e2f4f03ab7697983d82c4b98af5c321614f51b8f1034eb9ebe48363"},
-    {file = "mypy-0.800-cp36-cp36m-win_amd64.whl", hash = "sha256:2b216eacca0ec0ee124af9429bfd858d5619a0725ee5f88057e6e076f9eb1a7b"},
-    {file = "mypy-0.800-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e3b8432f8df19e3c11235c4563a7250666dc9aa7cdda58d21b4177b20256ca9f"},
-    {file = "mypy-0.800-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:d16c54b0dffb861dc6318a8730952265876d90c5101085a4bc56913e8521ba19"},
-    {file = "mypy-0.800-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:0d2fc8beb99cd88f2d7e20d69131353053fbecea17904ee6f0348759302c52fa"},
-    {file = "mypy-0.800-cp37-cp37m-win_amd64.whl", hash = "sha256:aa9d4901f3ee1a986a3a79fe079ffbf7f999478c281376f48faa31daaa814e86"},
-    {file = "mypy-0.800-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:319ee5c248a7c3f94477f92a729b7ab06bf8a6d04447ef3aa8c9ba2aa47c6dcf"},
-    {file = "mypy-0.800-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:74f5aa50d0866bc6fb8e213441c41e466c86678c800700b87b012ed11c0a13e0"},
-    {file = "mypy-0.800-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:a301da58d566aca05f8f449403c710c50a9860782148332322decf73a603280b"},
-    {file = "mypy-0.800-cp38-cp38-win_amd64.whl", hash = "sha256:b9150db14a48a8fa114189bfe49baccdff89da8c6639c2717750c7ae62316738"},
-    {file = "mypy-0.800-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f5fdf935a46aa20aa937f2478480ebf4be9186e98e49cc3843af9a5795a49a25"},
-    {file = "mypy-0.800-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:6f8425fecd2ba6007e526209bb985ce7f49ed0d2ac1cc1a44f243380a06a84fb"},
-    {file = "mypy-0.800-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:5ff616787122774f510caeb7b980542a7cc2222be3f00837a304ea85cd56e488"},
-    {file = "mypy-0.800-cp39-cp39-win_amd64.whl", hash = "sha256:90b6f46dc2181d74f80617deca611925d7e63007cf416397358aa42efb593e07"},
-    {file = "mypy-0.800-py3-none-any.whl", hash = "sha256:3e0c159a7853e3521e3f582adb1f3eac66d0b0639d434278e2867af3a8c62653"},
-    {file = "mypy-0.800.tar.gz", hash = "sha256:e0202e37756ed09daf4b0ba64ad2c245d357659e014c3f51d8cd0681ba66940a"},
+    {file = "mypy-0.812-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:a26f8ec704e5a7423c8824d425086705e381b4f1dfdef6e3a1edab7ba174ec49"},
+    {file = "mypy-0.812-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:28fb5479c494b1bab244620685e2eb3c3f988d71fd5d64cc753195e8ed53df7c"},
+    {file = "mypy-0.812-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:9743c91088d396c1a5a3c9978354b61b0382b4e3c440ce83cf77994a43e8c521"},
+    {file = "mypy-0.812-cp35-cp35m-win_amd64.whl", hash = "sha256:d7da2e1d5f558c37d6e8c1246f1aec1e7349e4913d8fb3cb289a35de573fe2eb"},
+    {file = "mypy-0.812-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:4eec37370483331d13514c3f55f446fc5248d6373e7029a29ecb7b7494851e7a"},
+    {file = "mypy-0.812-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:d65cc1df038ef55a99e617431f0553cd77763869eebdf9042403e16089fe746c"},
+    {file = "mypy-0.812-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:61a3d5b97955422964be6b3baf05ff2ce7f26f52c85dd88db11d5e03e146a3a6"},
+    {file = "mypy-0.812-cp36-cp36m-win_amd64.whl", hash = "sha256:25adde9b862f8f9aac9d2d11971f226bd4c8fbaa89fb76bdadb267ef22d10064"},
+    {file = "mypy-0.812-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:552a815579aa1e995f39fd05dde6cd378e191b063f031f2acfe73ce9fb7f9e56"},
+    {file = "mypy-0.812-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:499c798053cdebcaa916eef8cd733e5584b5909f789de856b482cd7d069bdad8"},
+    {file = "mypy-0.812-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:5873888fff1c7cf5b71efbe80e0e73153fe9212fafdf8e44adfe4c20ec9f82d7"},
+    {file = "mypy-0.812-cp37-cp37m-win_amd64.whl", hash = "sha256:9f94aac67a2045ec719ffe6111df543bac7874cee01f41928f6969756e030564"},
+    {file = "mypy-0.812-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d23e0ea196702d918b60c8288561e722bf437d82cb7ef2edcd98cfa38905d506"},
+    {file = "mypy-0.812-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:674e822aa665b9fd75130c6c5f5ed9564a38c6cea6a6432ce47eafb68ee578c5"},
+    {file = "mypy-0.812-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:abf7e0c3cf117c44d9285cc6128856106183938c68fd4944763003decdcfeb66"},
+    {file = "mypy-0.812-cp38-cp38-win_amd64.whl", hash = "sha256:0d0a87c0e7e3a9becdfbe936c981d32e5ee0ccda3e0f07e1ef2c3d1a817cf73e"},
+    {file = "mypy-0.812-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7ce3175801d0ae5fdfa79b4f0cfed08807af4d075b402b7e294e6aa72af9aa2a"},
+    {file = "mypy-0.812-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:b09669bcda124e83708f34a94606e01b614fa71931d356c1f1a5297ba11f110a"},
+    {file = "mypy-0.812-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:33f159443db0829d16f0a8d83d94df3109bb6dd801975fe86bacb9bf71628e97"},
+    {file = "mypy-0.812-cp39-cp39-win_amd64.whl", hash = "sha256:3f2aca7f68580dc2508289c729bd49ee929a436208d2b2b6aab15745a70a57df"},
+    {file = "mypy-0.812-py3-none-any.whl", hash = "sha256:2f9b3407c58347a452fc0736861593e105139b905cca7d097e413453a1d650b4"},
+    {file = "mypy-0.812.tar.gz", hash = "sha256:cd07039aa5df222037005b08fbbfd69b3ab0b0bd7a07d7906de75ae52c4e3119"},
 ]
 mypy-extensions = [
     {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"},
@@ -2687,6 +3578,14 @@ packaging = [
     {file = "packaging-20.9-py2.py3-none-any.whl", hash = "sha256:67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21f051443c20947a"},
     {file = "packaging-20.9.tar.gz", hash = "sha256:5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5"},
 ]
+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.8.1-py2.py3-none-any.whl", hash = "sha256:aa0cb481c4041bf52ffa7b0d8fa6cd3e88a2ca4879c533c9153882ee2556790d"},
     {file = "pathspec-0.8.1.tar.gz", hash = "sha256:86379d6b86d75816baba717e64b1a3a3469deb93bb76d613c9ce79edc5cb68fd"},
@@ -2703,54 +3602,63 @@ pexpect = [
     {file = "pexpect-4.8.0.tar.gz", hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"},
 ]
 pg8000 = [
-    {file = "pg8000-1.17.0-py3-none-any.whl", hash = "sha256:3276fe9cf38fee4fd4006c64d50fa621841b550f0f068d88b4694ee423188a5f"},
-    {file = "pg8000-1.17.0.tar.gz", hash = "sha256:14198c5afeb289106e40ee6e5e4c0529c5369939f6ca588a028b371a75fe20dd"},
+    {file = "pg8000-1.19.1-py3-none-any.whl", hash = "sha256:35c1f3db6e5540456aa38da5f42589274e7266c25365d2829dc8d52513520abe"},
+    {file = "pg8000-1.19.1.tar.gz", hash = "sha256:cb7ace8c582b7000a5ee428efa8ff6c82a7d710cc0f7d2d76258703a2aa7afe3"},
 ]
 phonenumbers = [
-    {file = "phonenumbers-8.12.17-py2.py3-none-any.whl", hash = "sha256:c14eee6fa24f37ca1ead7ba3b8e5b84763f97c74ade728fa157de6d95c7469c0"},
-    {file = "phonenumbers-8.12.17.tar.gz", hash = "sha256:f5d57c9fc8f7162ba562325d69d65b4f76e750951c5945c57876e94d824392ec"},
+    {file = "phonenumbers-8.12.20-py2.py3-none-any.whl", hash = "sha256:7c2b26ee026f765a8032fc2a333b46fa1860445c7ce6df3b717b9f6985106084"},
+    {file = "phonenumbers-8.12.20.tar.gz", hash = "sha256:ee5a8508c4a414262abad92ec33f050347f681973ed0fb36e98b52bfe159f6b8"},
+]
+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.1.0-cp36-cp36m-macosx_10_10_x86_64.whl", hash = "sha256:d355502dce85ade85a2511b40b4c61a128902f246504f7de29bbeec1ae27933a"},
-    {file = "Pillow-8.1.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:93a473b53cc6e0b3ce6bf51b1b95b7b1e7e6084be3a07e40f79b42e83503fbf2"},
-    {file = "Pillow-8.1.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:2353834b2c49b95e1313fb34edf18fca4d57446675d05298bb694bca4b194174"},
-    {file = "Pillow-8.1.0-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:1d208e670abfeb41b6143537a681299ef86e92d2a3dac299d3cd6830d5c7bded"},
-    {file = "Pillow-8.1.0-cp36-cp36m-win32.whl", hash = "sha256:dd9eef866c70d2cbbea1ae58134eaffda0d4bfea403025f4db6859724b18ab3d"},
-    {file = "Pillow-8.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:b09e10ec453de97f9a23a5aa5e30b334195e8d2ddd1ce76cc32e52ba63c8b31d"},
-    {file = "Pillow-8.1.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:b02a0b9f332086657852b1f7cb380f6a42403a6d9c42a4c34a561aa4530d5234"},
-    {file = "Pillow-8.1.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:ca20739e303254287138234485579b28cb0d524401f83d5129b5ff9d606cb0a8"},
-    {file = "Pillow-8.1.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:604815c55fd92e735f9738f65dabf4edc3e79f88541c221d292faec1904a4b17"},
-    {file = "Pillow-8.1.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:cf6e33d92b1526190a1de904df21663c46a456758c0424e4f947ae9aa6088bf7"},
-    {file = "Pillow-8.1.0-cp37-cp37m-win32.whl", hash = "sha256:47c0d93ee9c8b181f353dbead6530b26980fe4f5485aa18be8f1fd3c3cbc685e"},
-    {file = "Pillow-8.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:96d4dc103d1a0fa6d47c6c55a47de5f5dafd5ef0114fa10c85a1fd8e0216284b"},
-    {file = "Pillow-8.1.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:7916cbc94f1c6b1301ac04510d0881b9e9feb20ae34094d3615a8a7c3db0dcc0"},
-    {file = "Pillow-8.1.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:3de6b2ee4f78c6b3d89d184ade5d8fa68af0848f9b6b6da2b9ab7943ec46971a"},
-    {file = "Pillow-8.1.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:cdbbe7dff4a677fb555a54f9bc0450f2a21a93c5ba2b44e09e54fcb72d2bd13d"},
-    {file = "Pillow-8.1.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:f50e7a98b0453f39000619d845be8b06e611e56ee6e8186f7f60c3b1e2f0feae"},
-    {file = "Pillow-8.1.0-cp38-cp38-win32.whl", hash = "sha256:cb192176b477d49b0a327b2a5a4979552b7a58cd42037034316b8018ac3ebb59"},
-    {file = "Pillow-8.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:6c5275bd82711cd3dcd0af8ce0bb99113ae8911fc2952805f1d012de7d600a4c"},
-    {file = "Pillow-8.1.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:165c88bc9d8dba670110c689e3cc5c71dbe4bfb984ffa7cbebf1fac9554071d6"},
-    {file = "Pillow-8.1.0-cp39-cp39-manylinux1_i686.whl", hash = "sha256:5e2fe3bb2363b862671eba632537cd3a823847db4d98be95690b7e382f3d6378"},
-    {file = "Pillow-8.1.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7612520e5e1a371d77e1d1ca3a3ee6227eef00d0a9cddb4ef7ecb0b7396eddf7"},
-    {file = "Pillow-8.1.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:d673c4990acd016229a5c1c4ee8a9e6d8f481b27ade5fc3d95938697fa443ce0"},
-    {file = "Pillow-8.1.0-cp39-cp39-win32.whl", hash = "sha256:dc577f4cfdda354db3ae37a572428a90ffdbe4e51eda7849bf442fb803f09c9b"},
-    {file = "Pillow-8.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:22d070ca2e60c99929ef274cfced04294d2368193e935c5d6febfd8b601bf865"},
-    {file = "Pillow-8.1.0-pp36-pypy36_pp73-macosx_10_10_x86_64.whl", hash = "sha256:a3d3e086474ef12ef13d42e5f9b7bbf09d39cf6bd4940f982263d6954b13f6a9"},
-    {file = "Pillow-8.1.0-pp36-pypy36_pp73-manylinux2010_i686.whl", hash = "sha256:731ca5aabe9085160cf68b2dbef95fc1991015bc0a3a6ea46a371ab88f3d0913"},
-    {file = "Pillow-8.1.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:bba80df38cfc17f490ec651c73bb37cd896bc2400cfba27d078c2135223c1206"},
-    {file = "Pillow-8.1.0-pp37-pypy37_pp73-macosx_10_10_x86_64.whl", hash = "sha256:c3d911614b008e8a576b8e5303e3db29224b455d3d66d1b2848ba6ca83f9ece9"},
-    {file = "Pillow-8.1.0-pp37-pypy37_pp73-manylinux2010_i686.whl", hash = "sha256:39725acf2d2e9c17356e6835dccebe7a697db55f25a09207e38b835d5e1bc032"},
-    {file = "Pillow-8.1.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl", hash = "sha256:81c3fa9a75d9f1afafdb916d5995633f319db09bd773cb56b8e39f1e98d90820"},
-    {file = "Pillow-8.1.0-pp37-pypy37_pp73-win32.whl", hash = "sha256:b6f00ad5ebe846cc91763b1d0c6d30a8042e02b2316e27b05de04fa6ec831ec5"},
-    {file = "Pillow-8.1.0.tar.gz", hash = "sha256:887668e792b7edbfb1d3c9d8b5d8c859269a0f0eba4dda562adb95500f60dbba"},
+    {file = "Pillow-8.2.0-cp36-cp36m-macosx_10_10_x86_64.whl", hash = "sha256:dc38f57d8f20f06dd7c3161c59ca2c86893632623f33a42d592f097b00f720a9"},
+    {file = "Pillow-8.2.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:a013cbe25d20c2e0c4e85a9daf438f85121a4d0344ddc76e33fd7e3965d9af4b"},
+    {file = "Pillow-8.2.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:8bb1e155a74e1bfbacd84555ea62fa21c58e0b4e7e6b20e4447b8d07990ac78b"},
+    {file = "Pillow-8.2.0-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:c5236606e8570542ed424849f7852a0ff0bce2c4c8d0ba05cc202a5a9c97dee9"},
+    {file = "Pillow-8.2.0-cp36-cp36m-win32.whl", hash = "sha256:12e5e7471f9b637762453da74e390e56cc43e486a88289995c1f4c1dc0bfe727"},
+    {file = "Pillow-8.2.0-cp36-cp36m-win_amd64.whl", hash = "sha256:5afe6b237a0b81bd54b53f835a153770802f164c5570bab5e005aad693dab87f"},
+    {file = "Pillow-8.2.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:cb7a09e173903541fa888ba010c345893cd9fc1b5891aaf060f6ca77b6a3722d"},
+    {file = "Pillow-8.2.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:0d19d70ee7c2ba97631bae1e7d4725cdb2ecf238178096e8c82ee481e189168a"},
+    {file = "Pillow-8.2.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:083781abd261bdabf090ad07bb69f8f5599943ddb539d64497ed021b2a67e5a9"},
+    {file = "Pillow-8.2.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:c6b39294464b03457f9064e98c124e09008b35a62e3189d3513e5148611c9388"},
+    {file = "Pillow-8.2.0-cp37-cp37m-win32.whl", hash = "sha256:01425106e4e8cee195a411f729cff2a7d61813b0b11737c12bd5991f5f14bcd5"},
+    {file = "Pillow-8.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:3b570f84a6161cf8865c4e08adf629441f56e32f180f7aa4ccbd2e0a5a02cba2"},
+    {file = "Pillow-8.2.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:031a6c88c77d08aab84fecc05c3cde8414cd6f8406f4d2b16fed1e97634cc8a4"},
+    {file = "Pillow-8.2.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:66cc56579fd91f517290ab02c51e3a80f581aba45fd924fcdee01fa06e635812"},
+    {file = "Pillow-8.2.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:6c32cc3145928c4305d142ebec682419a6c0a8ce9e33db900027ddca1ec39178"},
+    {file = "Pillow-8.2.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:624b977355cde8b065f6d51b98497d6cd5fbdd4f36405f7a8790e3376125e2bb"},
+    {file = "Pillow-8.2.0-cp38-cp38-win32.whl", hash = "sha256:5cbf3e3b1014dddc45496e8cf38b9f099c95a326275885199f427825c6522232"},
+    {file = "Pillow-8.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:463822e2f0d81459e113372a168f2ff59723e78528f91f0bd25680ac185cf797"},
+    {file = "Pillow-8.2.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:95d5ef984eff897850f3a83883363da64aae1000e79cb3c321915468e8c6add5"},
+    {file = "Pillow-8.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b91c36492a4bbb1ee855b7d16fe51379e5f96b85692dc8210831fbb24c43e484"},
+    {file = "Pillow-8.2.0-cp39-cp39-manylinux1_i686.whl", hash = "sha256:d68cb92c408261f806b15923834203f024110a2e2872ecb0bd2a110f89d3c602"},
+    {file = "Pillow-8.2.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f217c3954ce5fd88303fc0c317af55d5e0204106d86dea17eb8205700d47dec2"},
+    {file = "Pillow-8.2.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:5b70110acb39f3aff6b74cf09bb4169b167e2660dabc304c1e25b6555fa781ef"},
+    {file = "Pillow-8.2.0-cp39-cp39-win32.whl", hash = "sha256:a7d5e9fad90eff8f6f6106d3b98b553a88b6f976e51fce287192a5d2d5363713"},
+    {file = "Pillow-8.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:238c197fc275b475e87c1453b05b467d2d02c2915fdfdd4af126145ff2e4610c"},
+    {file = "Pillow-8.2.0-pp36-pypy36_pp73-macosx_10_10_x86_64.whl", hash = "sha256:0e04d61f0064b545b989126197930807c86bcbd4534d39168f4aa5fda39bb8f9"},
+    {file = "Pillow-8.2.0-pp36-pypy36_pp73-manylinux2010_i686.whl", hash = "sha256:63728564c1410d99e6d1ae8e3b810fe012bc440952168af0a2877e8ff5ab96b9"},
+    {file = "Pillow-8.2.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:c03c07ed32c5324939b19e36ae5f75c660c81461e312a41aea30acdd46f93a7c"},
+    {file = "Pillow-8.2.0-pp37-pypy37_pp73-macosx_10_10_x86_64.whl", hash = "sha256:4d98abdd6b1e3bf1a1cbb14c3895226816e666749ac040c4e2554231068c639b"},
+    {file = "Pillow-8.2.0-pp37-pypy37_pp73-manylinux2010_i686.whl", hash = "sha256:aac00e4bc94d1b7813fe882c28990c1bc2f9d0e1aa765a5f2b516e8a6a16a9e4"},
+    {file = "Pillow-8.2.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl", hash = "sha256:22fd0f42ad15dfdde6c581347eaa4adb9a6fc4b865f90b23378aa7914895e120"},
+    {file = "Pillow-8.2.0-pp37-pypy37_pp73-win32.whl", hash = "sha256:e98eca29a05913e82177b3ba3d198b1728e164869c613d76d0de4bde6768a50e"},
+    {file = "Pillow-8.2.0.tar.gz", hash = "sha256:a787ab10d7bb5494e5f76536ac460741788f1fbce851068d73a87ca7c35fc3e1"},
 ]
 pluggy = [
     {file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"},
     {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"},
 ]
 prometheus-client = [
-    {file = "prometheus_client-0.9.0-py2.py3-none-any.whl", hash = "sha256:b08c34c328e1bf5961f0b4352668e6c8f145b4a087e09b7296ef62cbe4693d35"},
-    {file = "prometheus_client-0.9.0.tar.gz", hash = "sha256:9da7b32f02439d8c04f7777021c304ed51d9ec180604700c1ba72a4d44dceb03"},
+    {file = "prometheus_client-0.10.0-py2.py3-none-any.whl", hash = "sha256:c5843b3e1b4689a3599a2463e5b5850d110d1a7e28a94bdc2c6f5bb6585cfb18"},
+    {file = "prometheus_client-0.10.0.tar.gz", hash = "sha256:1e7bc14fd6ca9c3fc07309b73a7a3469920dfe88ca9f331c02258cc62736cbc2"},
+]
+prompt-toolkit = [
+    {file = "prompt_toolkit-3.0.18-py3-none-any.whl", hash = "sha256:bf00f22079f5fadc949f42ae8ff7f05702826a97059ffcc6281036ad40ac6f04"},
+    {file = "prompt_toolkit-3.0.18.tar.gz", hash = "sha256:e1b4f11b9336a28fa11810bc623c357420f69dfdb6d2dac41ca2c21a55c033bc"},
 ]
 psutil = [
     {file = "psutil-5.8.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:0066a82f7b1b37d334e68697faba68e5ad5e858279fd6351c8ca6024e8d6ba64"},
@@ -2795,6 +3703,8 @@ psycopg2 = [
     {file = "psycopg2-2.8.6-cp37-cp37m-win_amd64.whl", hash = "sha256:56fee7f818d032f802b8eed81ef0c1232b8b42390df189cab9cfa87573fe52c5"},
     {file = "psycopg2-2.8.6-cp38-cp38-win32.whl", hash = "sha256:ad2fe8a37be669082e61fb001c185ffb58867fdbb3e7a6b0b0d2ffe232353a3e"},
     {file = "psycopg2-2.8.6-cp38-cp38-win_amd64.whl", hash = "sha256:56007a226b8e95aa980ada7abdea6b40b75ce62a433bd27cec7a8178d57f4051"},
+    {file = "psycopg2-2.8.6-cp39-cp39-win32.whl", hash = "sha256:2c93d4d16933fea5bbacbe1aaf8fa8c1348740b2e50b3735d1b0bf8154cbf0f3"},
+    {file = "psycopg2-2.8.6-cp39-cp39-win_amd64.whl", hash = "sha256:d5062ae50b222da28253059880a871dc87e099c25cb68acf613d9d227413d6f7"},
     {file = "psycopg2-2.8.6.tar.gz", hash = "sha256:fb23f6c71107c37fd667cb4ea363ddeb936b348bbd6449278eb92c189699f543"},
 ]
 ptyprocess = [
@@ -2806,57 +3716,52 @@ py = [
     {file = "py-1.10.0.tar.gz", hash = "sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3"},
 ]
 pycodestyle = [
-    {file = "pycodestyle-2.6.0-py2.py3-none-any.whl", hash = "sha256:2295e7b2f6b5bd100585ebcb1f616591b652db8a741695b3d8f5d28bdc934367"},
-    {file = "pycodestyle-2.6.0.tar.gz", hash = "sha256:c58a7d2815e0e8d7972bf1803331fb0152f867bd89adf8a01dfd55085434192e"},
+    {file = "pycodestyle-2.7.0-py2.py3-none-any.whl", hash = "sha256:514f76d918fcc0b55c6680472f0a37970994e07bbb80725808c17089be302068"},
+    {file = "pycodestyle-2.7.0.tar.gz", hash = "sha256:c389c1d06bf7904078ca03399a4816f974a1d590090fecea0c63ec26ebaf1cef"},
 ]
 pycryptodome = [
-    {file = "pycryptodome-3.9.9-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:5598dc6c9dbfe882904e54584322893eff185b98960bbe2cdaaa20e8a437b6e5"},
-    {file = "pycryptodome-3.9.9-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:1cfdb92dca388e27e732caa72a1cc624520fe93752a665c3b6cd8f1a91b34916"},
-    {file = "pycryptodome-3.9.9-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5f19e6ef750f677d924d9c7141f54bade3cd56695bbfd8a9ef15d0378557dfe4"},
-    {file = "pycryptodome-3.9.9-cp27-cp27m-win32.whl", hash = "sha256:a3d8a9efa213be8232c59cdc6b65600276508e375e0a119d710826248fd18d37"},
-    {file = "pycryptodome-3.9.9-cp27-cp27m-win_amd64.whl", hash = "sha256:50826b49fbca348a61529693b0031cdb782c39060fb9dca5ac5dff858159dc5a"},
-    {file = "pycryptodome-3.9.9-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:19cb674df6c74a14b8b408aa30ba8a89bd1c01e23505100fb45f930fbf0ed0d9"},
-    {file = "pycryptodome-3.9.9-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:28f75e58d02019a7edc7d4135203d2501dfc47256d175c72c9798f9a129a49a7"},
-    {file = "pycryptodome-3.9.9-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:6d3baaf82681cfb1a842f1c8f77beac791ceedd99af911e4f5fabec32bae2259"},
-    {file = "pycryptodome-3.9.9-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:946399d15eccebafc8ce0257fc4caffe383c75e6b0633509bd011e357368306c"},
-    {file = "pycryptodome-3.9.9-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:eb01f9997e4d6a8ec8a1ad1f676ba5a362781ff64e8189fe2985258ba9cb9706"},
-    {file = "pycryptodome-3.9.9-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:411745c6dce4eff918906eebcde78771d44795d747e194462abb120d2e537cd9"},
-    {file = "pycryptodome-3.9.9-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:8f9f84059039b672a5a705b3c5aa21747867bacc30a72e28bf0d147cc8ef85ed"},
-    {file = "pycryptodome-3.9.9-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:7798e73225a699651888489fbb1dbc565e03a509942a8ce6194bbe6fb582a41f"},
-    {file = "pycryptodome-3.9.9-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:46e96aeb8a9ca8b1edf9b1fd0af4bf6afcf3f1ca7fa35529f5d60b98f3e4e959"},
-    {file = "pycryptodome-3.9.9-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:843e5f10ecdf9d307032b8b91afe9da1d6ed5bb89d0bbec5c8dcb4ba44008e11"},
-    {file = "pycryptodome-3.9.9-cp36-cp36m-win32.whl", hash = "sha256:b68794fba45bdb367eeb71249c26d23e61167510a1d0c3d6cf0f2f14636e62ee"},
-    {file = "pycryptodome-3.9.9-cp36-cp36m-win_amd64.whl", hash = "sha256:60febcf5baf70c566d9d9351c47fbd8321da9a4edf2eff45c4c31c86164ca794"},
-    {file = "pycryptodome-3.9.9-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:4ed27951b0a17afd287299e2206a339b5b6d12de9321e1a1575261ef9c4a851b"},
-    {file = "pycryptodome-3.9.9-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:9000877383e2189dafd1b2fc68c6c726eca9a3cfb6d68148fbb72ccf651959b6"},
-    {file = "pycryptodome-3.9.9-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:faa682c404c218e8788c3126c9a4b8fbcc54dc245b5b6e8ea5b46f3b63bd0c84"},
-    {file = "pycryptodome-3.9.9-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:62c488a21c253dadc9f731a32f0ac61e4e436d81a1ea6f7d1d9146ed4d20d6bd"},
-    {file = "pycryptodome-3.9.9-cp37-cp37m-win32.whl", hash = "sha256:834b790bbb6bd18956f625af4004d9c15eed12d5186d8e57851454ae76d52215"},
-    {file = "pycryptodome-3.9.9-cp37-cp37m-win_amd64.whl", hash = "sha256:70d807d11d508433daf96244ec1c64e55039e8a35931fc5ea9eee94dbe3cb6b5"},
-    {file = "pycryptodome-3.9.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:27397aee992af69d07502126561d851ba3845aa808f0e55c71ad0efa264dd7d4"},
-    {file = "pycryptodome-3.9.9-cp38-cp38-manylinux1_i686.whl", hash = "sha256:d7ec2bd8f57c559dd24e71891c51c25266a8deb66fc5f02cc97c7fb593d1780a"},
-    {file = "pycryptodome-3.9.9-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:e15bde67ccb7d4417f627dd16ffe2f5a4c2941ce5278444e884cb26d73ecbc61"},
-    {file = "pycryptodome-3.9.9-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:5c3c4865730dfb0263f822b966d6d58429d8b1e560d1ddae37685fd9e7c63161"},
-    {file = "pycryptodome-3.9.9-cp38-cp38-win32.whl", hash = "sha256:76b1a34d74bb2c91bce460cdc74d1347592045627a955e9a252554481c17c52f"},
-    {file = "pycryptodome-3.9.9-cp38-cp38-win_amd64.whl", hash = "sha256:6e4227849e4231a3f5b35ea5bdedf9a82b3883500e5624f00a19156e9a9ef861"},
-    {file = "pycryptodome-3.9.9-cp39-cp39-manylinux1_i686.whl", hash = "sha256:2a68df525b387201a43b27b879ce8c08948a430e883a756d6c9e3acdaa7d7bd8"},
-    {file = "pycryptodome-3.9.9-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:a4599c0ca0fc027c780c1c45ed996d5bef03e571470b7b1c7171ec1e1a90914c"},
-    {file = "pycryptodome-3.9.9-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:b4e6b269a8ddaede774e5c3adbef6bf452ee144e6db8a716d23694953348cd86"},
-    {file = "pycryptodome-3.9.9-cp39-cp39-win32.whl", hash = "sha256:a199e9ca46fc6e999e5f47fce342af4b56c7de85fae893c69ab6aa17531fb1e1"},
-    {file = "pycryptodome-3.9.9-cp39-cp39-win_amd64.whl", hash = "sha256:6e89bb3826e6f84501e8e3b205c22595d0c5492c2f271cbb9ee1c48eb1866645"},
-    {file = "pycryptodome-3.9.9.tar.gz", hash = "sha256:910e202a557e1131b1c1b3f17a63914d57aac55cf9fb9b51644962841c3995c4"},
+    {file = "pycryptodome-3.10.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:1c5e1ca507de2ad93474be5cfe2bfa76b7cf039a1a32fc196f40935944871a06"},
+    {file = "pycryptodome-3.10.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:6260e24d41149268122dd39d4ebd5941e9d107f49463f7e071fd397e29923b0c"},
+    {file = "pycryptodome-3.10.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:3f840c49d38986f6e17dbc0673d37947c88bc9d2d9dba1c01b979b36f8447db1"},
+    {file = "pycryptodome-3.10.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:2dea65df54349cdfa43d6b2e8edb83f5f8d6861e5cf7b1fbc3e34c5694c85e27"},
+    {file = "pycryptodome-3.10.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:e61e363d9a5d7916f3a4ce984a929514c0df3daf3b1b2eb5e6edbb131ee771cf"},
+    {file = "pycryptodome-3.10.1-cp27-cp27m-manylinux2014_aarch64.whl", hash = "sha256:2603c98ae04aac675fefcf71a6c87dc4bb74a75e9071ae3923bbc91a59f08d35"},
+    {file = "pycryptodome-3.10.1-cp27-cp27m-win32.whl", hash = "sha256:38661348ecb71476037f1e1f553159b80d256c00f6c0b00502acac891f7116d9"},
+    {file = "pycryptodome-3.10.1-cp27-cp27m-win_amd64.whl", hash = "sha256:1723ebee5561628ce96748501cdaa7afaa67329d753933296321f0be55358dce"},
+    {file = "pycryptodome-3.10.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:77997519d8eb8a4adcd9a47b9cec18f9b323e296986528186c0e9a7a15d6a07e"},
+    {file = "pycryptodome-3.10.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:99b2f3fc51d308286071d0953f92055504a6ffe829a832a9fc7a04318a7683dd"},
+    {file = "pycryptodome-3.10.1-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:e0a4d5933a88a2c98bbe19c0c722f5483dc628d7a38338ac2cb64a7dbd34064b"},
+    {file = "pycryptodome-3.10.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d3d6958d53ad307df5e8469cc44474a75393a434addf20ecd451f38a72fe29b8"},
+    {file = "pycryptodome-3.10.1-cp27-cp27mu-manylinux2014_aarch64.whl", hash = "sha256:a8eb8b6ea09ec1c2535bf39914377bc8abcab2c7d30fa9225eb4fe412024e427"},
+    {file = "pycryptodome-3.10.1-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:31c1df17b3dc5f39600a4057d7db53ac372f492c955b9b75dd439f5d8b460129"},
+    {file = "pycryptodome-3.10.1-cp35-abi3-manylinux1_i686.whl", hash = "sha256:a3105a0eb63eacf98c2ecb0eb4aa03f77f40fbac2bdde22020bb8a536b226bb8"},
+    {file = "pycryptodome-3.10.1-cp35-abi3-manylinux1_x86_64.whl", hash = "sha256:a92d5c414e8ee1249e850789052608f582416e82422502dc0ac8c577808a9067"},
+    {file = "pycryptodome-3.10.1-cp35-abi3-manylinux2010_i686.whl", hash = "sha256:60386d1d4cfaad299803b45a5bc2089696eaf6cdd56f9fc17479a6f89595cfc8"},
+    {file = "pycryptodome-3.10.1-cp35-abi3-manylinux2010_x86_64.whl", hash = "sha256:501ab36aae360e31d0ec370cf5ce8ace6cb4112060d099b993bc02b36ac83fb6"},
+    {file = "pycryptodome-3.10.1-cp35-abi3-manylinux2014_aarch64.whl", hash = "sha256:fc7489a50323a0df02378bc2fff86eb69d94cc5639914346c736be981c6a02e7"},
+    {file = "pycryptodome-3.10.1-cp35-abi3-win32.whl", hash = "sha256:9b6f711b25e01931f1c61ce0115245a23cdc8b80bf8539ac0363bdcf27d649b6"},
+    {file = "pycryptodome-3.10.1-cp35-abi3-win_amd64.whl", hash = "sha256:7fd519b89585abf57bf47d90166903ec7b43af4fe23c92273ea09e6336af5c07"},
+    {file = "pycryptodome-3.10.1-pp27-pypy_73-macosx_10_9_x86_64.whl", hash = "sha256:09c1555a3fa450e7eaca41ea11cd00afe7c91fef52353488e65663777d8524e0"},
+    {file = "pycryptodome-3.10.1-pp27-pypy_73-manylinux1_x86_64.whl", hash = "sha256:758949ca62690b1540dfb24ad773c6da9cd0e425189e83e39c038bbd52b8e438"},
+    {file = "pycryptodome-3.10.1-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:e3bf558c6aeb49afa9f0c06cee7fb5947ee5a1ff3bd794b653d39926b49077fa"},
+    {file = "pycryptodome-3.10.1-pp27-pypy_73-win32.whl", hash = "sha256:f977cdf725b20f6b8229b0c87acb98c7717e742ef9f46b113985303ae12a99da"},
+    {file = "pycryptodome-3.10.1-pp36-pypy36_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6d2df5223b12437e644ce0a3be7809471ffa71de44ccd28b02180401982594a6"},
+    {file = "pycryptodome-3.10.1-pp36-pypy36_pp73-manylinux1_x86_64.whl", hash = "sha256:98213ac2b18dc1969a47bc65a79a8fca02a414249d0c8635abb081c7f38c91b6"},
+    {file = "pycryptodome-3.10.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:12222a5edc9ca4a29de15fbd5339099c4c26c56e13c2ceddf0b920794f26165d"},
+    {file = "pycryptodome-3.10.1-pp36-pypy36_pp73-win32.whl", hash = "sha256:6bbf7fee7b7948b29d7e71fcacf48bac0c57fb41332007061a933f2d996f9713"},
+    {file = "pycryptodome-3.10.1.tar.gz", hash = "sha256:3e2e3a06580c5f190df843cdb90ea28d61099cf4924334d5297a995de68e4673"},
 ]
 pydocstyle = [
-    {file = "pydocstyle-5.1.1-py3-none-any.whl", hash = "sha256:aca749e190a01726a4fb472dd4ef23b5c9da7b9205c0a7857c06533de13fd678"},
-    {file = "pydocstyle-5.1.1.tar.gz", hash = "sha256:19b86fa8617ed916776a11cd8bc0197e5b9856d5433b777f51a3defe13075325"},
+    {file = "pydocstyle-6.0.0-py3-none-any.whl", hash = "sha256:d4449cf16d7e6709f63192146706933c7a334af7c0f083904799ccb851c50f6d"},
+    {file = "pydocstyle-6.0.0.tar.gz", hash = "sha256:164befb520d851dbcf0e029681b91f4f599c62c5cd8933fd54b1bfbd50e89e1f"},
 ]
 pyflakes = [
-    {file = "pyflakes-2.2.0-py2.py3-none-any.whl", hash = "sha256:0d94e0e05a19e57a99444b6ddcf9a6eb2e5c68d3ca1e98e90707af8152c90a92"},
-    {file = "pyflakes-2.2.0.tar.gz", hash = "sha256:35b2d75ee967ea93b55750aa9edbbf72813e06a66ba54438df2cfac9e3c27fc8"},
+    {file = "pyflakes-2.3.1-py2.py3-none-any.whl", hash = "sha256:7893783d01b8a89811dd72d7dfd4d84ff098e5eed95cfa8905b22bbffe52efc3"},
+    {file = "pyflakes-2.3.1.tar.gz", hash = "sha256:f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db"},
 ]
 pygments = [
-    {file = "Pygments-2.7.4-py3-none-any.whl", hash = "sha256:bc9591213a8f0e0ca1a5e68a479b4887fdc3e75d0774e5c71c31920c427de435"},
-    {file = "Pygments-2.7.4.tar.gz", hash = "sha256:df49d09b498e83c1a73128295860250b0b7edd4c723a32e9bc0d295c7c2ec337"},
+    {file = "Pygments-2.8.1-py3-none-any.whl", hash = "sha256:534ef71d539ae97d4c3a4cf7d6f110f214b0e687e92f9cb9d2a3b0d3101289c8"},
+    {file = "Pygments-2.8.1.tar.gz", hash = "sha256:2656e1a6edcdabf4275f9a3640db59fd5de107d88e8663c5d4e9a0fa62f77f94"},
 ]
 pyjwt = [
     {file = "PyJWT-1.7.1-py2.py3-none-any.whl", hash = "sha256:5c6eca3c2940464d106b99ba83b00c6add741c9becaec087fb7ccdefea71350e"},
@@ -2867,16 +3772,16 @@ pyparsing = [
     {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"},
 ]
 pytest = [
-    {file = "pytest-6.2.2-py3-none-any.whl", hash = "sha256:b574b57423e818210672e07ca1fa90aaf194a4f63f3ab909a2c67ebb22913839"},
-    {file = "pytest-6.2.2.tar.gz", hash = "sha256:9d1edf9e7d0b84d72ea3dbcdfd22b35fb543a5e8f2a60092dd578936bf63d7f9"},
+    {file = "pytest-6.2.3-py3-none-any.whl", hash = "sha256:6ad9c7bdf517a808242b998ac20063c41532a570d088d77eec1ee12b0b5574bc"},
+    {file = "pytest-6.2.3.tar.gz", hash = "sha256:671238a46e4df0f3498d1c3270e5deb9b32d25134c99b7d75370a68cfbe9b634"},
 ]
 pytest-cov = [
     {file = "pytest-cov-2.11.1.tar.gz", hash = "sha256:359952d9d39b9f822d9d29324483e7ba04a3a17dd7d05aa6beb7ea01e359e5f7"},
     {file = "pytest_cov-2.11.1-py2.py3-none-any.whl", hash = "sha256:bdb9fdb0b85a7cc825269a4c56b48ccaa5c7e365054b6038772c32ddcdc969da"},
 ]
 pytest-django = [
-    {file = "pytest-django-3.10.0.tar.gz", hash = "sha256:4de6dbd077ed8606616958f77655fed0d5e3ee45159475671c7fa67596c6dba6"},
-    {file = "pytest_django-3.10.0-py2.py3-none-any.whl", hash = "sha256:c33e3d3da14d8409b125d825d4e74da17bb252191bf6fc3da6856e27a8b73ea4"},
+    {file = "pytest-django-4.1.0.tar.gz", hash = "sha256:26f02c16d36fd4c8672390deebe3413678d89f30720c16efb8b2a6bf63b9041f"},
+    {file = "pytest_django-4.1.0-py3-none-any.whl", hash = "sha256:10e384e6b8912ded92db64c58be8139d9ae23fb8361e5fc139d8e4f8fc601bc2"},
 ]
 pytest-django-testing-postgresql = [
     {file = "pytest-django-testing-postgresql-0.1.post0.tar.gz", hash = "sha256:78b0c58930084cb4393407b2e5a2a3b8734c627b841ecef7d62d39bbfb8e8a45"},
@@ -2885,14 +3790,13 @@ pytest-django-testing-postgresql = [
 pytest-sugar = [
     {file = "pytest-sugar-0.9.4.tar.gz", hash = "sha256:b1b2186b0a72aada6859bea2a5764145e3aaa2c1cfbb23c3a19b5f7b697563d3"},
 ]
+python-crontab = [
+    {file = "python-crontab-2.5.1.tar.gz", hash = "sha256:4bbe7e720753a132ca4ca9d4094915f40e9d9dc8a807a4564007651018ce8c31"},
+]
 python-dateutil = [
     {file = "python-dateutil-2.8.1.tar.gz", hash = "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c"},
     {file = "python_dateutil-2.8.1-py2.py3-none-any.whl", hash = "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a"},
 ]
-python-memcached = [
-    {file = "python-memcached-1.59.tar.gz", hash = "sha256:a2e28637be13ee0bf1a8b6843e7490f9456fd3f2a4cb60471733c7b5d5557e4f"},
-    {file = "python_memcached-1.59-py2.py3-none-any.whl", hash = "sha256:4dac64916871bd3550263323fc2ce18e1e439080a2d5670c594cf3118d99b594"},
-]
 python-pam = [
     {file = "python-pam-1.8.4.tar.gz", hash = "sha256:c856d9c89fedb33951dd8a95727ae57c6887b02d065bbdffd2fd9dbc0183909b"},
     {file = "python_pam-1.8.4-py2.py3-none-any.whl", hash = "sha256:8439b470b564ac558585b5a3ffce0fce48d1eeebdff19add48279c33de7da0e0"},
@@ -2912,18 +3816,26 @@ pyyaml = [
     {file = "PyYAML-5.4.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:bb4191dfc9306777bc594117aee052446b3fa88737cd13b7188d0e7aa8162185"},
     {file = "PyYAML-5.4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:6c78645d400265a062508ae399b60b8c167bf003db364ecb26dcab2bda048253"},
     {file = "PyYAML-5.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:4e0583d24c881e14342eaf4ec5fbc97f934b999a6828693a99157fde912540cc"},
+    {file = "PyYAML-5.4.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:72a01f726a9c7851ca9bfad6fd09ca4e090a023c00945ea05ba1638c09dc3347"},
+    {file = "PyYAML-5.4.1-cp36-cp36m-manylinux2014_s390x.whl", hash = "sha256:895f61ef02e8fed38159bb70f7e100e00f471eae2bc838cd0f4ebb21e28f8541"},
     {file = "PyYAML-5.4.1-cp36-cp36m-win32.whl", hash = "sha256:3bd0e463264cf257d1ffd2e40223b197271046d09dadf73a0fe82b9c1fc385a5"},
     {file = "PyYAML-5.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:e4fac90784481d221a8e4b1162afa7c47ed953be40d31ab4629ae917510051df"},
     {file = "PyYAML-5.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5accb17103e43963b80e6f837831f38d314a0495500067cb25afab2e8d7a4018"},
     {file = "PyYAML-5.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:e1d4970ea66be07ae37a3c2e48b5ec63f7ba6804bdddfdbd3cfd954d25a82e63"},
+    {file = "PyYAML-5.4.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:cb333c16912324fd5f769fff6bc5de372e9e7a202247b48870bc251ed40239aa"},
+    {file = "PyYAML-5.4.1-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:fe69978f3f768926cfa37b867e3843918e012cf83f680806599ddce33c2c68b0"},
     {file = "PyYAML-5.4.1-cp37-cp37m-win32.whl", hash = "sha256:dd5de0646207f053eb0d6c74ae45ba98c3395a571a2891858e87df7c9b9bd51b"},
     {file = "PyYAML-5.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:08682f6b72c722394747bddaf0aa62277e02557c0fd1c42cb853016a38f8dedf"},
     {file = "PyYAML-5.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d2d9808ea7b4af864f35ea216be506ecec180628aced0704e34aca0b040ffe46"},
     {file = "PyYAML-5.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:8c1be557ee92a20f184922c7b6424e8ab6691788e6d86137c5d93c1a6ec1b8fb"},
+    {file = "PyYAML-5.4.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:fd7f6999a8070df521b6384004ef42833b9bd62cfee11a09bda1079b4b704247"},
+    {file = "PyYAML-5.4.1-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:bfb51918d4ff3d77c1c856a9699f8492c612cde32fd3bcd344af9be34999bfdc"},
     {file = "PyYAML-5.4.1-cp38-cp38-win32.whl", hash = "sha256:fa5ae20527d8e831e8230cbffd9f8fe952815b2b7dae6ffec25318803a7528fc"},
     {file = "PyYAML-5.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:0f5f5786c0e09baddcd8b4b45f20a7b5d61a7e7e99846e3c799b05c7c53fa696"},
     {file = "PyYAML-5.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:294db365efa064d00b8d1ef65d8ea2c3426ac366c0c4368d930bf1c5fb497f77"},
     {file = "PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:74c1485f7707cf707a7aef42ef6322b8f97921bd89be2ab6317fd782c2d53183"},
+    {file = "PyYAML-5.4.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:d483ad4e639292c90170eb6f7783ad19490e7a8defb3e46f97dfe4bacae89122"},
+    {file = "PyYAML-5.4.1-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:fdc842473cd33f45ff6bce46aea678a54e3d21f1b61a7750ce3c498eedfe25d6"},
     {file = "PyYAML-5.4.1-cp39-cp39-win32.whl", hash = "sha256:49d4cdd9065b9b6e206d0595fee27a96b5dd22618e7520c33204a4a3239d5b10"},
     {file = "PyYAML-5.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:c20cfa2d49991c8b4147af39859b167664f2ad4561704ee74c1de03318e898db"},
     {file = "PyYAML-5.4.1.tar.gz", hash = "sha256:607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e"},
@@ -2940,47 +3852,47 @@ redis-collections = [
     {file = "redis-collections-0.8.1.tar.gz", hash = "sha256:b0c1213b57ed2d5a351dcec05826ce42de9bae88f74c12f2917aa7523f94269e"},
 ]
 regex = [
-    {file = "regex-2020.11.13-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:8b882a78c320478b12ff024e81dc7d43c1462aa4a3341c754ee65d857a521f85"},
-    {file = "regex-2020.11.13-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:a63f1a07932c9686d2d416fb295ec2c01ab246e89b4d58e5fa468089cab44b70"},
-    {file = "regex-2020.11.13-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:6e4b08c6f8daca7d8f07c8d24e4331ae7953333dbd09c648ed6ebd24db5a10ee"},
-    {file = "regex-2020.11.13-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:bba349276b126947b014e50ab3316c027cac1495992f10e5682dc677b3dfa0c5"},
-    {file = "regex-2020.11.13-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:56e01daca75eae420bce184edd8bb341c8eebb19dd3bce7266332258f9fb9dd7"},
-    {file = "regex-2020.11.13-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:6a8ce43923c518c24a2579fda49f093f1397dad5d18346211e46f134fc624e31"},
-    {file = "regex-2020.11.13-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:1ab79fcb02b930de09c76d024d279686ec5d532eb814fd0ed1e0051eb8bd2daa"},
-    {file = "regex-2020.11.13-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:9801c4c1d9ae6a70aeb2128e5b4b68c45d4f0af0d1535500884d644fa9b768c6"},
-    {file = "regex-2020.11.13-cp36-cp36m-win32.whl", hash = "sha256:49cae022fa13f09be91b2c880e58e14b6da5d10639ed45ca69b85faf039f7a4e"},
-    {file = "regex-2020.11.13-cp36-cp36m-win_amd64.whl", hash = "sha256:749078d1eb89484db5f34b4012092ad14b327944ee7f1c4f74d6279a6e4d1884"},
-    {file = "regex-2020.11.13-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b2f4007bff007c96a173e24dcda236e5e83bde4358a557f9ccf5e014439eae4b"},
-    {file = "regex-2020.11.13-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:38c8fd190db64f513fe4e1baa59fed086ae71fa45083b6936b52d34df8f86a88"},
-    {file = "regex-2020.11.13-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:5862975b45d451b6db51c2e654990c1820523a5b07100fc6903e9c86575202a0"},
-    {file = "regex-2020.11.13-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:262c6825b309e6485ec2493ffc7e62a13cf13fb2a8b6d212f72bd53ad34118f1"},
-    {file = "regex-2020.11.13-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:bafb01b4688833e099d79e7efd23f99172f501a15c44f21ea2118681473fdba0"},
-    {file = "regex-2020.11.13-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:e32f5f3d1b1c663af7f9c4c1e72e6ffe9a78c03a31e149259f531e0fed826512"},
-    {file = "regex-2020.11.13-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:3bddc701bdd1efa0d5264d2649588cbfda549b2899dc8d50417e47a82e1387ba"},
-    {file = "regex-2020.11.13-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:02951b7dacb123d8ea6da44fe45ddd084aa6777d4b2454fa0da61d569c6fa538"},
-    {file = "regex-2020.11.13-cp37-cp37m-win32.whl", hash = "sha256:0d08e71e70c0237883d0bef12cad5145b84c3705e9c6a588b2a9c7080e5af2a4"},
-    {file = "regex-2020.11.13-cp37-cp37m-win_amd64.whl", hash = "sha256:1fa7ee9c2a0e30405e21031d07d7ba8617bc590d391adfc2b7f1e8b99f46f444"},
-    {file = "regex-2020.11.13-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:baf378ba6151f6e272824b86a774326f692bc2ef4cc5ce8d5bc76e38c813a55f"},
-    {file = "regex-2020.11.13-cp38-cp38-manylinux1_i686.whl", hash = "sha256:e3faaf10a0d1e8e23a9b51d1900b72e1635c2d5b0e1bea1c18022486a8e2e52d"},
-    {file = "regex-2020.11.13-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:2a11a3e90bd9901d70a5b31d7dd85114755a581a5da3fc996abfefa48aee78af"},
-    {file = "regex-2020.11.13-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:d1ebb090a426db66dd80df8ca85adc4abfcbad8a7c2e9a5ec7513ede522e0a8f"},
-    {file = "regex-2020.11.13-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:b2b1a5ddae3677d89b686e5c625fc5547c6e492bd755b520de5332773a8af06b"},
-    {file = "regex-2020.11.13-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:2c99e97d388cd0a8d30f7c514d67887d8021541b875baf09791a3baad48bb4f8"},
-    {file = "regex-2020.11.13-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:c084582d4215593f2f1d28b65d2a2f3aceff8342aa85afd7be23a9cad74a0de5"},
-    {file = "regex-2020.11.13-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:a3d748383762e56337c39ab35c6ed4deb88df5326f97a38946ddd19028ecce6b"},
-    {file = "regex-2020.11.13-cp38-cp38-win32.whl", hash = "sha256:7913bd25f4ab274ba37bc97ad0e21c31004224ccb02765ad984eef43e04acc6c"},
-    {file = "regex-2020.11.13-cp38-cp38-win_amd64.whl", hash = "sha256:6c54ce4b5d61a7129bad5c5dc279e222afd00e721bf92f9ef09e4fae28755683"},
-    {file = "regex-2020.11.13-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1862a9d9194fae76a7aaf0150d5f2a8ec1da89e8b55890b1786b8f88a0f619dc"},
-    {file = "regex-2020.11.13-cp39-cp39-manylinux1_i686.whl", hash = "sha256:4902e6aa086cbb224241adbc2f06235927d5cdacffb2425c73e6570e8d862364"},
-    {file = "regex-2020.11.13-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7a25fcbeae08f96a754b45bdc050e1fb94b95cab046bf56b016c25e9ab127b3e"},
-    {file = "regex-2020.11.13-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:d2d8ce12b7c12c87e41123997ebaf1a5767a5be3ec545f64675388970f415e2e"},
-    {file = "regex-2020.11.13-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:f7d29a6fc4760300f86ae329e3b6ca28ea9c20823df123a2ea8693e967b29917"},
-    {file = "regex-2020.11.13-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:717881211f46de3ab130b58ec0908267961fadc06e44f974466d1887f865bd5b"},
-    {file = "regex-2020.11.13-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:3128e30d83f2e70b0bed9b2a34e92707d0877e460b402faca908c6667092ada9"},
-    {file = "regex-2020.11.13-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:8f6a2229e8ad946e36815f2a03386bb8353d4bde368fdf8ca5f0cb97264d3b5c"},
-    {file = "regex-2020.11.13-cp39-cp39-win32.whl", hash = "sha256:f8f295db00ef5f8bae530fc39af0b40486ca6068733fb860b42115052206466f"},
-    {file = "regex-2020.11.13-cp39-cp39-win_amd64.whl", hash = "sha256:a15f64ae3a027b64496a71ab1f722355e570c3fac5ba2801cafce846bf5af01d"},
-    {file = "regex-2020.11.13.tar.gz", hash = "sha256:83d6b356e116ca119db8e7c6fc2983289d87b27b3fac238cfe5dca529d884562"},
+    {file = "regex-2021.4.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:619d71c59a78b84d7f18891fe914446d07edd48dc8328c8e149cbe0929b4e000"},
+    {file = "regex-2021.4.4-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:47bf5bf60cf04d72bf6055ae5927a0bd9016096bf3d742fa50d9bf9f45aa0711"},
+    {file = "regex-2021.4.4-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:281d2fd05555079448537fe108d79eb031b403dac622621c78944c235f3fcf11"},
+    {file = "regex-2021.4.4-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:bd28bc2e3a772acbb07787c6308e00d9626ff89e3bfcdebe87fa5afbfdedf968"},
+    {file = "regex-2021.4.4-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:7c2a1af393fcc09e898beba5dd59196edaa3116191cc7257f9224beaed3e1aa0"},
+    {file = "regex-2021.4.4-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:c38c71df845e2aabb7fb0b920d11a1b5ac8526005e533a8920aea97efb8ec6a4"},
+    {file = "regex-2021.4.4-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:96fcd1888ab4d03adfc9303a7b3c0bd78c5412b2bfbe76db5b56d9eae004907a"},
+    {file = "regex-2021.4.4-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:ade17eb5d643b7fead300a1641e9f45401c98eee23763e9ed66a43f92f20b4a7"},
+    {file = "regex-2021.4.4-cp36-cp36m-win32.whl", hash = "sha256:e8e5b509d5c2ff12f8418006d5a90e9436766133b564db0abaec92fd27fcee29"},
+    {file = "regex-2021.4.4-cp36-cp36m-win_amd64.whl", hash = "sha256:11d773d75fa650cd36f68d7ca936e3c7afaae41b863b8c387a22aaa78d3c5c79"},
+    {file = "regex-2021.4.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d3029c340cfbb3ac0a71798100ccc13b97dddf373a4ae56b6a72cf70dfd53bc8"},
+    {file = "regex-2021.4.4-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:18c071c3eb09c30a264879f0d310d37fe5d3a3111662438889ae2eb6fc570c31"},
+    {file = "regex-2021.4.4-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:4c557a7b470908b1712fe27fb1ef20772b78079808c87d20a90d051660b1d69a"},
+    {file = "regex-2021.4.4-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:01afaf2ec48e196ba91b37451aa353cb7eda77efe518e481707e0515025f0cd5"},
+    {file = "regex-2021.4.4-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:3a9cd17e6e5c7eb328517969e0cb0c3d31fd329298dd0c04af99ebf42e904f82"},
+    {file = "regex-2021.4.4-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:90f11ff637fe8798933fb29f5ae1148c978cccb0452005bf4c69e13db951e765"},
+    {file = "regex-2021.4.4-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:919859aa909429fb5aa9cf8807f6045592c85ef56fdd30a9a3747e513db2536e"},
+    {file = "regex-2021.4.4-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:339456e7d8c06dd36a22e451d58ef72cef293112b559010db3d054d5560ef439"},
+    {file = "regex-2021.4.4-cp37-cp37m-win32.whl", hash = "sha256:67bdb9702427ceddc6ef3dc382455e90f785af4c13d495f9626861763ee13f9d"},
+    {file = "regex-2021.4.4-cp37-cp37m-win_amd64.whl", hash = "sha256:32e65442138b7b76dd8173ffa2cf67356b7bc1768851dded39a7a13bf9223da3"},
+    {file = "regex-2021.4.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1e1c20e29358165242928c2de1482fb2cf4ea54a6a6dea2bd7a0e0d8ee321500"},
+    {file = "regex-2021.4.4-cp38-cp38-manylinux1_i686.whl", hash = "sha256:314d66636c494ed9c148a42731b3834496cc9a2c4251b1661e40936814542b14"},
+    {file = "regex-2021.4.4-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:6d1b01031dedf2503631d0903cb563743f397ccaf6607a5e3b19a3d76fc10480"},
+    {file = "regex-2021.4.4-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:741a9647fcf2e45f3a1cf0e24f5e17febf3efe8d4ba1281dcc3aa0459ef424dc"},
+    {file = "regex-2021.4.4-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:4c46e22a0933dd783467cf32b3516299fb98cfebd895817d685130cc50cd1093"},
+    {file = "regex-2021.4.4-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:e512d8ef5ad7b898cdb2d8ee1cb09a8339e4f8be706d27eaa180c2f177248a10"},
+    {file = "regex-2021.4.4-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:980d7be47c84979d9136328d882f67ec5e50008681d94ecc8afa8a65ed1f4a6f"},
+    {file = "regex-2021.4.4-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:ce15b6d103daff8e9fee13cf7f0add05245a05d866e73926c358e871221eae87"},
+    {file = "regex-2021.4.4-cp38-cp38-win32.whl", hash = "sha256:a91aa8619b23b79bcbeb37abe286f2f408d2f2d6f29a17237afda55bb54e7aac"},
+    {file = "regex-2021.4.4-cp38-cp38-win_amd64.whl", hash = "sha256:c0502c0fadef0d23b128605d69b58edb2c681c25d44574fc673b0e52dce71ee2"},
+    {file = "regex-2021.4.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:598585c9f0af8374c28edd609eb291b5726d7cbce16be6a8b95aa074d252ee17"},
+    {file = "regex-2021.4.4-cp39-cp39-manylinux1_i686.whl", hash = "sha256:ee54ff27bf0afaf4c3b3a62bcd016c12c3fdb4ec4f413391a90bd38bc3624605"},
+    {file = "regex-2021.4.4-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7d9884d86dd4dd489e981d94a65cd30d6f07203d90e98f6f657f05170f6324c9"},
+    {file = "regex-2021.4.4-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:bf5824bfac591ddb2c1f0a5f4ab72da28994548c708d2191e3b87dd207eb3ad7"},
+    {file = "regex-2021.4.4-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:563085e55b0d4fb8f746f6a335893bda5c2cef43b2f0258fe1020ab1dd874df8"},
+    {file = "regex-2021.4.4-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:b9c3db21af35e3b3c05764461b262d6f05bbca08a71a7849fd79d47ba7bc33ed"},
+    {file = "regex-2021.4.4-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:3916d08be28a1149fb97f7728fca1f7c15d309a9f9682d89d79db75d5e52091c"},
+    {file = "regex-2021.4.4-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:fd45ff9293d9274c5008a2054ecef86a9bfe819a67c7be1afb65e69b405b3042"},
+    {file = "regex-2021.4.4-cp39-cp39-win32.whl", hash = "sha256:fa4537fb4a98fe8fde99626e4681cc644bdcf2a795038533f9f711513a862ae6"},
+    {file = "regex-2021.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:97f29f57d5b84e73fbaf99ab3e26134e6687348e95ef6b48cfd2c06807005a07"},
+    {file = "regex-2021.4.4.tar.gz", hash = "sha256:52ba3d3f9b942c49d7e4bc105bb28551c44065f139a65062ab7912bef10c9afb"},
 ]
 requests = [
     {file = "requests-2.25.1-py2.py3-none-any.whl", hash = "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e"},
@@ -2990,8 +3902,8 @@ restructuredtext-lint = [
     {file = "restructuredtext_lint-1.3.2.tar.gz", hash = "sha256:d3b10a1fe2ecac537e51ae6d151b223b78de9fafdd50e5eb6b08c243df173c80"},
 ]
 "ruamel.yaml" = [
-    {file = "ruamel.yaml-0.16.12-py2.py3-none-any.whl", hash = "sha256:012b9470a0ea06e4e44e99e7920277edf6b46eee0232a04487ea73a7386340a5"},
-    {file = "ruamel.yaml-0.16.12.tar.gz", hash = "sha256:076cc0bc34f1966d920a49f18b52b6ad559fbe656a0748e3535cf7b3f29ebf9e"},
+    {file = "ruamel.yaml-0.17.2-py3-none-any.whl", hash = "sha256:0850def9ebca23b3a8c64c4b4115ebb6b364a10d49f89d289a26ee965e1e7d9d"},
+    {file = "ruamel.yaml-0.17.2.tar.gz", hash = "sha256:8f1e15421668b9edf30ed02899f5f81aff9808a4271935776f61a99a569a13da"},
 ]
 "ruamel.yaml.clib" = [
     {file = "ruamel.yaml.clib-0.2.2-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:28116f204103cb3a108dfd37668f20abe6e3cafd0d3fd40dba126c732457b3cc"},
@@ -3001,20 +3913,29 @@ restructuredtext-lint = [
     {file = "ruamel.yaml.clib-0.2.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:73b3d43e04cc4b228fa6fa5d796409ece6fcb53a6c270eb2048109cbcbc3b9c2"},
     {file = "ruamel.yaml.clib-0.2.2-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:53b9dd1abd70e257a6e32f934ebc482dac5edb8c93e23deb663eac724c30b026"},
     {file = "ruamel.yaml.clib-0.2.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:839dd72545ef7ba78fd2aa1a5dd07b33696adf3e68fae7f31327161c1093001b"},
+    {file = "ruamel.yaml.clib-0.2.2-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:1236df55e0f73cd138c0eca074ee086136c3f16a97c2ac719032c050f7e0622f"},
     {file = "ruamel.yaml.clib-0.2.2-cp35-cp35m-win32.whl", hash = "sha256:b1e981fe1aff1fd11627f531524826a4dcc1f26c726235a52fcb62ded27d150f"},
     {file = "ruamel.yaml.clib-0.2.2-cp35-cp35m-win_amd64.whl", hash = "sha256:4e52c96ca66de04be42ea2278012a2342d89f5e82b4512fb6fb7134e377e2e62"},
     {file = "ruamel.yaml.clib-0.2.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:a873e4d4954f865dcb60bdc4914af7eaae48fb56b60ed6daa1d6251c72f5337c"},
     {file = "ruamel.yaml.clib-0.2.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:ab845f1f51f7eb750a78937be9f79baea4a42c7960f5a94dde34e69f3cce1988"},
+    {file = "ruamel.yaml.clib-0.2.2-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:2fd336a5c6415c82e2deb40d08c222087febe0aebe520f4d21910629018ab0f3"},
     {file = "ruamel.yaml.clib-0.2.2-cp36-cp36m-win32.whl", hash = "sha256:e9f7d1d8c26a6a12c23421061f9022bb62704e38211fe375c645485f38df34a2"},
     {file = "ruamel.yaml.clib-0.2.2-cp36-cp36m-win_amd64.whl", hash = "sha256:2602e91bd5c1b874d6f93d3086f9830f3e907c543c7672cf293a97c3fabdcd91"},
     {file = "ruamel.yaml.clib-0.2.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:44c7b0498c39f27795224438f1a6be6c5352f82cb887bc33d962c3a3acc00df6"},
     {file = "ruamel.yaml.clib-0.2.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:8e8fd0a22c9d92af3a34f91e8a2594eeb35cba90ab643c5e0e643567dc8be43e"},
+    {file = "ruamel.yaml.clib-0.2.2-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:75f0ee6839532e52a3a53f80ce64925ed4aed697dd3fa890c4c918f3304bd4f4"},
     {file = "ruamel.yaml.clib-0.2.2-cp37-cp37m-win32.whl", hash = "sha256:464e66a04e740d754170be5e740657a3b3b6d2bcc567f0c3437879a6e6087ff6"},
     {file = "ruamel.yaml.clib-0.2.2-cp37-cp37m-win_amd64.whl", hash = "sha256:52ae5739e4b5d6317b52f5b040b1b6639e8af68a5b8fd606a8b08658fbd0cab5"},
     {file = "ruamel.yaml.clib-0.2.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4df5019e7783d14b79217ad9c56edf1ba7485d614ad5a385d1b3c768635c81c0"},
     {file = "ruamel.yaml.clib-0.2.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:5254af7d8bdf4d5484c089f929cb7f5bafa59b4f01d4f48adda4be41e6d29f99"},
+    {file = "ruamel.yaml.clib-0.2.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8be05be57dc5c7b4a0b24edcaa2f7275866d9c907725226cdde46da09367d923"},
     {file = "ruamel.yaml.clib-0.2.2-cp38-cp38-win32.whl", hash = "sha256:74161d827407f4db9072011adcfb825b5258a5ccb3d2cd518dd6c9edea9e30f1"},
     {file = "ruamel.yaml.clib-0.2.2-cp38-cp38-win_amd64.whl", hash = "sha256:058a1cc3df2a8aecc12f983a48bda99315cebf55a3b3a5463e37bb599b05727b"},
+    {file = "ruamel.yaml.clib-0.2.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c6ac7e45367b1317e56f1461719c853fd6825226f45b835df7436bb04031fd8a"},
+    {file = "ruamel.yaml.clib-0.2.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:b4b0d31f2052b3f9f9b5327024dc629a253a83d8649d4734ca7f35b60ec3e9e5"},
+    {file = "ruamel.yaml.clib-0.2.2-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:1f8c0a4577c0e6c99d208de5c4d3fd8aceed9574bb154d7a2b21c16bb924154c"},
+    {file = "ruamel.yaml.clib-0.2.2-cp39-cp39-win32.whl", hash = "sha256:46d6d20815064e8bb023ea8628cfb7402c0f0e83de2c2227a88097e239a7dffd"},
+    {file = "ruamel.yaml.clib-0.2.2-cp39-cp39-win_amd64.whl", hash = "sha256:6c0a5dc52fc74eb87c67374a4e554d4761fd42a4d01390b7e868b30d21f4b8bb"},
     {file = "ruamel.yaml.clib-0.2.2.tar.gz", hash = "sha256:2d24bd98af676f4990c4d715bcdc2a60b19c56a3fb3a763164d2d8ca0e806ba7"},
 ]
 rules = [
@@ -3025,8 +3946,8 @@ safety = [
     {file = "safety-1.10.3.tar.gz", hash = "sha256:30e394d02a20ac49b7f65292d19d38fa927a8f9582cdfd3ad1adbbc66c641ad5"},
 ]
 scramp = [
-    {file = "scramp-1.2.0-py3-none-any.whl", hash = "sha256:74815c25aad1fe0b5fb994e96c3de63e8695164358a80138352aaadfa4760350"},
-    {file = "scramp-1.2.0.tar.gz", hash = "sha256:d6865ed1d135ddb124a619d7cd3a5b505f69a7c92e248024dd7e48bc77752af5"},
+    {file = "scramp-1.3.0-py3-none-any.whl", hash = "sha256:6d73eae03e7a3d647a8c36ca95dc8082fe56496db6f803b561ab231627022f82"},
+    {file = "scramp-1.3.0.tar.gz", hash = "sha256:f56208b544387b98e9d39735cc054e273d060efcdf44bb4a20935180772d1ccf"},
 ]
 selenium = [
     {file = "selenium-3.141.0-py2.py3-none-any.whl", hash = "sha256:2d7131d7bc5a5b99a2d9b04aaf2612c411b03b8ca1b1ee8d3de5845a9be2cb3c"},
@@ -3040,24 +3961,24 @@ six = [
     {file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"},
 ]
 smmap = [
-    {file = "smmap-3.0.5-py2.py3-none-any.whl", hash = "sha256:7bfcf367828031dc893530a29cb35eb8c8f2d7c8f2d0989354d75d24c8573714"},
-    {file = "smmap-3.0.5.tar.gz", hash = "sha256:84c2751ef3072d4f6b2785ec7ee40244c6f45eb934d9e543e2c51f1bd3d54c50"},
+    {file = "smmap-4.0.0-py2.py3-none-any.whl", hash = "sha256:a9a7479e4c572e2e775c404dcd3080c8dc49f39918c2cf74913d30c4c478e3c2"},
+    {file = "smmap-4.0.0.tar.gz", hash = "sha256:7e65386bd122d45405ddf795637b7f7d2b532e7e401d46bbe3fb49b9986d5182"},
 ]
 snowballstemmer = [
     {file = "snowballstemmer-2.1.0-py2.py3-none-any.whl", hash = "sha256:b51b447bea85f9968c13b650126a888aabd4cb4463fca868ec596826325dedc2"},
     {file = "snowballstemmer-2.1.0.tar.gz", hash = "sha256:e997baa4f2e9139951b6f4c631bad912dfd3c792467e2f03d7239464af90e914"},
 ]
 soupsieve = [
-    {file = "soupsieve-2.1-py3-none-any.whl", hash = "sha256:4bb21a6ee4707bf43b61230e80740e71bfe56e55d1f1f50924b087bb2975c851"},
-    {file = "soupsieve-2.1.tar.gz", hash = "sha256:6dc52924dc0bc710a5d16794e6b3480b2c7c08b07729505feab2b2c16661ff6e"},
+    {file = "soupsieve-2.2.1-py3-none-any.whl", hash = "sha256:c2c1c2d44f158cdbddab7824a9af8c4f83c76b1e23e049479aa432feb6c4c23b"},
+    {file = "soupsieve-2.2.1.tar.gz", hash = "sha256:052774848f448cf19c7e959adf5566904d525f33a3f8b6ba6f6f8f26ec7de0cc"},
 ]
 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.4.3-py3-none-any.whl", hash = "sha256:c314c857e7cd47c856d2c5adff514ac2e6495f8b8e0f886a8a37e9305dfea0d8"},
-    {file = "Sphinx-3.4.3.tar.gz", hash = "sha256:41cad293f954f7d37f803d97eb184158cfd90f51195131e94875bc07cd08b93c"},
+    {file = "Sphinx-3.5.3-py3-none-any.whl", hash = "sha256:3f01732296465648da43dec8fb40dc451ba79eb3e2cc5c6d79005fd98197107d"},
+    {file = "Sphinx-3.5.3.tar.gz", hash = "sha256:ce9c228456131bab09a3d7d10ae58474de562a6f79abb3dc811ae401cf8c1abc"},
 ]
 sphinx-autodoc-typehints = [
     {file = "sphinx-autodoc-typehints-1.11.1.tar.gz", hash = "sha256:244ba6d3e2fdb854622f643c7763d6f95b6886eba24bec28e86edf205e4ddb20"},
@@ -3126,11 +4047,15 @@ toml = [
     {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"},
 ]
 tqdm = [
-    {file = "tqdm-4.56.0-py2.py3-none-any.whl", hash = "sha256:4621f6823bab46a9cc33d48105753ccbea671b68bab2c50a9f0be23d4065cb5a"},
-    {file = "tqdm-4.56.0.tar.gz", hash = "sha256:fe3d08dd00a526850568d542ff9de9bbc2a09a791da3c334f3213d8d0bbbca65"},
+    {file = "tqdm-4.59.0-py2.py3-none-any.whl", hash = "sha256:9fdf349068d047d4cfbe24862c425883af1db29bcddf4b0eeb2524f6fbdb23c7"},
+    {file = "tqdm-4.59.0.tar.gz", hash = "sha256:d666ae29164da3e517fcf125e41d4fe96e5bb375cd87ff9763f6b38b5592fe33"},
+]
+traitlets = [
+    {file = "traitlets-5.0.5-py3-none-any.whl", hash = "sha256:69ff3f9d5351f31a7ad80443c2674b7099df13cc41fc5fa6e2f6d3b0330b0426"},
+    {file = "traitlets-5.0.5.tar.gz", hash = "sha256:178f4ce988f69189f7e523337a3e11d91c786ded9360174a3d9ca83e79bc5396"},
 ]
 twilio = [
-    {file = "twilio-6.51.1.tar.gz", hash = "sha256:b3357f7db6768080aa7e15aad484abc7b5153de15d9aae0c1f3436e6151b0aeb"},
+    {file = "twilio-6.55.0.tar.gz", hash = "sha256:766555e9f3bdfe9eb2fad9e2efa701f6f7644337a3f6b31a660293d2fbd54331"},
 ]
 typed-ast = [
     {file = "typed_ast-1.4.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:7703620125e4fb79b64aa52427ec192822e9f45d37d4b6625ab37ef403e1df70"},
@@ -3170,8 +4095,16 @@ typing-extensions = [
     {file = "typing_extensions-3.7.4.3.tar.gz", hash = "sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c"},
 ]
 urllib3 = [
-    {file = "urllib3-1.26.3-py2.py3-none-any.whl", hash = "sha256:1b465e494e3e0d8939b50680403e3aedaa2bc434b7d5af64dfd3c958d7f5ae80"},
-    {file = "urllib3-1.26.3.tar.gz", hash = "sha256:de3eedaad74a2683334e282005cd8d7f22f4d55fa690a2a1020a416cb0a47e73"},
+    {file = "urllib3-1.26.4-py2.py3-none-any.whl", hash = "sha256:2f4da4594db7e1e110a944bb1b551fdf4e6c136ad42e4234131391e21eb5b0df"},
+    {file = "urllib3-1.26.4.tar.gz", hash = "sha256:e7b021f7241115872f92f43c6508082facffbd1c048e3c6e2bb9c2a157e28937"},
+]
+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"},
@@ -3182,6 +4115,6 @@ yubiotp = [
     {file = "YubiOTP-1.0.0.post1.tar.gz", hash = "sha256:c13825f7b76a69afb92f19521f4dea9f5031d70f45123b505dc2e0ac03132065"},
 ]
 zipp = [
-    {file = "zipp-3.4.0-py3-none-any.whl", hash = "sha256:102c24ef8f171fd729d46599845e95c7ab894a4cf45f5de11a44cc7444fb1108"},
-    {file = "zipp-3.4.0.tar.gz", hash = "sha256:ed5eee1974372595f9e416cc7bbeeb12335201d8081ca8a0743c954d4446e5cb"},
+    {file = "zipp-3.4.1-py3-none-any.whl", hash = "sha256:51cb66cc54621609dd593d1787f286ee42a5c0adbb4b29abea5a63edc3e03098"},
+    {file = "zipp-3.4.1.tar.gz", hash = "sha256:3607921face881ba3e026887d8150cca609d517579abe052ac81fc5aeffdbd76"},
 ]
diff --git a/pyproject.toml b/pyproject.toml
index 55195ea..9bdb57e 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -35,7 +35,7 @@ python-pam = "^1.8.4"
 python-resize-image = "^1.1.19"
 redis-collections = "^0.8.0"
 django-iban-field = "^0.8"
-aleksis-core = "^2.0a4.dev0"
+aleksis-core = "^2.0a5.dev0"
 
 [tool.poetry.plugins."aleksis.app"]
 ticdesk = "aleksis.apps.ticdesk.apps:TICDeskConfig"
diff --git a/tox.ini b/tox.ini
index 404ed02..9ac88be 100644
--- a/tox.ini
+++ b/tox.ini
@@ -13,7 +13,7 @@ commands_pre =
      poetry run aleksis-admin yarn install
      poetry run aleksis-admin collectstatic --no-input
 commands =
-    poetry run pytest --cov=. {posargs} ticdesk/
+    poetry run pytest --cov=. {posargs} aleksis/
 
 [testenv:selenium]
 setenv =
@@ -24,9 +24,9 @@ setenv =
 
 [testenv:lint]
 commands =
-    poetry run black --check --diff ticdesk/
-    poetry run isort -c --diff --stdout ticdesk/
-    poetry run flake8 {posargs} ticdesk/
+    poetry run black --check --diff aleksis/
+    poetry run isort -c --diff --stdout aleksis/
+    poetry run flake8 {posargs} aleksis/
 
 [testenv:security]
 commands =
@@ -42,8 +42,8 @@ commands = poetry run make -C docs/ html {posargs}
 
 [testenv:reformat]
 commands =
-    poetry run isort ticdesk/
-    poetry run black ticdesk/
+    poetry run isort aleksis/
+    poetry run black aleksis/
 
 [flake8]
 max_line_length = 100
-- 
GitLab