diff --git a/api/base/permissions.py b/api/base/permissions.py new file mode 100644 index 000000000..4bc8c932b --- /dev/null +++ b/api/base/permissions.py @@ -0,0 +1,15 @@ +from rest_framework import permissions + +class CustomObjectPermissions(permissions.DjangoObjectPermissions): + """ + Similar to `DjangoObjectPermissions`, but adding 'view' permissions. + """ + perms_map = { + 'GET': ['%(app_label)s.view_%(model_name)s'], + 'OPTIONS': ['%(app_label)s.view_%(model_name)s'], + 'HEAD': ['%(app_label)s.view_%(model_name)s'], + 'POST': ['%(app_label)s.add_%(model_name)s'], + 'PUT': ['%(app_label)s.change_%(model_name)s'], + 'PATCH': ['%(app_label)s.change_%(model_name)s'], + 'DELETE': ['%(app_label)s.delete_%(model_name)s'], + } \ No newline at end of file diff --git a/api/base/serializers/base.py b/api/base/serializers/base.py index f1b66b873..b72dd8571 100644 --- a/api/base/serializers/base.py +++ b/api/base/serializers/base.py @@ -28,7 +28,6 @@ def build_joins(self): else: fks.append("{}__{}".format(formatted, fk.column)) except: - import ipdb; ipdb.set_trace() pass for prefetch in child_prefetches: try: diff --git a/api/base/views/base.py b/api/base/views/base.py index 439a8a723..546d590eb 100644 --- a/api/base/views/base.py +++ b/api/base/views/base.py @@ -56,6 +56,7 @@ class BaseViewSet(GenericViewSet): ordering = ('-created',) ordering_fields = '__all__' ROLLUP = {} # Include Django ORM syntax to get rollup on values + extra_filter_backends = [] @property def permission_classes(self): @@ -70,8 +71,9 @@ def permission_classes(self, permissions): serializer_classes = None - def __init__(self, *args, **kwargs): + def __init__(self, *args, **kwargs): self.serializer_classes_tmp = TmpSerializerClasses() + self.filter_backends += self.extra_filter_backends super().__init__(*args, **kwargs) def serializer_class_override(self, serializer_type, serializer_class): diff --git a/api/base/views/mixins.py b/api/base/views/mixins.py index ed5ed7fb7..82d2ee3b0 100644 --- a/api/base/views/mixins.py +++ b/api/base/views/mixins.py @@ -56,7 +56,7 @@ def list(self, request, *args, **kwargs): queryset = self.filter_queryset(queryset) post_filter = kwargs.get('post_filter') - if post_filter: + if post_filter: queryset = queryset.filter(post_filter) rollup = self.get_rollup(request, queryset) @@ -71,7 +71,7 @@ def search(self, request, keyword): pass def _search(self, request): - keyword = request.GET.get('keyword') + keyword = request.GET.get('search') if keyword: return self.search(request, keyword) diff --git a/api/controls/filters/__init__.py b/api/controls/filters/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/api/controls/filters/deployment.py b/api/controls/filters/deployment.py new file mode 100644 index 000000000..3ba4eb67d --- /dev/null +++ b/api/controls/filters/deployment.py @@ -0,0 +1,11 @@ +from api.base.filters import BaseFilterSet, FilterFields +from controls.models import Deployment +from rest_framework_filters import filters + +class DeploymentFilter(BaseFilterSet): + # author = filters.RelatedFilter(UserFilter, queryset=User.objects.all()) + name = filters.AutoFilter(lookups=FilterFields.String) + + class Meta: + model = Deployment + fields = [] \ No newline at end of file diff --git a/api/controls/serializers/components.py b/api/controls/serializers/components.py new file mode 100644 index 000000000..bf4699317 --- /dev/null +++ b/api/controls/serializers/components.py @@ -0,0 +1,18 @@ +from api.base.serializers.types import ReadOnlySerializer +# from api.controls.serializers.system import DetailedSystemSerializer +from controls.models import Element, Statement +from api.controls.serializers.statements import SimpleStatementSerializer, DetailedStatementSerializer +from api.siteapp.serializers.tags import SimpleTagSerializer + + +class SimpleComponentSerializer(ReadOnlySerializer): + class Meta: + model = Element + fields = ['uuid', 'name', 'description', 'element_type', 'created', 'updated', 'component_type', 'component_state'] + +class DetailedComponentSerializer(SimpleComponentSerializer): + tags = SimpleTagSerializer(many=True) + statements_produced = SimpleStatementSerializer(many=True) + class Meta: + model = Element + fields = SimpleComponentSerializer.Meta.fields + ['tags', 'statements_produced'] \ No newline at end of file diff --git a/api/controls/serializers/controls.py b/api/controls/serializers/controls.py index ad21da24c..e0013c006 100644 --- a/api/controls/serializers/controls.py +++ b/api/controls/serializers/controls.py @@ -1,7 +1,8 @@ from api.base.serializers.types import ReadOnlySerializer from api.controls.serializers.element import DetailedElementSerializer from controls.models import CommonControlProvider, CommonControl, ElementCommonControl - +from controls.oscal import CatalogData +from rest_framework import serializers class SimpleCommonControlProviderSerializer(ReadOnlySerializer): class Meta: @@ -36,3 +37,29 @@ class DetailedElementCommonControlSerializer(SimpleElementCommonControlSerialize class Meta: model = ElementCommonControl fields = SimpleElementCommonControlSerializer.Meta.fields + ['element', 'common_control'] + + +class CatalogDataReadSerializer(ReadOnlySerializer): + + title = serializers.SerializerMethodField() + + def get_title(self, obj): + return obj.catalog_json['catalog']['metadata']['title'].strip() + + class Meta: + model = CatalogData + fields = ['catalog_key', 'title'] + +class CatalogDataGroup(serializers.Serializer): + id = serializers.CharField() + title = serializers.CharField() + +class CatalogDataWithGroupReadSerializer(CatalogDataReadSerializer): + groups = serializers.SerializerMethodField() + + def get_groups(self, obj): + return [CatalogDataGroup(x).data for x in obj.catalog_json['catalog'].get('groups', [])] + + class Meta: + model = CatalogData + fields = CatalogDataReadSerializer.Meta.fields + ['groups'] \ No newline at end of file diff --git a/api/controls/serializers/poam.py b/api/controls/serializers/poam.py index 9115295b8..78a8f2bab 100644 --- a/api/controls/serializers/poam.py +++ b/api/controls/serializers/poam.py @@ -1,5 +1,4 @@ from api.base.serializers.types import ReadOnlySerializer -from api.controls.serializers.statements import DetailedStatementSerializer from controls.models import Poam @@ -11,9 +10,9 @@ class Meta: 'risk_rating_original', 'risk_rating_adjusted', 'poam_group'] -class DetailedPoamSerializer(SimplePoamSerializer): - statement = DetailedStatementSerializer() +# class DetailedPoamSerializer(SimplePoamSerializer): +# statement = DetailedStatementSerializer() - class Meta: - model = Poam - fields = SimplePoamSerializer.Meta.fields + ['statement'] +# class Meta: +# model = Poam +# fields = SimplePoamSerializer.Meta.fields + ['statement'] diff --git a/api/controls/serializers/statements.py b/api/controls/serializers/statements.py index ccb90c418..1c6f617ee 100644 --- a/api/controls/serializers/statements.py +++ b/api/controls/serializers/statements.py @@ -1,6 +1,7 @@ from rest_framework_recursive.fields import RecursiveField from api.base.serializers.types import ReadOnlySerializer from api.controls.serializers.element import DetailedElementSerializer +from api.controls.serializers.poam import SimplePoamSerializer from api.controls.serializers.import_record import SimpleImportRecordSerializer from controls.models import Statement @@ -10,6 +11,11 @@ class Meta: model = Statement fields = ['sid', 'sid_class', 'pid', 'body', 'statement_type', 'remarks', 'status', 'version', 'uuid'] +class PoamStatmentSerializer(SimpleStatementSerializer): + poam = SimplePoamSerializer() + class Meta: + model = Statement + fields = SimpleStatementSerializer.Meta.fields + ['poam'] class DetailedStatementSerializer(SimpleStatementSerializer): parent = RecursiveField(required=False, allow_null=True) diff --git a/api/controls/urls.py b/api/controls/urls.py index ef4615db3..65b3b9ca7 100644 --- a/api/controls/urls.py +++ b/api/controls/urls.py @@ -1,18 +1,30 @@ from django.conf.urls import url from django.urls import include +from api.controls.views.deployments import DeploymentViewSet +from api.controls.views.components import ComponentsViewSet from rest_framework import routers from rest_framework_nested.routers import NestedSimpleRouter from api.controls.views.element import ElementViewSet -from api.controls.views.system import SystemViewSet, SystemControlsViewSet, SystemAssessmentViewSet, SystemPoamViewSet +from api.controls.views.system import SystemViewSet, SystemControlsViewSet, SystemAssessmentViewSet, SystemPoamStatementsViewSet +from api.controls.views.controls import ControlsViewSet, CatalogDataViewSet, CatalogData router = routers.DefaultRouter() router.register(r'elements', ElementViewSet) router.register(r'systems', SystemViewSet) +router.register(r'catalog-data', CatalogDataViewSet) + + +# router.register(r'controls/catalogs', CatalogData) +router.register(r'components', ComponentsViewSet) +router.register(r'controls', ControlsViewSet) + systems_router = NestedSimpleRouter(router, r'systems', lookup='systems') -systems_router.register(r'controls', SystemControlsViewSet, basename='systems-controls') +systems_router.register(r'system-controls', SystemControlsViewSet, basename='systems-controls') systems_router.register(r'assessments', SystemAssessmentViewSet, basename='systems-assessments') -systems_router.register(r'poams', SystemPoamViewSet, basename='systems-poams') +systems_router.register(r'poam-statements', SystemPoamStatementsViewSet, basename='systems-poams') +systems_router.register(r'deployments', DeploymentViewSet, basename='systems-deployments') +#systems_router.register(r'components', ComponentsViewSet, basename='systems-components') urlpatterns = [ url(r'^', include(router.urls)), diff --git a/api/controls/views/components.py b/api/controls/views/components.py new file mode 100644 index 000000000..89843a4aa --- /dev/null +++ b/api/controls/views/components.py @@ -0,0 +1,22 @@ +from api.base.views.base import SerializerClasses +from api.base.views.viewsets import ReadOnlyViewSet +from api.base.views.mixins import CustomSearchModelMixin +from api.controls.serializers.components import DetailedComponentSerializer +from controls.models import Element +from django.db.models import Q + + +class ComponentsViewSet(CustomSearchModelMixin, ReadOnlyViewSet): + queryset = Element.objects.exclude(element_type='system') + + serializer_classes = SerializerClasses(retrieve=DetailedComponentSerializer, + list=DetailedComponentSerializer) + + # NESTED_ROUTER_PKS = [{'pk': 'systems_pk', 'model_field': 'system'}] + + # def get_queryset(self, queryset=None, serializer_class=None): + # queryset = super().get_queryset(queryset, serializer_class) + # return queryset.filter() + + def search(self, request, keyword): + return Q(name__icontains=keyword) diff --git a/api/controls/views/controls.py b/api/controls/views/controls.py new file mode 100644 index 000000000..c33905ac3 --- /dev/null +++ b/api/controls/views/controls.py @@ -0,0 +1,38 @@ +from api.base.views.base import SerializerClasses +from api.base.views.viewsets import ReadOnlyViewSet +from api.base.views.mixins import CustomSearchModelMixin +from api.controls.serializers.controls import CatalogDataReadSerializer, CatalogDataWithGroupReadSerializer, SimpleCommonControlSerializer +from controls.oscal import CatalogData +from django.db.models import Q +from rest_framework.decorators import action +from rest_framework.response import Response +from controls.oscal import CatalogData + +class ControlsViewSet(CustomSearchModelMixin, ReadOnlyViewSet): + queryset = CatalogData.objects.all() + + serializer_classes = SerializerClasses(retrieve=CatalogDataReadSerializer, + list=CatalogDataReadSerializer) + + # NESTED_ROUTER_PKS = [{'pk': 'systems_pk', 'model_field': 'system'}] + + def get_queryset(self, queryset=None, serializer_class=None): + queryset = super().get_queryset(queryset, serializer_class) + return queryset.filter() + + def search(self, request, keyword): + return Q(catalog_key__icontains=keyword) | Q(catalog_json__catalog__metadata__title__icontains=keyword) + +class CatalogDataViewSet(CustomSearchModelMixin, ReadOnlyViewSet): + queryset = CatalogData.objects.all() + serializer_classes = SerializerClasses(retrieve=CatalogDataWithGroupReadSerializer, + list=CatalogDataWithGroupReadSerializer) + + def search(self, request, keyword): + return Q(catalog_key__icontains=keyword) | Q(catalog_json__catalog__metadata__title__icontains=keyword) + + @action(detail=True, url_path="catalog-key", methods=["GET"]) + def retrieve_by_catalog_key(self, request, **kwargs): + obj = CatalogData.objects.get(catalog_key=kwargs.get('pk')) + serializer = CatalogDataWithGroupReadSerializer(obj) + return Response(serializer.data) diff --git a/api/controls/views/deployments.py b/api/controls/views/deployments.py new file mode 100644 index 000000000..cf7804563 --- /dev/null +++ b/api/controls/views/deployments.py @@ -0,0 +1,19 @@ +from api.base.views.base import SerializerClasses +from api.base.views.viewsets import ReadOnlyViewSet +from api.base.views.mixins import CustomSearchModelMixin +from api.controls.serializers.deployment import SimpleDeploymentSerializer +from controls.models import Deployment +from django.db.models import Q + + +class DeploymentViewSet(CustomSearchModelMixin, ReadOnlyViewSet): + queryset = Deployment.objects.all() + + serializer_classes = SerializerClasses(retrieve=SimpleDeploymentSerializer, + list=SimpleDeploymentSerializer) + + NESTED_ROUTER_PKS = [{'pk': 'systems_pk', 'model_field': 'system'}] + + def search(self, request, keyword): + return Q(name__icontains=keyword) + diff --git a/api/controls/views/element.py b/api/controls/views/element.py index 8f29b68f9..05ac01b49 100644 --- a/api/controls/views/element.py +++ b/api/controls/views/element.py @@ -11,7 +11,7 @@ class ElementViewSet(ReadOnlyViewSet): queryset = Element.objects.all() serializer_classes = SerializerClasses(retrieve=DetailedElementSerializer, - list=SimpleElementSerializer, + list=DetailedElementSerializer, tags=WriteElementTagsSerializer) @action(detail=True, url_path="tags", methods=["PUT"]) diff --git a/api/controls/views/system.py b/api/controls/views/system.py index e602d20c3..756c5c854 100644 --- a/api/controls/views/system.py +++ b/api/controls/views/system.py @@ -1,43 +1,73 @@ from api.base.views.base import SerializerClasses from api.base.views.viewsets import ReadOnlyViewSet -from api.controls.serializers.element import SimpleElementControlSerializer, DetailedElementControlSerializer -from api.controls.serializers.poam import DetailedPoamSerializer, SimplePoamSerializer -from api.controls.serializers.system import DetailedSystemSerializer, SimpleSystemSerializer -from api.controls.serializers.system_assement_results import DetailedSystemAssessmentResultSerializer, \ - SimpleSystemAssessmentResultSerializer -from controls.models import System, ElementControl, SystemAssessmentResult, Poam +from api.controls.serializers.element import ( + SimpleElementControlSerializer, + DetailedElementControlSerializer, +) +from api.controls.serializers.statements import PoamStatmentSerializer +from api.controls.serializers.system import ( + DetailedSystemSerializer, + SimpleSystemSerializer, +) +from api.controls.serializers.system_assement_results import ( + DetailedSystemAssessmentResultSerializer, + SimpleSystemAssessmentResultSerializer, +) +from controls.models import System, ElementControl, SystemAssessmentResult, Statement +from api.base.views.mixins import CustomSearchModelMixin +from django.db.models import Q class SystemViewSet(ReadOnlyViewSet): queryset = System.objects.all() - serializer_classes = SerializerClasses(retrieve=DetailedSystemSerializer, - list=SimpleSystemSerializer) + serializer_classes = SerializerClasses( + retrieve=DetailedSystemSerializer, list=SimpleSystemSerializer + ) -class SystemControlsViewSet(ReadOnlyViewSet): +class SystemControlsViewSet(CustomSearchModelMixin, ReadOnlyViewSet): queryset = ElementControl.objects.all() - serializer_classes = SerializerClasses(retrieve=DetailedElementControlSerializer, - list=SimpleElementControlSerializer) + serializer_classes = SerializerClasses( + retrieve=DetailedElementControlSerializer, list=SimpleElementControlSerializer + ) - NESTED_ROUTER_PKS = [{'pk': 'systems_pk', 'model_field': 'element.system'}] + NESTED_ROUTER_PKS = [{"pk": "systems_pk", "model_field": "element.system"}] + def search(self, request, keyword): + return Q(oscal_ctl_id__icontains=keyword) -class SystemAssessmentViewSet(ReadOnlyViewSet): + + +class SystemAssessmentViewSet(CustomSearchModelMixin, ReadOnlyViewSet): queryset = SystemAssessmentResult.objects.all() - serializer_classes = SerializerClasses(retrieve=DetailedSystemAssessmentResultSerializer, - list=SimpleSystemAssessmentResultSerializer) + serializer_classes = SerializerClasses( + retrieve=DetailedSystemAssessmentResultSerializer, + list=SimpleSystemAssessmentResultSerializer, + ) + + NESTED_ROUTER_PKS = [{"pk": "systems_pk", "model_field": "system"}] - NESTED_ROUTER_PKS = [{'pk': 'systems_pk', 'model_field': 'system'}] + def search(self, request, keyword): + return Q(name__icontains=keyword) | Q(description__icontains=keyword) -class SystemPoamViewSet(ReadOnlyViewSet): - queryset = Poam.objects.all() +class SystemPoamStatementsViewSet(CustomSearchModelMixin, ReadOnlyViewSet): + queryset = Statement.objects.all() + ordering = ("-updated",) + serializer_classes = SerializerClasses( + retrieve=PoamStatmentSerializer, list=PoamStatmentSerializer + ) - serializer_classes = SerializerClasses(retrieve=DetailedPoamSerializer, - list=SimplePoamSerializer) + NESTED_ROUTER_PKS = [{"pk": "systems_pk", "model_field": "consumer_element.system"}] - NESTED_ROUTER_PKS = [{'pk': 'systems_pk', 'model_field': 'statement.consumer_element.system'}] + def get_queryset(self, queryset=None, serializer_class=None): + queryset = super().get_queryset(queryset, serializer_class) + return queryset.filter(statement_type="POAM") + def search(self, request, keyword): + return Q(poam__weakness_name__icontains=keyword) | Q( + poam__poam_id__icontains=keyword.lower().replace("v-", "") + ) diff --git a/api/siteapp/serializers/portfolios.py b/api/siteapp/serializers/portfolios.py index 634f50137..c4b070220 100644 --- a/api/siteapp/serializers/portfolios.py +++ b/api/siteapp/serializers/portfolios.py @@ -1,10 +1,23 @@ from api.base.serializers.types import ReadOnlySerializer from siteapp.models import Portfolio - +from rest_framework import serializers class SimplePortfolioSerializer(ReadOnlySerializer): - class Meta: model = Portfolio fields = ['title', 'description'] +class SimplePortfolioWithRoleSerializer(ReadOnlySerializer): + role = serializers.SerializerMethodField() + + def get_role(self, obj): + if self.context['request'].user.has_perm('can_grant_portfolio_owner_permission', obj): + return "Owner" + elif self.context['request'].user.has_perm('change_portfolio', obj): + return "Portfolio Member" + return "Project Member" + + class Meta: + model = Portfolio + fields = ['title', 'description', 'role'] + diff --git a/api/siteapp/serializers/projects.py b/api/siteapp/serializers/projects.py index 8acd6c6e1..5420ecee0 100644 --- a/api/siteapp/serializers/projects.py +++ b/api/siteapp/serializers/projects.py @@ -16,6 +16,13 @@ class Meta: model = Project fields = ['is_account_project', 'is_deletable', 'extra', 'version', 'version_comment'] +class ListProjectsSerializer(SimpleProjectsSerializer): + portfolio = SimplePortfolioSerializer() + root_task = TaskSerializer() + + class Meta: + model = Project + fields = SimpleProjectsSerializer.Meta.fields + ['portfolio', 'root_task'] class DetailedProjectsSerializer(SimpleProjectsSerializer): organization = DetailedOrganizationSerializer() diff --git a/api/siteapp/views/portfolios.py b/api/siteapp/views/portfolios.py index 709ab5a21..6fbbf5901 100644 --- a/api/siteapp/views/portfolios.py +++ b/api/siteapp/views/portfolios.py @@ -1,10 +1,18 @@ +from api.base.permissions import CustomObjectPermissions from api.base.views.base import SerializerClasses from api.base.views.viewsets import ReadOnlyViewSet -from api.siteapp.serializers.portfolios import SimplePortfolioSerializer +from api.siteapp.serializers.portfolios import SimplePortfolioWithRoleSerializer from siteapp.models import Portfolio +from rest_framework_guardian import filters +from api.base.views.mixins import CustomSearchModelMixin +from django.db.models import Q - -class PortfolioViewSet(ReadOnlyViewSet): +class PortfolioViewSet(CustomSearchModelMixin, ReadOnlyViewSet): queryset = Portfolio.objects.all() - serializer_classes = SerializerClasses(retrieve=SimplePortfolioSerializer, - list=SimplePortfolioSerializer) + serializer_classes = SerializerClasses(retrieve=SimplePortfolioWithRoleSerializer, + list=SimplePortfolioWithRoleSerializer) + permission_classes = [CustomObjectPermissions] + extra_filter_backends = [filters.ObjectPermissionsFilter] + + def search(self, request, keyword): + return Q(title__icontains=keyword) diff --git a/api/siteapp/views/projects.py b/api/siteapp/views/projects.py index b05d2aadf..aa18fe06e 100644 --- a/api/siteapp/views/projects.py +++ b/api/siteapp/views/projects.py @@ -3,7 +3,7 @@ from api.base.views.base import SerializerClasses from api.base.views.viewsets import ReadOnlyViewSet -from api.siteapp.serializers.projects import DetailedProjectsSerializer, SimpleProjectsSerializer, \ +from api.siteapp.serializers.projects import DetailedProjectsSerializer, ListProjectsSerializer, \ WriteProjectTagsSerializer from siteapp.models import Project @@ -11,7 +11,7 @@ class ProjectViewSet(ReadOnlyViewSet): queryset = Project.objects.all() serializer_classes = SerializerClasses(retrieve=DetailedProjectsSerializer, - list=SimpleProjectsSerializer, + list=ListProjectsSerializer, set_tags=WriteProjectTagsSerializer) @action(detail=True, url_path="tags", methods=["PUT"]) diff --git a/controls/apps.py b/controls/apps.py index 2acb093e4..709237929 100644 --- a/controls/apps.py +++ b/controls/apps.py @@ -3,3 +3,6 @@ class ControlConfig(AppConfig): name = 'controls' + + def ready(self): + import controls.signals \ No newline at end of file diff --git a/controls/models.py b/controls/models.py index 4d4ee55c4..2cb47b52b 100644 --- a/controls/models.py +++ b/controls/models.py @@ -251,7 +251,7 @@ class StatementRemote(auto_prefetch.Model): class Element(auto_prefetch.Model, TagModelMixin): name = models.CharField(max_length=250, help_text="Common name or acronym of the element", unique=True, blank=False, null=False) - full_name =models.CharField(max_length=250, help_text="Full name of the element", unique=False, blank=True, null=True) + full_name = models.CharField(max_length=250, help_text="Full name of the element", unique=False, blank=True, null=True) description = models.TextField(default="Description needed", help_text="Description of the Element", unique=False, blank=False, null=False) element_type = models.CharField(max_length=150, help_text="Component type", unique=False, blank=True, null=True) roles = models.ManyToManyField('ElementRole', related_name='elements', blank=True, help_text="Roles assigned to the Element") @@ -783,13 +783,7 @@ def poam_status_count(self): # @property (See below for creation of property from method) def get_producer_elements(self): - smts = self.root_element.statements_consumed.all() - components = set() - for smt in smts: - if smt.producer_element: - components.add(smt.producer_element) - components = list(components) - components.sort(key=lambda component: component.name) + components = Element.objects.filter(statements_produced__consumer_element = self.root_element).distinct().order_by('name') return components producer_elements = cached_property(get_producer_elements) diff --git a/controls/oscal.py b/controls/oscal.py index e4708d43c..c02c4e56c 100644 --- a/controls/oscal.py +++ b/controls/oscal.py @@ -21,6 +21,7 @@ class CatalogData(auto_prefetch.Model): baselines_json = models.JSONField(blank=True, null=True, help_text="JSON object representing the baselines for the catalog.") created = models.DateTimeField(auto_now_add=True, db_index=True) updated = models.DateTimeField(auto_now=True, db_index=True) + def __str__(self): return "'%s id=%d'" % (self.catalog_key, self.id) diff --git a/controls/signals.py b/controls/signals.py new file mode 100644 index 000000000..6a36ed805 --- /dev/null +++ b/controls/signals.py @@ -0,0 +1,65 @@ +from django.db.models.signals import post_delete, post_save +from django.dispatch import receiver +from guidedmodules.models import TaskAnswer, ModuleQuestion, TaskAnswerHistory +from controls.models import ElementControl, Statement +from datetime import datetime + + +# These signals will Update project updated timestamp +@receiver(post_save, sender=Statement) +def on_project_component_change(sender, instance, created, **kwargs): + instance.consumer_element.system.first().projects.update(updated=datetime.now()) + +@receiver(post_delete, sender=Statement) +def on_project_component_remove(sender, instance, **kwargs): + instance.consumer_element.system.first().projects.update(updated=datetime.now()) + +@receiver(post_save, sender=ElementControl) +def on_project_control_change(sender, instance, created, **kwargs): + instance.element.system.first().projects.update(updated=datetime.now()) + +@receiver(post_delete, sender=ElementControl) +def on_project_control_remove(sender, instance, **kwargs): + instance.element.system.first().projects.update(updated=datetime.now()) + +@receiver(post_save, sender=TaskAnswer) +def on_questionnaire_answer_change(sender, instance, created, **kwargs): + project = instance.task.project + project.updated = datetime.now() + project.save() + +@receiver(post_delete, sender=TaskAnswer) +def on_questionnaire_answer_remove(sender, instance, **kwargs): + project = instance.task.project + project.updated = datetime.now() + project.save() + + +@receiver(post_save, sender=ModuleQuestion) +def on_module_question_change(sender, instance, created, **kwargs): + task = instance.module.task_set.first() + if task: + project = task.project + project.updated = datetime.now() + project.save() + +@receiver(post_delete, sender=ModuleQuestion) +def on_module_question_remove(sender, instance, **kwargs): + task = instance.module.task_set.first() + if task: + project = task.project + project.updated = datetime.now() + project.save() + + +@receiver(post_save, sender=TaskAnswerHistory) +def on_task_answer_history_change(sender, instance, created, **kwargs): + project = instance.taskanswer.task.project + project.updated = datetime.now() + project.save() + +@receiver(post_delete, sender=TaskAnswerHistory) +def on_task_answer_history_remove(sender, instance, **kwargs): + project = instance.taskanswer.task.project + project.updated = datetime.now() + project.save() diff --git a/controls/views.py b/controls/views.py index d1afe9d4b..cee3849ce 100644 --- a/controls/views.py +++ b/controls/views.py @@ -164,9 +164,14 @@ def controls_selected(request, system_id): if request.user.has_perm('view_system', system): # Retrieve primary system Project # Temporarily assume only one project and get first project - project = system.projects.all()[0] + project = system.projects.first() controls = system.root_element.controls.all() impl_smts = system.root_element.statements_consumed.all() + project = system.projects.all()[0] + # controls = system.root_element.controls.all() + controls = ElementControl.objects.filter(element=system.root_element) + # impl_smts = system.root_element.statements_consumed.all() + impl_smts = Statement.objects.filter(consumer_element=system.root_element, statement_type=StatementTypeEnum.CONTROL_IMPLEMENTATION.name) # sort controls controls = list(controls) @@ -2810,7 +2815,7 @@ def poams_list(request, system_id): if request.user.has_perm('view_system', system): # Retrieve primary system Project # Temporarily assume only one project and get first project - project = system.projects.all()[0] + project = system.projects.first() controls = system.root_element.controls.all() poam_smts = system.root_element.statements_consumed.filter(statement_type="POAM").order_by('-updated') @@ -2847,7 +2852,6 @@ def new_poam(request, system_id): # Temporarily assume only one project and get first project project = system.projects.all()[0] controls = system.root_element.controls.all() - if request.method == 'POST': statement_form = StatementPoamForm(request.POST) # if statement_form.is_valid() and poam_form.is_valid(): @@ -3274,10 +3278,10 @@ def system_deployments(request, system_id): if request.user.has_perm('view_system', system): # Retrieve primary system Project # Temporarily assume only one project and get first project - project = system.projects.all()[0] + project = system.projects.first() # Retrieve list of deployments for the system - deployments = system.deployments.all().order_by(Lower('name')) + # deployments = system.deployments.all().order_by(Lower('name')) # controls = system.root_element.controls.all() # poam_smts = system.root_element.statements_consumed.filter(statement_type="POAM").order_by('-updated') @@ -3285,7 +3289,6 @@ def system_deployments(request, system_id): context = { "system": system, "project": project, - "deployments": deployments, "display_urls": project_context(project) } return render(request, "systems/deployments_list.html", context) @@ -3406,16 +3409,10 @@ def system_assessment_results_list(request, system_id=None): # User does not have permission to this system raise Http404 - system = System.objects.get(id=system_id) - # Retrieve related selected controls if user has permission on system - if not request.user.has_perm('view_system', system): - # User does not have permission to this system - raise Http404 - # Retrieve primary system Project # Temporarily assume only one project and get first project - project = system.projects.all()[0] - sars = system.system_assessment_result.all().order_by('created').reverse() + project = system.projects.first() + # sars = system.system_assessment_result.all().order_by('created').reverse() # Retrieve user's API keys api_keys = request.user.get_api_keys() @@ -3423,7 +3420,7 @@ def system_assessment_results_list(request, system_id=None): context = { "system": system, "project": project, - "sars": sars, + # "sars": sars, "api_key_ro": api_keys['ro'], "api_key_rw": api_keys['rw'], "api_key_wo": api_keys['wo'], diff --git a/frontend/clientStyles.css b/frontend/clientStyles.css new file mode 100644 index 000000000..8f08782af --- /dev/null +++ b/frontend/clientStyles.css @@ -0,0 +1,14 @@ + +.css-pdct74-MuiTablePagination-selectLabel { + margin-top: 8px +} + +.css-levciy-MuiTablePagination-displayedRows{ + margin-top: 9px +} +.css-pdct74-MuiTablePagination-selectLabel{ + font-size: 15px !important; +} +.css-levciy-MuiTablePagination-displayedRows{ + font-size: 15px !important; +} \ No newline at end of file diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 2b839d421..4fc0fa0de 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -9,24 +9,30 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "@emotion/react": "^11.4.1", - "@emotion/styled": "^11.3.0", + "@emotion/react": "^11.7.0", + "@emotion/styled": "^11.6.0", "@fortawesome/fontawesome-svg-core": "^1.2.35", "@fortawesome/free-solid-svg-icons": "^5.15.3", "@fortawesome/react-fontawesome": "^0.1.14", - "@mui/icons-material": "^5.0.3", - "@mui/material": "^5.0.3", + "@mui/icons-material": "^5.2.0", + "@mui/material": "^5.2.2", + "@mui/styles": "^5.2.2", "@reduxjs/toolkit": "^1.5.1", - "axios": "^0.21.1", + "axios": "^0.24.0", "lodash": "^4.17.21", - "prop-types": "latest", + "moment": "^2.29.1", + "prop-types": "^15.7.2", "react": "^17.0.2", + "react-bootstrap": "0.33.1", "react-dom": "^17.0.2", + "react-perfect-scrollbar": "^1.5.8", "react-pro-sidebar": "^0.7.1", "react-redux": "^7.2.4", "react-router-dom": "^5.3.0", "react-select": "^4.3.0", - "react-select-async-paginate": "^0.5.3" + "react-select-async-paginate": "^0.5.3", + "react-slugify": "^2.1.0", + "use-debounce": "^7.0.1" }, "devDependencies": { "@babel/core": "^7.13.16", @@ -1069,10 +1075,22 @@ } }, "node_modules/@babel/runtime": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", - "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", + "version": "7.16.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.3.tgz", + "integrity": "sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ==", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs2": { + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.16.5.tgz", + "integrity": "sha512-GHejyoK+JQqna9rUTkybaGahZOOM+EDcUsbWaLye1g4ZOQMotrMiY8VTBbX1gycZTMNG/YiWTo4WTABvyPUgOg==", "dependencies": { + "core-js": "^2.6.5", "regenerator-runtime": "^0.13.4" }, "engines": { @@ -1156,15 +1174,15 @@ } }, "node_modules/@emotion/cache": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.4.0.tgz", - "integrity": "sha512-Zx70bjE7LErRO9OaZrhf22Qye1y4F7iDl+ITjet0J+i+B88PrAOBkKvaAWhxsZf72tDLajwCgfCjJ2dvH77C3g==", + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.6.0.tgz", + "integrity": "sha512-ElbsWY1KMwEowkv42vGo0UPuLgtPYfIs9BxxVrmvsaJVvktknsHYYlx5NQ5g6zLDcOTyamlDc7FkRg2TAcQDKQ==", "dependencies": { "@emotion/memoize": "^0.7.4", - "@emotion/sheet": "^1.0.0", + "@emotion/sheet": "^1.1.0", "@emotion/utils": "^1.0.0", "@emotion/weak-memoize": "^0.2.5", - "stylis": "^4.0.3" + "stylis": "^4.0.10" } }, "node_modules/@emotion/hash": { @@ -1173,9 +1191,9 @@ "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" }, "node_modules/@emotion/is-prop-valid": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.1.0.tgz", - "integrity": "sha512-9RkilvXAufQHsSsjQ3PIzSns+pxuX4EW8EbGeSPjZMHuMx6z/MOzb9LpqNieQX4F3mre3NWS2+X3JNRHTQztUQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.1.1.tgz", + "integrity": "sha512-bW1Tos67CZkOURLc0OalnfxtSXQJMrAMV0jZTVGJUPSOd4qgjF3+tTD5CwJM13PHA8cltGW1WGbbvV9NpvUZPw==", "dependencies": { "@emotion/memoize": "^0.7.4" } @@ -1186,14 +1204,14 @@ "integrity": "sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==" }, "node_modules/@emotion/react": { - "version": "11.4.1", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.4.1.tgz", - "integrity": "sha512-pRegcsuGYj4FCdZN6j5vqCALkNytdrKw3TZMekTzNXixRg4wkLsU5QEaBG5LC6l01Vppxlp7FE3aTHpIG5phLg==", + "version": "11.7.0", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.7.0.tgz", + "integrity": "sha512-WL93hf9+/2s3cA1JVJlz8+Uy6p6QWukqQFOm2OZO5ki51hfucHMOmbSjiyC3t2Y4RI8XUmBoepoc/24ny/VBbA==", "dependencies": { "@babel/runtime": "^7.13.10", - "@emotion/cache": "^11.4.0", + "@emotion/cache": "^11.6.0", "@emotion/serialize": "^1.0.2", - "@emotion/sheet": "^1.0.2", + "@emotion/sheet": "^1.1.0", "@emotion/utils": "^1.0.0", "@emotion/weak-memoize": "^0.2.5", "hoist-non-react-statics": "^3.3.1" @@ -1224,18 +1242,18 @@ } }, "node_modules/@emotion/sheet": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.0.2.tgz", - "integrity": "sha512-QQPB1B70JEVUHuNtzjHftMGv6eC3Y9wqavyarj4x4lg47RACkeSfNo5pxIOKizwS9AEFLohsqoaxGQj4p0vSIw==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.1.0.tgz", + "integrity": "sha512-u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g==" }, "node_modules/@emotion/styled": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.3.0.tgz", - "integrity": "sha512-fUoLcN3BfMiLlRhJ8CuPUMEyKkLEoM+n+UyAbnqGEsCd5IzKQ7VQFLtzpJOaCD2/VR2+1hXQTnSZXVJeiTNltA==", + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.6.0.tgz", + "integrity": "sha512-mxVtVyIOTmCAkFbwIp+nCjTXJNgcz4VWkOYQro87jE2QBTydnkiYusMrRGFtzuruiGK4dDaNORk4gH049iiQuw==", "dependencies": { "@babel/runtime": "^7.13.10", "@emotion/babel-plugin": "^11.3.0", - "@emotion/is-prop-valid": "^1.1.0", + "@emotion/is-prop-valid": "^1.1.1", "@emotion/serialize": "^1.0.2", "@emotion/utils": "^1.0.0" }, @@ -1309,14 +1327,15 @@ "prop-types": "^15.7.2" } }, - "node_modules/@mui/core": { - "version": "5.0.0-alpha.50", - "resolved": "https://registry.npmjs.org/@mui/core/-/core-5.0.0-alpha.50.tgz", - "integrity": "sha512-szmmzbyAjEQku17IoEWs7t77n0Kr4zVnT5fREfMd+CnCA4YDifr68ccGJfWaeoGp5Zw/JmfKjQJXLY4GgT6i/g==", + "node_modules/@mui/base": { + "version": "5.0.0-alpha.58", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.58.tgz", + "integrity": "sha512-YZorCbbzkokQZUnj+sdjUWIe+jaesuSVpKgwWS2mWdE50v1Ti/qMmevIrOT1lvFAilpj80Bkcg4KtlGWBJ6utQ==", "dependencies": { - "@babel/runtime": "^7.15.4", - "@emotion/is-prop-valid": "^1.1.0", - "@mui/utils": "^5.0.1", + "@babel/runtime": "^7.16.3", + "@emotion/is-prop-valid": "^1.1.1", + "@mui/utils": "^5.2.2", + "@popperjs/core": "^2.4.4", "clsx": "^1.1.1", "prop-types": "^15.7.2", "react-is": "^17.0.2" @@ -1335,23 +1354,23 @@ } } }, - "node_modules/@mui/core/node_modules/react-is": { + "node_modules/@mui/base/node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, "node_modules/@mui/icons-material": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.0.3.tgz", - "integrity": "sha512-Lktn+4GNnXdVrOCUUvNNvOD9VyrGazWBsJy0BQeQgBe/+IjFMdlcNrDEUIlGlA5ZXOq7Mr/Mv9Os02mgF65jiw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.2.0.tgz", + "integrity": "sha512-NvyrVaGKpP4R1yFw8BCnE0QcsQ67RtpgxPr4FtH8q60MDYPuPVczLOn5Ash5CFavoDWur/NfM/4DpT54yf3InA==", "dependencies": { - "@babel/runtime": "^7.15.4" + "@babel/runtime": "^7.16.3" }, "engines": { "node": ">=12.0.0" }, "peerDependencies": { - "@mui/material": "^5.0.0-rc.0", + "@mui/material": "^5.0.0", "@types/react": "^16.8.6 || ^17.0.0", "react": "^17.0.2" }, @@ -1362,19 +1381,18 @@ } }, "node_modules/@mui/material": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.0.3.tgz", - "integrity": "sha512-Qj2hwSi63qrYRJuHrUFdN83lCT6HXyLzpCniDTvK7NlqXCnpy4F3Gg0hRJTnO4hNqTTBV+SCOKTSbfuzHl/dnQ==", - "dependencies": { - "@babel/runtime": "^7.15.4", - "@mui/core": "5.0.0-alpha.50", - "@mui/system": "^5.0.3", - "@mui/types": "^7.0.0", - "@mui/utils": "^5.0.1", - "@popperjs/core": "^2.4.4", - "@types/react-transition-group": "^4.4.3", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.2.2.tgz", + "integrity": "sha512-vqmZq+v59CT4V84WcvYkYldnjC6uRddYx0TJqgl2h5YRbbPYCGVVywVvg9cBwxy4j5xI3F2WH6z7WGkHqkJIQA==", + "dependencies": { + "@babel/runtime": "^7.16.3", + "@mui/base": "5.0.0-alpha.58", + "@mui/system": "^5.2.2", + "@mui/types": "^7.1.0", + "@mui/utils": "^5.2.2", + "@types/react-transition-group": "^4.4.4", "clsx": "^1.1.1", - "csstype": "^3.0.9", + "csstype": "^3.0.10", "hoist-non-react-statics": "^3.3.2", "prop-types": "^15.7.2", "react-is": "^17.0.2", @@ -1388,7 +1406,7 @@ "url": "https://opencollective.com/material-ui" }, "peerDependencies": { - "@emotion/react": "^11.4.1", + "@emotion/react": "^11.5.0", "@emotion/styled": "^11.3.0", "@types/react": "^16.8.6 || ^17.0.0", "react": "^17.0.2", @@ -1412,12 +1430,12 @@ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, "node_modules/@mui/private-theming": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.0.1.tgz", - "integrity": "sha512-R8Cf2+32cG1OXFAqTighA5Mx9R5BQ57cN1ZVaNgfgdbI87Yig2fVMdFSPrw3txcjKlnwsvFJF8AdwQMqq1tJ3Q==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.2.2.tgz", + "integrity": "sha512-BfTjZ5ao6KY4Sg11lgaVuQ9uUq8unaM2u9/RKDD12If0B2Vp/AhRSe7i5OTd+wErmK2guTX0kPSraGZzwDEIVg==", "dependencies": { - "@babel/runtime": "^7.15.4", - "@mui/utils": "^5.0.1", + "@babel/runtime": "^7.16.3", + "@mui/utils": "^5.2.2", "prop-types": "^15.7.2" }, "engines": { @@ -1438,12 +1456,12 @@ } }, "node_modules/@mui/styled-engine": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.0.1.tgz", - "integrity": "sha512-j40nCbaKr1HAZYqpX61XvZYsadYskjo3u6+pRFFaewSViAkkD1rjjbubpnh15nqVfYmijtHMZJ9/l1x1hamvfQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.2.0.tgz", + "integrity": "sha512-NZ4pWYQcM5wreUfiXRd7IMFRF+Nq1vMzsIdXtXNjgctJTKHunrofasoBqv+cqevO+hqT75ezSbNHyaXzOXp6Mg==", "dependencies": { - "@babel/runtime": "^7.15.4", - "@emotion/cache": "^11.4.0", + "@babel/runtime": "^7.16.3", + "@emotion/cache": "^11.6.0", "prop-types": "^15.7.2" }, "engines": { @@ -1467,18 +1485,58 @@ } } }, + "node_modules/@mui/styles": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@mui/styles/-/styles-5.2.2.tgz", + "integrity": "sha512-Hfg/3nAU+25RVzpgB0xyE1JjrOCI4rjujrJ0K4tS7M/U4NKZQrmtinc5ldvCaZUlxb51bZGs5V1MGn2dLKZVNQ==", + "dependencies": { + "@babel/runtime": "^7.16.3", + "@emotion/hash": "^0.8.0", + "@mui/private-theming": "^5.2.2", + "@mui/types": "^7.1.0", + "@mui/utils": "^5.2.2", + "clsx": "^1.1.1", + "csstype": "^3.0.10", + "hoist-non-react-statics": "^3.3.2", + "jss": "^10.8.2", + "jss-plugin-camel-case": "^10.8.2", + "jss-plugin-default-unit": "^10.8.2", + "jss-plugin-global": "^10.8.2", + "jss-plugin-nested": "^10.8.2", + "jss-plugin-props-sort": "^10.8.2", + "jss-plugin-rule-value-function": "^10.8.2", + "jss-plugin-vendor-prefixer": "^10.8.2", + "prop-types": "^15.7.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/material-ui" + }, + "peerDependencies": { + "@types/react": "^16.8.6 || ^17.0.0", + "react": "^17.0.2" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@mui/system": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.0.3.tgz", - "integrity": "sha512-pNkW9p6Dj/ch3YCKjvrXrBhKsAyJ1/l273Q0hh60hhTKHJXgKBVONQ8r7l1fFHtufI0NNz6UGMVJooIXg4JJtA==", - "dependencies": { - "@babel/runtime": "^7.15.4", - "@mui/private-theming": "^5.0.1", - "@mui/styled-engine": "^5.0.1", - "@mui/types": "^7.0.0", - "@mui/utils": "^5.0.1", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.2.2.tgz", + "integrity": "sha512-221tPOcZC8A89GOt6LH9YPTj2Iqf880iqrHd7AHT/HznBKOlLrnWD83pCuLPyX2jeFz4OzhvmGbdt5a74UEgaA==", + "dependencies": { + "@babel/runtime": "^7.16.3", + "@mui/private-theming": "^5.2.2", + "@mui/styled-engine": "^5.2.0", + "@mui/types": "^7.1.0", + "@mui/utils": "^5.2.2", "clsx": "^1.1.1", - "csstype": "^3.0.9", + "csstype": "^3.0.10", "prop-types": "^15.7.2" }, "engines": { @@ -1489,7 +1547,7 @@ "url": "https://opencollective.com/material-ui" }, "peerDependencies": { - "@emotion/react": "^11.4.1", + "@emotion/react": "^11.5.0", "@emotion/styled": "^11.3.0", "@types/react": "^16.8.6 || ^17.0.0", "react": "^17.0.2" @@ -1507,9 +1565,9 @@ } }, "node_modules/@mui/types": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.0.0.tgz", - "integrity": "sha512-M/tkF2pZ4uoPhZ8pnNhlVnOFtz6F3dnYKIsnj8MuXKT6d26IE2u0UjA8B0275ggN74dR9rlHG5xJt5jgDx/Ung==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.1.0.tgz", + "integrity": "sha512-Hh7ALdq/GjfIwLvqH3XftuY3bcKhupktTm+S6qRIDGOtPtRuq2L21VWzOK4p7kblirK0XgGVH5BLwa6u8z/6QQ==", "peerDependencies": { "@types/react": "*" }, @@ -1520,11 +1578,11 @@ } }, "node_modules/@mui/utils": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.0.1.tgz", - "integrity": "sha512-GWO104N+o9KG5fKiTEYnAg7kONKEg3vLN+VROAU0f3it6lFGLCVPcQYex/1gJ4QAy96u6Ez8/Hmmhi1+3cX0tQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.2.2.tgz", + "integrity": "sha512-0u9ImUfpCfTxmvQTfUzTSS+jKWMX15MBZeZCRQZ0f7o9Yi8BlrLj33lMx0mFBkUSYdTXnqL4yfOn7RBzV01HMQ==", "dependencies": { - "@babel/runtime": "^7.15.4", + "@babel/runtime": "^7.16.3", "@types/prop-types": "^15.7.4", "@types/react-is": "^16.7.1 || ^17.0.0", "prop-types": "^15.7.2", @@ -1653,9 +1711,9 @@ } }, "node_modules/@types/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-2+L0ilcAEG8udkDnvx8B0upwXFBbNnVwOsSCTxW3SDOkmar9NyEeLG0ZLa3uOEw9zyYf/fQapcnfXAVmDKlyHw==", + "version": "17.0.3", + "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz", + "integrity": "sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==", "dependencies": { "@types/react": "*" } @@ -1672,9 +1730,9 @@ } }, "node_modules/@types/react-transition-group": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.3.tgz", - "integrity": "sha512-fUx5muOWSYP8Bw2BUQ9M9RK9+W1XBK/7FLJ8PTQpnpTEkn0ccyMffyEQvan4C3h53gHdx7KE5Qrxi/LnUGQtdg==", + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.4.tgz", + "integrity": "sha512-7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug==", "dependencies": { "@types/react": "*" } @@ -1960,11 +2018,11 @@ } }, "node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", + "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", "dependencies": { - "follow-redirects": "^1.14.0" + "follow-redirects": "^1.14.4" } }, "node_modules/babel-loader": { @@ -2330,6 +2388,13 @@ "safe-buffer": "~5.1.1" } }, + "node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true + }, "node_modules/core-js-compat": { "version": "3.11.0", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.11.0.tgz", @@ -2450,6 +2515,15 @@ "node": ">=10" } }, + "node_modules/css-vendor": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", + "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", + "dependencies": { + "@babel/runtime": "^7.8.3", + "is-in-browser": "^1.0.2" + } + }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -2463,9 +2537,9 @@ } }, "node_modules/csstype": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", - "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz", + "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==" }, "node_modules/debug": { "version": "4.3.1", @@ -2822,11 +2896,22 @@ } }, "node_modules/follow-redirects": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.0.tgz", - "integrity": "sha512-0vRwd7RKQBTt+mgu87mtYeofLFZpTas2S9zY+jIeuLJMNvudIgF52nr19q40HOwH5RrhWIPuj9puybzSJiRrVg==", + "version": "1.14.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz", + "integrity": "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], "engines": { "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, "node_modules/fs-constants": { @@ -3013,6 +3098,11 @@ "node": ">=10.17.0" } }, + "node_modules/hyphenate-style-name": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", + "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" + }, "node_modules/icss-utils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", @@ -3124,6 +3214,14 @@ "node": ">= 0.10" } }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -3150,6 +3248,11 @@ "node": ">=0.10.0" } }, + "node_modules/is-in-browser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", + "integrity": "sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=" + }, "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -3275,6 +3378,93 @@ "node": ">=6" } }, + "node_modules/jss": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jss/-/jss-10.8.2.tgz", + "integrity": "sha512-FkoUNxI329CKQ9OQC8L72MBF9KPf5q8mIupAJ5twU7G7XREW7ahb+7jFfrjZ4iy1qvhx1HwIWUIvkZBDnKkEdQ==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "csstype": "^3.0.2", + "is-in-browser": "^1.1.3", + "tiny-warning": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/jss" + } + }, + "node_modules/jss-plugin-camel-case": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.8.2.tgz", + "integrity": "sha512-2INyxR+1UdNuKf4v9It3tNfPvf7IPrtkiwzofeKuMd5D58/dxDJVUQYRVg/n460rTlHUfsEQx43hDrcxi9dSPA==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "hyphenate-style-name": "^1.0.3", + "jss": "10.8.2" + } + }, + "node_modules/jss-plugin-default-unit": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.8.2.tgz", + "integrity": "sha512-UZ7cwT9NFYSG+SEy7noRU50s4zifulFdjkUNKE+u6mW7vFP960+RglWjTgMfh79G6OENZmaYnjHV/gcKV4nSxg==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.8.2" + } + }, + "node_modules/jss-plugin-global": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.8.2.tgz", + "integrity": "sha512-UaYMSPsYZ7s/ECGoj4KoHC2jwQd5iQ7K+FFGnCAILdQrv7hPmvM2Ydg45ThT/sH46DqktCRV2SqjRuxeBH8nRA==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.8.2" + } + }, + "node_modules/jss-plugin-nested": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.8.2.tgz", + "integrity": "sha512-acRvuPJOb930fuYmhkJaa994EADpt8TxI63Iyg96C8FJ9T2xRyU5T6R1IYKRwUiqZo+2Sr7fdGzRTDD4uBZaMA==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.8.2", + "tiny-warning": "^1.0.2" + } + }, + "node_modules/jss-plugin-props-sort": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.8.2.tgz", + "integrity": "sha512-wqdcjayKRWBZnNpLUrXvsWqh+5J5YToAQ+8HNBNw0kZxVvCDwzhK2Nx6AKs7p+5/MbAh2PLgNW5Ym/ysbVAuqQ==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.8.2" + } + }, + "node_modules/jss-plugin-rule-value-function": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.8.2.tgz", + "integrity": "sha512-bW0EKAs+0HXpb6BKJhrn94IDdiWb0CnSluTkh0rGEgyzY/nmD1uV/Wf6KGlesGOZ9gmJzQy+9FFdxIUID1c9Ug==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "jss": "10.8.2", + "tiny-warning": "^1.0.2" + } + }, + "node_modules/jss-plugin-vendor-prefixer": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.8.2.tgz", + "integrity": "sha512-DeGv18QsSiYLSVIEB2+l0af6OToUe0JB+trpzUxyqD2QRC/5AzzDrCrYffO5AHZ81QbffYvSN/pkfZaTWpRXlg==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "css-vendor": "^2.0.8", + "jss": "10.8.2" + } + }, + "node_modules/keycode": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.1.tgz", + "integrity": "sha512-Rdgz9Hl9Iv4QKi8b0OlCRQEzp4AgVxyCtz5S/+VIHezDmrDhkp2N2TqBWOLz0/gbeREXOOiI9/4b8BY9uw2vFg==" + }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -3552,6 +3742,14 @@ "dev": true, "optional": true }, + "node_modules/moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", + "engines": { + "node": "*" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -3844,6 +4042,11 @@ "node": ">=8" } }, + "node_modules/perfect-scrollbar": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.3.tgz", + "integrity": "sha512-+Lo6t61lSuCY9ghpqh1NFMXOu8fNwlYGqPoUMOZ3HTFIL4g7+L7zD7hQCLW5yjkOZ6LGTw1m9+MfEew7cngtAQ==" + }, "node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -3992,6 +4195,26 @@ "react-is": "^16.8.1" } }, + "node_modules/prop-types-extra": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.1.tgz", + "integrity": "sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==", + "dependencies": { + "react-is": "^16.3.2", + "warning": "^4.0.0" + }, + "peerDependencies": { + "react": ">=0.14.0" + } + }, + "node_modules/prop-types-extra/node_modules/warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -4084,6 +4307,52 @@ "node": ">=0.10.0" } }, + "node_modules/react-bootstrap": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-0.33.1.tgz", + "integrity": "sha512-qWTRravSds87P8WC82tETy2yIso8qDqlIm0czsrduCaYAFtHuyLu0XDbUlfLXeRzqgwm5sRk2wRaTNoiVkk/YQ==", + "dependencies": { + "@babel/runtime-corejs2": "^7.0.0", + "classnames": "^2.2.5", + "dom-helpers": "^3.2.0", + "invariant": "^2.2.4", + "keycode": "^2.2.0", + "prop-types": "^15.6.1", + "prop-types-extra": "^1.0.1", + "react-overlays": "^0.9.0", + "react-prop-types": "^0.4.0", + "react-transition-group": "^2.0.0", + "uncontrollable": "^7.0.2", + "warning": "^3.0.0" + }, + "peerDependencies": { + "react": ">=16.3.0", + "react-dom": ">=16.3.0" + } + }, + "node_modules/react-bootstrap/node_modules/dom-helpers": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", + "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "dependencies": { + "@babel/runtime": "^7.1.2" + } + }, + "node_modules/react-bootstrap/node_modules/react-transition-group": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz", + "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==", + "dependencies": { + "dom-helpers": "^3.4.0", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2", + "react-lifecycles-compat": "^3.0.4" + }, + "peerDependencies": { + "react": ">=15.0.0", + "react-dom": ">=15.0.0" + } + }, "node_modules/react-dom": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", @@ -4112,6 +4381,64 @@ "resolved": "https://registry.npmjs.org/react-is-mounted-hook/-/react-is-mounted-hook-1.1.0.tgz", "integrity": "sha512-h53TIe1ofqzFo98/szmPIM0m4ei2NIVtdRn/L0Hs9MNChsmpvPvdVzl9L8qGS3hbxZvlaZYzlmB8ntAMYJGf0A==" }, + "node_modules/react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "node_modules/react-overlays": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/react-overlays/-/react-overlays-0.9.3.tgz", + "integrity": "sha512-u2T7nOLnK+Hrntho4p0Nxh+BsJl0bl4Xuwj/Y0a56xywLMetgAfyjnDVrudLXsNcKGaspoC+t3C1V80W9QQTdQ==", + "dependencies": { + "classnames": "^2.2.5", + "dom-helpers": "^3.2.1", + "prop-types": "^15.5.10", + "prop-types-extra": "^1.0.1", + "react-transition-group": "^2.2.1", + "warning": "^3.0.0" + }, + "peerDependencies": { + "react": ">=16.3.0", + "react-dom": ">=16.3.0" + } + }, + "node_modules/react-overlays/node_modules/dom-helpers": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", + "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "dependencies": { + "@babel/runtime": "^7.1.2" + } + }, + "node_modules/react-overlays/node_modules/react-transition-group": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz", + "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==", + "dependencies": { + "dom-helpers": "^3.4.0", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2", + "react-lifecycles-compat": "^3.0.4" + }, + "peerDependencies": { + "react": ">=15.0.0", + "react-dom": ">=15.0.0" + } + }, + "node_modules/react-perfect-scrollbar": { + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/react-perfect-scrollbar/-/react-perfect-scrollbar-1.5.8.tgz", + "integrity": "sha512-bQ46m70gp/HJtiBOF3gRzBISSZn8FFGNxznTdmTG8AAwpxG1bJCyn7shrgjEvGSQ5FJEafVEiosY+ccER11OSA==", + "dependencies": { + "perfect-scrollbar": "^1.5.0", + "prop-types": "^15.6.1" + }, + "peerDependencies": { + "react": ">=16.3.3", + "react-dom": ">=16.3.3" + } + }, "node_modules/react-pro-sidebar": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/react-pro-sidebar/-/react-pro-sidebar-0.7.1.tgz", @@ -4139,6 +4466,17 @@ "react-dom": "^16.3.0" } }, + "node_modules/react-prop-types": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/react-prop-types/-/react-prop-types-0.4.0.tgz", + "integrity": "sha1-+ZsL+0AGkpya8gUefBQUpcdbk9A=", + "dependencies": { + "warning": "^3.0.0" + }, + "peerDependencies": { + "react": ">=0.14.0" + } + }, "node_modules/react-redux": { "version": "7.2.4", "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.4.tgz", @@ -4214,6 +4552,11 @@ "sleep-promise": "^9.1.0" } }, + "node_modules/react-slugify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/react-slugify/-/react-slugify-2.1.0.tgz", + "integrity": "sha512-X+kYdGP1WumAX2exool+1lwjLSZ1dDCaCzwF0KvDWHjPfCD4hxtHvok4oyZEZro2lioaR+lCtyVG8ti2Yvpnsg==" + }, "node_modules/react-transition-group": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", @@ -4838,6 +5181,20 @@ "node": "*" } }, + "node_modules/uncontrollable": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz", + "integrity": "sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==", + "dependencies": { + "@babel/runtime": "^7.6.3", + "@types/react": ">=16.9.11", + "invariant": "^2.2.4", + "react-lifecycles-compat": "^3.0.4" + }, + "peerDependencies": { + "react": ">=15.0.0" + } + }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", @@ -4929,6 +5286,17 @@ "node": ">= 10.13.0" } }, + "node_modules/use-debounce": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/use-debounce/-/use-debounce-7.0.1.tgz", + "integrity": "sha512-fOrzIw2wstbAJuv8PC9Vg4XgwyTLEOdq4y/Z3IhVl8DAE4svRcgyEUvrEXu+BMNgMoc3YND6qLT61kkgEKXh7Q==", + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -4946,6 +5314,14 @@ "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" }, + "node_modules/warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, "node_modules/watchpack": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz", @@ -6277,13 +6653,22 @@ } }, "@babel/runtime": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", - "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", + "version": "7.16.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.3.tgz", + "integrity": "sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ==", "requires": { "regenerator-runtime": "^0.13.4" } }, + "@babel/runtime-corejs2": { + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.16.5.tgz", + "integrity": "sha512-GHejyoK+JQqna9rUTkybaGahZOOM+EDcUsbWaLye1g4ZOQMotrMiY8VTBbX1gycZTMNG/YiWTo4WTABvyPUgOg==", + "requires": { + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.4" + } + }, "@babel/template": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", @@ -6351,15 +6736,15 @@ } }, "@emotion/cache": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.4.0.tgz", - "integrity": "sha512-Zx70bjE7LErRO9OaZrhf22Qye1y4F7iDl+ITjet0J+i+B88PrAOBkKvaAWhxsZf72tDLajwCgfCjJ2dvH77C3g==", + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.6.0.tgz", + "integrity": "sha512-ElbsWY1KMwEowkv42vGo0UPuLgtPYfIs9BxxVrmvsaJVvktknsHYYlx5NQ5g6zLDcOTyamlDc7FkRg2TAcQDKQ==", "requires": { "@emotion/memoize": "^0.7.4", - "@emotion/sheet": "^1.0.0", + "@emotion/sheet": "^1.1.0", "@emotion/utils": "^1.0.0", "@emotion/weak-memoize": "^0.2.5", - "stylis": "^4.0.3" + "stylis": "^4.0.10" } }, "@emotion/hash": { @@ -6368,9 +6753,9 @@ "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" }, "@emotion/is-prop-valid": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.1.0.tgz", - "integrity": "sha512-9RkilvXAufQHsSsjQ3PIzSns+pxuX4EW8EbGeSPjZMHuMx6z/MOzb9LpqNieQX4F3mre3NWS2+X3JNRHTQztUQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.1.1.tgz", + "integrity": "sha512-bW1Tos67CZkOURLc0OalnfxtSXQJMrAMV0jZTVGJUPSOd4qgjF3+tTD5CwJM13PHA8cltGW1WGbbvV9NpvUZPw==", "requires": { "@emotion/memoize": "^0.7.4" } @@ -6381,14 +6766,14 @@ "integrity": "sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==" }, "@emotion/react": { - "version": "11.4.1", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.4.1.tgz", - "integrity": "sha512-pRegcsuGYj4FCdZN6j5vqCALkNytdrKw3TZMekTzNXixRg4wkLsU5QEaBG5LC6l01Vppxlp7FE3aTHpIG5phLg==", + "version": "11.7.0", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.7.0.tgz", + "integrity": "sha512-WL93hf9+/2s3cA1JVJlz8+Uy6p6QWukqQFOm2OZO5ki51hfucHMOmbSjiyC3t2Y4RI8XUmBoepoc/24ny/VBbA==", "requires": { "@babel/runtime": "^7.13.10", - "@emotion/cache": "^11.4.0", + "@emotion/cache": "^11.6.0", "@emotion/serialize": "^1.0.2", - "@emotion/sheet": "^1.0.2", + "@emotion/sheet": "^1.1.0", "@emotion/utils": "^1.0.0", "@emotion/weak-memoize": "^0.2.5", "hoist-non-react-statics": "^3.3.1" @@ -6407,18 +6792,18 @@ } }, "@emotion/sheet": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.0.2.tgz", - "integrity": "sha512-QQPB1B70JEVUHuNtzjHftMGv6eC3Y9wqavyarj4x4lg47RACkeSfNo5pxIOKizwS9AEFLohsqoaxGQj4p0vSIw==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.1.0.tgz", + "integrity": "sha512-u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g==" }, "@emotion/styled": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.3.0.tgz", - "integrity": "sha512-fUoLcN3BfMiLlRhJ8CuPUMEyKkLEoM+n+UyAbnqGEsCd5IzKQ7VQFLtzpJOaCD2/VR2+1hXQTnSZXVJeiTNltA==", + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.6.0.tgz", + "integrity": "sha512-mxVtVyIOTmCAkFbwIp+nCjTXJNgcz4VWkOYQro87jE2QBTydnkiYusMrRGFtzuruiGK4dDaNORk4gH049iiQuw==", "requires": { "@babel/runtime": "^7.13.10", "@emotion/babel-plugin": "^11.3.0", - "@emotion/is-prop-valid": "^1.1.0", + "@emotion/is-prop-valid": "^1.1.1", "@emotion/serialize": "^1.0.2", "@emotion/utils": "^1.0.0" } @@ -6467,14 +6852,15 @@ "prop-types": "^15.7.2" } }, - "@mui/core": { - "version": "5.0.0-alpha.50", - "resolved": "https://registry.npmjs.org/@mui/core/-/core-5.0.0-alpha.50.tgz", - "integrity": "sha512-szmmzbyAjEQku17IoEWs7t77n0Kr4zVnT5fREfMd+CnCA4YDifr68ccGJfWaeoGp5Zw/JmfKjQJXLY4GgT6i/g==", + "@mui/base": { + "version": "5.0.0-alpha.58", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.58.tgz", + "integrity": "sha512-YZorCbbzkokQZUnj+sdjUWIe+jaesuSVpKgwWS2mWdE50v1Ti/qMmevIrOT1lvFAilpj80Bkcg4KtlGWBJ6utQ==", "requires": { - "@babel/runtime": "^7.15.4", - "@emotion/is-prop-valid": "^1.1.0", - "@mui/utils": "^5.0.1", + "@babel/runtime": "^7.16.3", + "@emotion/is-prop-valid": "^1.1.1", + "@mui/utils": "^5.2.2", + "@popperjs/core": "^2.4.4", "clsx": "^1.1.1", "prop-types": "^15.7.2", "react-is": "^17.0.2" @@ -6488,27 +6874,26 @@ } }, "@mui/icons-material": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.0.3.tgz", - "integrity": "sha512-Lktn+4GNnXdVrOCUUvNNvOD9VyrGazWBsJy0BQeQgBe/+IjFMdlcNrDEUIlGlA5ZXOq7Mr/Mv9Os02mgF65jiw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.2.0.tgz", + "integrity": "sha512-NvyrVaGKpP4R1yFw8BCnE0QcsQ67RtpgxPr4FtH8q60MDYPuPVczLOn5Ash5CFavoDWur/NfM/4DpT54yf3InA==", "requires": { - "@babel/runtime": "^7.15.4" + "@babel/runtime": "^7.16.3" } }, "@mui/material": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.0.3.tgz", - "integrity": "sha512-Qj2hwSi63qrYRJuHrUFdN83lCT6HXyLzpCniDTvK7NlqXCnpy4F3Gg0hRJTnO4hNqTTBV+SCOKTSbfuzHl/dnQ==", - "requires": { - "@babel/runtime": "^7.15.4", - "@mui/core": "5.0.0-alpha.50", - "@mui/system": "^5.0.3", - "@mui/types": "^7.0.0", - "@mui/utils": "^5.0.1", - "@popperjs/core": "^2.4.4", - "@types/react-transition-group": "^4.4.3", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.2.2.tgz", + "integrity": "sha512-vqmZq+v59CT4V84WcvYkYldnjC6uRddYx0TJqgl2h5YRbbPYCGVVywVvg9cBwxy4j5xI3F2WH6z7WGkHqkJIQA==", + "requires": { + "@babel/runtime": "^7.16.3", + "@mui/base": "5.0.0-alpha.58", + "@mui/system": "^5.2.2", + "@mui/types": "^7.1.0", + "@mui/utils": "^5.2.2", + "@types/react-transition-group": "^4.4.4", "clsx": "^1.1.1", - "csstype": "^3.0.9", + "csstype": "^3.0.10", "hoist-non-react-statics": "^3.3.2", "prop-types": "^15.7.2", "react-is": "^17.0.2", @@ -6523,52 +6908,76 @@ } }, "@mui/private-theming": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.0.1.tgz", - "integrity": "sha512-R8Cf2+32cG1OXFAqTighA5Mx9R5BQ57cN1ZVaNgfgdbI87Yig2fVMdFSPrw3txcjKlnwsvFJF8AdwQMqq1tJ3Q==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.2.2.tgz", + "integrity": "sha512-BfTjZ5ao6KY4Sg11lgaVuQ9uUq8unaM2u9/RKDD12If0B2Vp/AhRSe7i5OTd+wErmK2guTX0kPSraGZzwDEIVg==", "requires": { - "@babel/runtime": "^7.15.4", - "@mui/utils": "^5.0.1", + "@babel/runtime": "^7.16.3", + "@mui/utils": "^5.2.2", "prop-types": "^15.7.2" } }, "@mui/styled-engine": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.0.1.tgz", - "integrity": "sha512-j40nCbaKr1HAZYqpX61XvZYsadYskjo3u6+pRFFaewSViAkkD1rjjbubpnh15nqVfYmijtHMZJ9/l1x1hamvfQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.2.0.tgz", + "integrity": "sha512-NZ4pWYQcM5wreUfiXRd7IMFRF+Nq1vMzsIdXtXNjgctJTKHunrofasoBqv+cqevO+hqT75ezSbNHyaXzOXp6Mg==", "requires": { - "@babel/runtime": "^7.15.4", - "@emotion/cache": "^11.4.0", + "@babel/runtime": "^7.16.3", + "@emotion/cache": "^11.6.0", + "prop-types": "^15.7.2" + } + }, + "@mui/styles": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@mui/styles/-/styles-5.2.2.tgz", + "integrity": "sha512-Hfg/3nAU+25RVzpgB0xyE1JjrOCI4rjujrJ0K4tS7M/U4NKZQrmtinc5ldvCaZUlxb51bZGs5V1MGn2dLKZVNQ==", + "requires": { + "@babel/runtime": "^7.16.3", + "@emotion/hash": "^0.8.0", + "@mui/private-theming": "^5.2.2", + "@mui/types": "^7.1.0", + "@mui/utils": "^5.2.2", + "clsx": "^1.1.1", + "csstype": "^3.0.10", + "hoist-non-react-statics": "^3.3.2", + "jss": "^10.8.2", + "jss-plugin-camel-case": "^10.8.2", + "jss-plugin-default-unit": "^10.8.2", + "jss-plugin-global": "^10.8.2", + "jss-plugin-nested": "^10.8.2", + "jss-plugin-props-sort": "^10.8.2", + "jss-plugin-rule-value-function": "^10.8.2", + "jss-plugin-vendor-prefixer": "^10.8.2", "prop-types": "^15.7.2" } }, "@mui/system": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.0.3.tgz", - "integrity": "sha512-pNkW9p6Dj/ch3YCKjvrXrBhKsAyJ1/l273Q0hh60hhTKHJXgKBVONQ8r7l1fFHtufI0NNz6UGMVJooIXg4JJtA==", - "requires": { - "@babel/runtime": "^7.15.4", - "@mui/private-theming": "^5.0.1", - "@mui/styled-engine": "^5.0.1", - "@mui/types": "^7.0.0", - "@mui/utils": "^5.0.1", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.2.2.tgz", + "integrity": "sha512-221tPOcZC8A89GOt6LH9YPTj2Iqf880iqrHd7AHT/HznBKOlLrnWD83pCuLPyX2jeFz4OzhvmGbdt5a74UEgaA==", + "requires": { + "@babel/runtime": "^7.16.3", + "@mui/private-theming": "^5.2.2", + "@mui/styled-engine": "^5.2.0", + "@mui/types": "^7.1.0", + "@mui/utils": "^5.2.2", "clsx": "^1.1.1", - "csstype": "^3.0.9", + "csstype": "^3.0.10", "prop-types": "^15.7.2" } }, "@mui/types": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.0.0.tgz", - "integrity": "sha512-M/tkF2pZ4uoPhZ8pnNhlVnOFtz6F3dnYKIsnj8MuXKT6d26IE2u0UjA8B0275ggN74dR9rlHG5xJt5jgDx/Ung==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.1.0.tgz", + "integrity": "sha512-Hh7ALdq/GjfIwLvqH3XftuY3bcKhupktTm+S6qRIDGOtPtRuq2L21VWzOK4p7kblirK0XgGVH5BLwa6u8z/6QQ==", "requires": {} }, "@mui/utils": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.0.1.tgz", - "integrity": "sha512-GWO104N+o9KG5fKiTEYnAg7kONKEg3vLN+VROAU0f3it6lFGLCVPcQYex/1gJ4QAy96u6Ez8/Hmmhi1+3cX0tQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.2.2.tgz", + "integrity": "sha512-0u9ImUfpCfTxmvQTfUzTSS+jKWMX15MBZeZCRQZ0f7o9Yi8BlrLj33lMx0mFBkUSYdTXnqL4yfOn7RBzV01HMQ==", "requires": { - "@babel/runtime": "^7.15.4", + "@babel/runtime": "^7.16.3", "@types/prop-types": "^15.7.4", "@types/react-is": "^16.7.1 || ^17.0.0", "prop-types": "^15.7.2", @@ -6677,9 +7086,9 @@ } }, "@types/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-2+L0ilcAEG8udkDnvx8B0upwXFBbNnVwOsSCTxW3SDOkmar9NyEeLG0ZLa3uOEw9zyYf/fQapcnfXAVmDKlyHw==", + "version": "17.0.3", + "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz", + "integrity": "sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==", "requires": { "@types/react": "*" } @@ -6696,9 +7105,9 @@ } }, "@types/react-transition-group": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.3.tgz", - "integrity": "sha512-fUx5muOWSYP8Bw2BUQ9M9RK9+W1XBK/7FLJ8PTQpnpTEkn0ccyMffyEQvan4C3h53gHdx7KE5Qrxi/LnUGQtdg==", + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.4.tgz", + "integrity": "sha512-7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug==", "requires": { "@types/react": "*" } @@ -6966,11 +7375,11 @@ } }, "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", + "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", "requires": { - "follow-redirects": "^1.14.0" + "follow-redirects": "^1.14.4" } }, "babel-loader": { @@ -7299,6 +7708,11 @@ "safe-buffer": "~5.1.1" } }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" + }, "core-js-compat": { "version": "3.11.0", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.11.0.tgz", @@ -7399,6 +7813,15 @@ } } }, + "css-vendor": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", + "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", + "requires": { + "@babel/runtime": "^7.8.3", + "is-in-browser": "^1.0.2" + } + }, "cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -7406,9 +7829,9 @@ "dev": true }, "csstype": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", - "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz", + "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==" }, "debug": { "version": "4.3.1", @@ -7691,9 +8114,9 @@ } }, "follow-redirects": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.0.tgz", - "integrity": "sha512-0vRwd7RKQBTt+mgu87mtYeofLFZpTas2S9zY+jIeuLJMNvudIgF52nr19q40HOwH5RrhWIPuj9puybzSJiRrVg==" + "version": "1.14.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz", + "integrity": "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==" }, "fs-constants": { "version": "1.0.0", @@ -7852,6 +8275,11 @@ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true }, + "hyphenate-style-name": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", + "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" + }, "icss-utils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", @@ -7939,6 +8367,14 @@ "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -7962,6 +8398,11 @@ "number-is-nan": "^1.0.0" } }, + "is-in-browser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", + "integrity": "sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=" + }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -8059,6 +8500,89 @@ "minimist": "^1.2.5" } }, + "jss": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jss/-/jss-10.8.2.tgz", + "integrity": "sha512-FkoUNxI329CKQ9OQC8L72MBF9KPf5q8mIupAJ5twU7G7XREW7ahb+7jFfrjZ4iy1qvhx1HwIWUIvkZBDnKkEdQ==", + "requires": { + "@babel/runtime": "^7.3.1", + "csstype": "^3.0.2", + "is-in-browser": "^1.1.3", + "tiny-warning": "^1.0.2" + } + }, + "jss-plugin-camel-case": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.8.2.tgz", + "integrity": "sha512-2INyxR+1UdNuKf4v9It3tNfPvf7IPrtkiwzofeKuMd5D58/dxDJVUQYRVg/n460rTlHUfsEQx43hDrcxi9dSPA==", + "requires": { + "@babel/runtime": "^7.3.1", + "hyphenate-style-name": "^1.0.3", + "jss": "10.8.2" + } + }, + "jss-plugin-default-unit": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.8.2.tgz", + "integrity": "sha512-UZ7cwT9NFYSG+SEy7noRU50s4zifulFdjkUNKE+u6mW7vFP960+RglWjTgMfh79G6OENZmaYnjHV/gcKV4nSxg==", + "requires": { + "@babel/runtime": "^7.3.1", + "jss": "10.8.2" + } + }, + "jss-plugin-global": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.8.2.tgz", + "integrity": "sha512-UaYMSPsYZ7s/ECGoj4KoHC2jwQd5iQ7K+FFGnCAILdQrv7hPmvM2Ydg45ThT/sH46DqktCRV2SqjRuxeBH8nRA==", + "requires": { + "@babel/runtime": "^7.3.1", + "jss": "10.8.2" + } + }, + "jss-plugin-nested": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.8.2.tgz", + "integrity": "sha512-acRvuPJOb930fuYmhkJaa994EADpt8TxI63Iyg96C8FJ9T2xRyU5T6R1IYKRwUiqZo+2Sr7fdGzRTDD4uBZaMA==", + "requires": { + "@babel/runtime": "^7.3.1", + "jss": "10.8.2", + "tiny-warning": "^1.0.2" + } + }, + "jss-plugin-props-sort": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.8.2.tgz", + "integrity": "sha512-wqdcjayKRWBZnNpLUrXvsWqh+5J5YToAQ+8HNBNw0kZxVvCDwzhK2Nx6AKs7p+5/MbAh2PLgNW5Ym/ysbVAuqQ==", + "requires": { + "@babel/runtime": "^7.3.1", + "jss": "10.8.2" + } + }, + "jss-plugin-rule-value-function": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.8.2.tgz", + "integrity": "sha512-bW0EKAs+0HXpb6BKJhrn94IDdiWb0CnSluTkh0rGEgyzY/nmD1uV/Wf6KGlesGOZ9gmJzQy+9FFdxIUID1c9Ug==", + "requires": { + "@babel/runtime": "^7.3.1", + "jss": "10.8.2", + "tiny-warning": "^1.0.2" + } + }, + "jss-plugin-vendor-prefixer": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.8.2.tgz", + "integrity": "sha512-DeGv18QsSiYLSVIEB2+l0af6OToUe0JB+trpzUxyqD2QRC/5AzzDrCrYffO5AHZ81QbffYvSN/pkfZaTWpRXlg==", + "requires": { + "@babel/runtime": "^7.3.1", + "css-vendor": "^2.0.8", + "jss": "10.8.2" + } + }, + "keycode": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.1.tgz", + "integrity": "sha512-Rdgz9Hl9Iv4QKi8b0OlCRQEzp4AgVxyCtz5S/+VIHezDmrDhkp2N2TqBWOLz0/gbeREXOOiI9/4b8BY9uw2vFg==" + }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -8279,6 +8803,11 @@ "dev": true, "optional": true }, + "moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -8514,6 +9043,11 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, + "perfect-scrollbar": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.3.tgz", + "integrity": "sha512-+Lo6t61lSuCY9ghpqh1NFMXOu8fNwlYGqPoUMOZ3HTFIL4g7+L7zD7hQCLW5yjkOZ6LGTw1m9+MfEew7cngtAQ==" + }, "pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -8634,6 +9168,25 @@ "react-is": "^16.8.1" } }, + "prop-types-extra": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.1.tgz", + "integrity": "sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==", + "requires": { + "react-is": "^16.3.2", + "warning": "^4.0.0" + }, + "dependencies": { + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -8713,6 +9266,46 @@ "object-assign": "^4.1.1" } }, + "react-bootstrap": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-0.33.1.tgz", + "integrity": "sha512-qWTRravSds87P8WC82tETy2yIso8qDqlIm0czsrduCaYAFtHuyLu0XDbUlfLXeRzqgwm5sRk2wRaTNoiVkk/YQ==", + "requires": { + "@babel/runtime-corejs2": "^7.0.0", + "classnames": "^2.2.5", + "dom-helpers": "^3.2.0", + "invariant": "^2.2.4", + "keycode": "^2.2.0", + "prop-types": "^15.6.1", + "prop-types-extra": "^1.0.1", + "react-overlays": "^0.9.0", + "react-prop-types": "^0.4.0", + "react-transition-group": "^2.0.0", + "uncontrollable": "^7.0.2", + "warning": "^3.0.0" + }, + "dependencies": { + "dom-helpers": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", + "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "requires": { + "@babel/runtime": "^7.1.2" + } + }, + "react-transition-group": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz", + "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==", + "requires": { + "dom-helpers": "^3.4.0", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2", + "react-lifecycles-compat": "^3.0.4" + } + } + } + }, "react-dom": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", @@ -8741,6 +9334,54 @@ "resolved": "https://registry.npmjs.org/react-is-mounted-hook/-/react-is-mounted-hook-1.1.0.tgz", "integrity": "sha512-h53TIe1ofqzFo98/szmPIM0m4ei2NIVtdRn/L0Hs9MNChsmpvPvdVzl9L8qGS3hbxZvlaZYzlmB8ntAMYJGf0A==" }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "react-overlays": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/react-overlays/-/react-overlays-0.9.3.tgz", + "integrity": "sha512-u2T7nOLnK+Hrntho4p0Nxh+BsJl0bl4Xuwj/Y0a56xywLMetgAfyjnDVrudLXsNcKGaspoC+t3C1V80W9QQTdQ==", + "requires": { + "classnames": "^2.2.5", + "dom-helpers": "^3.2.1", + "prop-types": "^15.5.10", + "prop-types-extra": "^1.0.1", + "react-transition-group": "^2.2.1", + "warning": "^3.0.0" + }, + "dependencies": { + "dom-helpers": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", + "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "requires": { + "@babel/runtime": "^7.1.2" + } + }, + "react-transition-group": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz", + "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==", + "requires": { + "dom-helpers": "^3.4.0", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2", + "react-lifecycles-compat": "^3.0.4" + } + } + } + }, + "react-perfect-scrollbar": { + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/react-perfect-scrollbar/-/react-perfect-scrollbar-1.5.8.tgz", + "integrity": "sha512-bQ46m70gp/HJtiBOF3gRzBISSZn8FFGNxznTdmTG8AAwpxG1bJCyn7shrgjEvGSQ5FJEafVEiosY+ccER11OSA==", + "requires": { + "perfect-scrollbar": "^1.5.0", + "prop-types": "^15.6.1" + } + }, "react-pro-sidebar": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/react-pro-sidebar/-/react-pro-sidebar-0.7.1.tgz", @@ -8762,6 +9403,14 @@ } } }, + "react-prop-types": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/react-prop-types/-/react-prop-types-0.4.0.tgz", + "integrity": "sha1-+ZsL+0AGkpya8gUefBQUpcdbk9A=", + "requires": { + "warning": "^3.0.0" + } + }, "react-redux": { "version": "7.2.4", "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.4.tgz", @@ -8831,6 +9480,11 @@ "sleep-promise": "^9.1.0" } }, + "react-slugify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/react-slugify/-/react-slugify-2.1.0.tgz", + "integrity": "sha512-X+kYdGP1WumAX2exool+1lwjLSZ1dDCaCzwF0KvDWHjPfCD4hxtHvok4oyZEZro2lioaR+lCtyVG8ti2Yvpnsg==" + }, "react-transition-group": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", @@ -9358,6 +10012,17 @@ "safe-buffer": "^5.0.1" } }, + "uncontrollable": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz", + "integrity": "sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==", + "requires": { + "@babel/runtime": "^7.6.3", + "@types/react": ">=16.9.11", + "invariant": "^2.2.4", + "react-lifecycles-compat": "^3.0.4" + } + }, "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", @@ -9430,6 +10095,12 @@ } } }, + "use-debounce": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/use-debounce/-/use-debounce-7.0.1.tgz", + "integrity": "sha512-fOrzIw2wstbAJuv8PC9Vg4XgwyTLEOdq4y/Z3IhVl8DAE4svRcgyEUvrEXu+BMNgMoc3YND6qLT61kkgEKXh7Q==", + "requires": {} + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -9447,6 +10118,14 @@ "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" }, + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "requires": { + "loose-envify": "^1.0.0" + } + }, "watchpack": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz", diff --git a/frontend/package.json b/frontend/package.json index 8a2405498..da3441e8a 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -31,23 +31,29 @@ "webpack-cli": "^4.6.0" }, "dependencies": { - "@emotion/react": "^11.4.1", - "@emotion/styled": "^11.3.0", + "@emotion/react": "^11.7.0", + "@emotion/styled": "^11.6.0", "@fortawesome/fontawesome-svg-core": "^1.2.35", "@fortawesome/free-solid-svg-icons": "^5.15.3", "@fortawesome/react-fontawesome": "^0.1.14", - "@mui/icons-material": "^5.0.3", - "@mui/material": "^5.0.3", + "@mui/icons-material": "^5.2.0", + "@mui/material": "^5.2.2", + "@mui/styles": "^5.2.2", "@reduxjs/toolkit": "^1.5.1", - "axios": "^0.21.1", + "axios": "^0.24.0", "lodash": "^4.17.21", - "prop-types": "latest", + "moment": "^2.29.1", + "prop-types": "^15.7.2", "react": "^17.0.2", + "react-bootstrap": "0.33.1", "react-dom": "^17.0.2", + "react-perfect-scrollbar": "^1.5.8", "react-pro-sidebar": "^0.7.1", "react-redux": "^7.2.4", "react-router-dom": "^5.3.0", "react-select": "^4.3.0", - "react-select-async-paginate": "^0.5.3" + "react-select-async-paginate": "^0.5.3", + "react-slugify": "^2.1.0", + "use-debounce": "^7.0.1" } } diff --git a/frontend/src/components/assessments/assessments.js b/frontend/src/components/assessments/assessments.js new file mode 100644 index 000000000..439a3bb2a --- /dev/null +++ b/frontend/src/components/assessments/assessments.js @@ -0,0 +1,126 @@ +import React, { useState, useEffect } from 'react'; +import { DataTable } from '../shared/table'; +import axios from 'axios'; +import moment from 'moment'; +import { + Tooltip, + Button, + Glyphicon, + OverlayTrigger, +} from 'react-bootstrap'; + + +export const AssessmentTable = ({ systemId }) => { + + const [records, setRecords] = useState(0); + const [sortby, setSortBy] = useState(["title", "asc"]); + const editToolTip = ( Edit System Assessment Result + ) + const calendarToolTip = ( View System Assessment Result History + ) + + const [columns, setColumns] = useState([ + { + display: "Assessments", + sortKey: "title", + renderCell: (obj) => { + return ( + <> + + + +   +   + {obj.name} + + ) + } + }, + { + display: "Description", + sortKey: "id", + renderCell: (obj) => { + return {obj.description} + } + }, + { + display: "Created", + sortKey: "created", + renderCell: (obj) => { + return {moment(obj.updated).fromNow()} + } + }, + { + display: "Manage", + renderCell: (obj) => { + return + + + + + +   +   + + + + + + + + } + } + ]); + + const endpoint = (querystrings) => { + return axios.get(`/api/v2/systems/${systemId}/assessments/`, { params: querystrings }); + }; + + return +
+ System Assessment Results +
+
+ +
+ + + + + } + onResponse={(response) => { + setRecords(response.pages.total_records); + }} + /> +} \ No newline at end of file diff --git a/frontend/src/components/assessments/component.js b/frontend/src/components/assessments/component.js new file mode 100644 index 000000000..bea55d21a --- /dev/null +++ b/frontend/src/components/assessments/component.js @@ -0,0 +1,15 @@ +import React, {useState} from 'react'; +import ReactDOM from 'react-dom'; + +import { AssessmentTable } from './assessments'; + +window.assessmentTable = (systemId) => { + + $(window).on('load', function () { + $("#content").show(); + ReactDOM.render( + , + document.getElementById('assessments-table') + ); + }); +}; \ No newline at end of file diff --git a/frontend/src/components/components/component.js b/frontend/src/components/components/component.js new file mode 100644 index 000000000..3fbce77ec --- /dev/null +++ b/frontend/src/components/components/component.js @@ -0,0 +1,14 @@ +import React, {useState} from 'react'; +import ReactDOM from 'react-dom'; +import { ComponentsTable } from './componentsTable'; + +window.componentsTable = () => { + + $(window).on('load', function () { + $("#content").show(); + ReactDOM.render( + , + document.getElementById('components-table') + ); + }); +}; diff --git a/frontend/src/components/components/componentsTable.js b/frontend/src/components/components/componentsTable.js new file mode 100644 index 000000000..ae09f6b3b --- /dev/null +++ b/frontend/src/components/components/componentsTable.js @@ -0,0 +1,193 @@ +import React, { useState, useEffect } from 'react'; +import { DataTable } from '../shared/table'; +import axios from 'axios'; +import { Button, Checkbox, FormControlLabel , FormGroup , Chip, Stack, Tooltip } from '@mui/material'; + +import { makeStyles } from "@mui/styles"; + +const useStyles = makeStyles((theme) => ({ + name: + { + color: 'black' + }, + headerButton: { + float: 'right', + marginRight: "20px", + backgroundColor: '#5cb85c', + background: 'linear-gradient(to bottom,#5cb85c 0,#419641 100%)', + width: '20rem', + ".MuiButton-root&:hover": { + color: "#fff" + }, + + }, + newButton: { + marginLeft: "1rem", + marginRight: "1rem", + backgroundColor: '#5cb85c', + background: 'linear-gradient(to bottom,#5cb85c 0,#419641 100%)', + ".MuiButton-root&:hover": { + color: "#fff" + }, + }, + compareButton: { + backgroundColor: '#1976d2', + background: 'linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%)', + ".MuiButton-root&:hover": { + color: '#fff', + backgroundColor: '#31b0d5', + borderColor: '#269abc' + } + } +})) + +export const ComponentsTable = () => { + const classes = useStyles(); + const [records, setRecords] = useState(0); + const [sortby, setSortBy] = useState(["name", "asc"]); + const [columns, setColumns] = useState([ + { + display: "Component", + sortKey: "catalog_key", + renderCell: (obj) => { + return + {obj.name} + + } + }, + { + display: "Description", + renderCell: (obj) => { + return
+ {obj.description} + + {obj.tags.map((tag, index) => ( + + ))} + +
+ } + }, + { + display: "Select", + renderCell: (obj) => { + return + } label="" /> + + } + }, + { + display: "Statements", + renderCell: (obj) => { + return {obj.statements_produced.length} + } + }, + ]); + const handleClick = () => { + console.log('Clicked!') + } + const endpoint = (querystrings) => { + return axios.get(`/api/v2/components/`, { params: querystrings }); + }; + + useEffect(()=> { + newItem(); + }); + const newItem = async () => { + try { + const item = await endpoint().then((response) => { + setRecords(response.data.pages.total_records) + }); + } catch (err) { + console.log(err) + } + }; + + return +
+ Component Library +
+ + + +
+
+ You have access to {records} components +
+ + + +
+ + } + /> +} \ No newline at end of file diff --git a/frontend/src/components/controls/component.js b/frontend/src/components/controls/component.js new file mode 100644 index 000000000..c2b5887cf --- /dev/null +++ b/frontend/src/components/controls/component.js @@ -0,0 +1,39 @@ +import React, {useState} from 'react'; +import ReactDOM from 'react-dom'; +import { ControlsTable } from './controlsTable'; +import { SystemsControlTable } from './systemsControlsTable'; +import { ControlGroupings } from './controlGroupings'; +window.controlsTable = (systemId) => { + + $(window).on('load', function () { + $("#content").show(); + ReactDOM.render( + , + document.getElementById('controls-table') + ); + }); +}; + +window.systemsControlTable = (systemId) => { + + $(window).on('load', function () { + $("#content").show(); + ReactDOM.render( + , + document.getElementById('systems-controls-table') + ); + }); +}; + +//Uncomment to reveal React table for Catalog Groups + +// window.controlGroupings = (systemId) => { + +// $(window).on('load', function () { +// $("#content").show(); +// ReactDOM.render( +// , +// document.getElementById('index-group-content') +// ); +// }); +// }; diff --git a/frontend/src/components/controls/controlGroupings.js b/frontend/src/components/controls/controlGroupings.js new file mode 100644 index 000000000..be88d2afe --- /dev/null +++ b/frontend/src/components/controls/controlGroupings.js @@ -0,0 +1,91 @@ +import React, { useState } from 'react'; +import { DataTable } from '../shared/table'; +import axios from 'axios'; + + + + +export const ControlGroupings = () => { + const currentUrl = window.location.href + // CMMC_ver1 + // url(r'^catalogs/(?P.*)/group/(?P.*)', views.group, name="control_group") + + const [sortby, setSortBy] = useState(["catalog_key", "asc"]); + const [columns, setColumns] = useState([ + + { + display: "Project", + sortKey: "catalog_key", + renderCell: (obj) => { + const object_array = [obj] + { + object_array.map((group) => { + if (obj.catalog_key == "CMMC_ver1") { + console.log(group.groups) + const updated_group = group.groups + { + updated_group.map((group) => { + return {group.id} + }) + } + return {group.groups.id} + } + }) + } + + + // return {obj.groups.id} + // } + + // + + // + } + }, + { + display: "Title", + sortKey: "id", + renderCell: (obj) => { + + return + {obj.groups.id} + + } + }, + // { + // display: "Portfolio", + // sortKey: "portfolio__title", + // renderCell: (obj) => { + // return {obj.portfolio.title} + // } + // }, + // { + // display: "Role", + // renderCell: (obj) => { + // return + // } + // }, + // { + // display: "Updated", + // sortKey: "root_task__updated", + // renderCell: (obj) => { + // return {moment(obj.root_task.updated).fromNow()} + // } + // }, + ]); + + const endpoint = (querystrings) => { + console.log(querystrings); + return axios.get(`/api/v2/catalog-data/CMMC_ver1/catalog-key/`, { params: querystrings }); + }; + + + return + Control Groupings + } + /> +} \ No newline at end of file diff --git a/frontend/src/components/controls/controlsTable.js b/frontend/src/components/controls/controlsTable.js new file mode 100644 index 000000000..61b929cda --- /dev/null +++ b/frontend/src/components/controls/controlsTable.js @@ -0,0 +1,40 @@ +import React, { useState } from 'react'; +import { DataTable } from '../shared/table'; +import axios from 'axios'; + + + +export const ControlsTable = () => { + + + const [sortby, setSortBy] = useState(["catalog_key", "asc"]); + const [columns, setColumns] = useState([ + { + display: "Catalog Key", + sortKey: "catalog_key", + renderCell: (obj) => { + return + {obj.catalog_key} + + } + }, + { + display: "Title", + renderCell: (obj) => { + return {obj.title} + } + }, + ]); + + const endpoint = (querystrings) => { + return axios.get(`/api/v2/controls/`, { params: querystrings }); + }; + return + Catalogs + } + /> +} \ No newline at end of file diff --git a/frontend/src/components/controls/systemsControlsTable.js b/frontend/src/components/controls/systemsControlsTable.js new file mode 100644 index 000000000..88ebdcf20 --- /dev/null +++ b/frontend/src/components/controls/systemsControlsTable.js @@ -0,0 +1,170 @@ +import React, { useState } from 'react'; +import { DataTable } from '../shared/table'; +import axios from 'axios'; +import moment from 'moment'; +import { IconButton, Link, Button, Chip, Stack } from '@mui/material'; +import Box from '@mui/material/Box'; +import InputLabel from '@mui/material/InputLabel'; +import MenuItem from '@mui/material/MenuItem'; +import Select from '@mui/material/Select'; +import FormControl from '@mui/material/FormControl'; +import DeleteIcon from '@mui/icons-material/Delete'; +import FileDownloadIcon from '@mui/icons-material/FileDownload'; +import EditIcon from '@mui/icons-material/Edit'; +import HistoryIcon from '@mui/icons-material/History'; +import { makeStyles } from "@mui/styles"; + +import '../../../clientStyles.css' + + +import { Badge, Table } from 'react-bootstrap' + +const useStyles = makeStyles((theme) => ({ + name: + { + color: '#337ab7' + }, + headerButton: { + float: 'right', + marginRight: "20px", + // marginLeft: "90rem", + backgroundColor: '#5cb85c', + background: 'linear-gradient(to bottom,#5cb85c 0,#419641 100%)', + width: '20rem', + ".MuiButton-root&:hover": { + color: "#fff" + }, + + }, + addControl: { + float: 'right', + marginRight: "200px", + }, + chip: { + maxWidth: 200, + fontSize: 12, + background: "#eee", + marginTop: -22 + }, +})) + +export const SystemsControlTable = ({ systemId }) => { + const classes = useStyles(); + const [sortby, setSortBy] = useState(["oscal_ctl_id", "asc"]); + const [age, setAge] = React.useState(''); + const [columns, setColumns] = useState([ + { + display: "Access Control", + sortKey: "oscal_ctl_id", + renderCell: (obj) => { + console.log(obj) + const catalogKeyToUpper = obj.oscal_ctl_id.toUpperCase() + return + {catalogKeyToUpper} + + } + }, + { + display: "OSCAL Catalog Key", + sortKey: "oscal_catalog_key", + renderCell: (obj) => { + return {obj.oscal_catalog_key} + } + }, + // { + // display: "Updated", + // sortKey: "updated", + // renderCell: (obj) => { + // return {moment(obj.updated).fromNow()} + // } + // }, + { + // delete button + display: "", + renderCell: (obj) => { + return <> + + + + + + + + } + }, + ]); + const handleChange = (event) => { + setAge(event.target.value); + }; + + const endpoint = (querystrings) => { + return axios.get(`/api/v2/systems/${systemId}/system-controls/`, { params: querystrings }); + }; + + // const endpoint = (querystrings) => { + // return axios.get(`/`, { params: querystrings }); + // } + return + Selected Controls + + {/* + + Select A Control + + + */} + + + + {/* */} + + } + /> +} \ No newline at end of file diff --git a/frontend/src/components/deployments/component.js b/frontend/src/components/deployments/component.js new file mode 100644 index 000000000..a9b84e5c0 --- /dev/null +++ b/frontend/src/components/deployments/component.js @@ -0,0 +1,17 @@ +import React, {useState} from 'react'; +import ReactDOM from 'react-dom'; +import { DeploymentTable } from './deploymentTable'; + +window.deploymentTable = (systemId) => { + + $(window).on('load', function () { + $("#content").show(); + ReactDOM.render( + , + document.getElementById('data-table') + ); + }); + + + +}; diff --git a/frontend/src/components/deployments/deploymentTable.js b/frontend/src/components/deployments/deploymentTable.js new file mode 100644 index 000000000..751600066 --- /dev/null +++ b/frontend/src/components/deployments/deploymentTable.js @@ -0,0 +1,99 @@ +import React, { useState } from 'react'; +import { DataTable } from '../shared/table'; +import axios from 'axios'; +import moment from 'moment'; +import { + Tooltip, + Button, + Glyphicon, + OverlayTrigger, +} from 'react-bootstrap'; + +export const DeploymentTable = ({ systemId }) => { + const [sortby, setSortBy] = useState(["name", "asc"]); + const historyToolTip =( + History + ) + const editToolTip = ( Edit + ) + const [columns, setColumns] = useState([ + { + display: "Name", + sortKey: "name", + renderCell: (obj) => { + + return + {obj.name} + + } + }, + { + display: "Description", + sortKey: "description", + renderCell: (obj) => { + return {obj.description} + } + }, + { + display: "Updated", + sortKey: "updated", + renderCell: (obj) => { + return {moment(obj.updated).fromNow()} + } + }, + { + display: "Actions", + renderCell: (obj) => { + return + + + + + +   +   + + + + + + + + + } + }, + ]); + + const endpoint = (querystrings) => { + return axios.get(`/api/v2/systems/${systemId}/deployments/`, { params: querystrings }); + }; + return + + Deployments + + + + } + /> +} diff --git a/frontend/src/components/elements/element-detail-tabs/component.js b/frontend/src/components/elements/element-detail-tabs/component.js index c784eff5e..94cd37492 100644 --- a/frontend/src/components/elements/element-detail-tabs/component.js +++ b/frontend/src/components/elements/element-detail-tabs/component.js @@ -10,7 +10,6 @@ const { setTags } = componentTagsStateSlice.actions; window.renderElementTags = (elementID, existingTags) => { store.dispatch(setTags(existingTags)); - $(window).on('load', function () { $("#content").show(); }); diff --git a/frontend/src/components/poams/component.js b/frontend/src/components/poams/component.js new file mode 100644 index 000000000..cc2ccb9c8 --- /dev/null +++ b/frontend/src/components/poams/component.js @@ -0,0 +1,17 @@ +import React, {useState} from 'react'; +import ReactDOM from 'react-dom'; +import { PoamsTable } from './poamsTable'; + +window.poamsTable = (systemId) => { + + $(window).on('load', function () { + $("#content").show(); + ReactDOM.render( + , + document.getElementById('poams-table') + ); + }); + + + +}; diff --git a/frontend/src/components/poams/poamsTable.js b/frontend/src/components/poams/poamsTable.js new file mode 100644 index 000000000..20aaaebc6 --- /dev/null +++ b/frontend/src/components/poams/poamsTable.js @@ -0,0 +1,103 @@ +import React, { useState } from 'react'; +import { DataTable } from '../shared/table'; +import axios from 'axios'; +import moment from 'moment'; +import { Button, IconButton, Link, Tooltip } from '@mui/material'; + +import DownloadIcon from '@mui/icons-material/Download'; + +import { makeStyles } from "@mui/styles"; + +const useStyles = makeStyles((theme) => ({ + name: + { + color: 'black' + }, + headerButton: { + float: "right", + }, + newButton: { + // float: 'right', + marginRight: "20px", + // marginLeft: "90rem", + backgroundColor: '#5cb85c', + background: 'linear-gradient(to bottom,#5cb85c 0,#419641 100%)', + width: '20rem', + ".MuiButton-root&:hover": { + color: "#fff" + }, + marginRight: "10rem", + + }, + +})) + +export const PoamsTable = ({ systemId }) => { + const classes = useStyles(); + const [sortby, setSortBy] = useState(["updated", "desc"]); + const [columns, setColumns] = useState([ + { + display: "ID", + renderCell: (obj) => { + return + V-{obj.poam?.poam_id} + + } + }, + { + display: "Weakness Name", + renderCell: (obj) => { + return {obj.poam?.weakness_name} + } + }, + { + display: "Status", + sortKey: "status", + renderCell: (obj) => { + return {obj.status} + } + }, + { + display: "Updated", + sortKey: "updated", + renderCell: (obj) => { + return {moment(obj.updated).fromNow()} + } + }, + ]); + + const endpoint = (querystrings) => { + return axios.get(`/api/v2/systems/${systemId}/poam-statements/`, { params: querystrings }); + }; + return + POA&Ms +
+ + + { + event.preventDefault(); + download_document('{{document.id|escapejs}}', {systemId}) + }} + > + + + +
+ } + /> +} \ No newline at end of file diff --git a/frontend/src/components/portfolios/component.js b/frontend/src/components/portfolios/component.js new file mode 100644 index 000000000..609999f24 --- /dev/null +++ b/frontend/src/components/portfolios/component.js @@ -0,0 +1,14 @@ +import React, {useState} from 'react'; +import ReactDOM from 'react-dom'; +import { PortfolioTable } from './portfolioTable'; + +window.portfolioTable = () => { + + $(window).on('load', function () { + $("#content").show(); + ReactDOM.render( + , + document.getElementById('portfolio-table') + ); + }); +}; \ No newline at end of file diff --git a/frontend/src/components/portfolios/portfolioTable.js b/frontend/src/components/portfolios/portfolioTable.js new file mode 100644 index 000000000..18511680c --- /dev/null +++ b/frontend/src/components/portfolios/portfolioTable.js @@ -0,0 +1,125 @@ +import React, { useState, useEffect } from 'react'; +import { DataTable } from '../shared/table'; +import axios from 'axios'; +import moment from 'moment'; +import { + Tooltip, + Button, + Glyphicon, + OverlayTrigger, +} from 'react-bootstrap'; + + +export const PortfolioTable = () => { + + const [records, setRecords] = useState(0); + const [sortby, setSortBy] = useState(["title", "asc"]); + const editToolTip = ( Edit Portfolio + ) + const [columns, setColumns] = useState([ + { + display: "Portfolio", + sortKey: "title", + renderCell: (obj) => { + return ( + <> + + + +   +   + {obj.title} + + ) + } + }, + { + display: "ID", + sortKey: "id", + renderCell: (obj) => { + return {obj.id} + } + }, + { + display: "Role", + sortKey: "role", + renderCell: (obj) => { + return {obj.role} + } + }, + { + display: "Created", + sortKey: "created", + renderCell: (obj) => { + return {moment(obj.created).fromNow()} + } + }, + { + display: "Manage", + renderCell: (obj) => { + return <> + + + + + + + + } + } + ]); + + const endpoint = (querystrings) => { + return axios.get(`/api/v2/portfolios/`, { params: querystrings }); + }; + + return +
+ Portfolios +
+
+ You have access to {records} portfolios +
+
+ +
+ + + + + } + onResponse={(response)=>{ + setRecords(response.pages.total_records); + }} + /> +} \ No newline at end of file diff --git a/frontend/src/components/projects/project-view/component.js b/frontend/src/components/projects/project-view/component.js index 08d4b0611..f36b6a985 100644 --- a/frontend/src/components/projects/project-view/component.js +++ b/frontend/src/components/projects/project-view/component.js @@ -4,7 +4,7 @@ import { projectTagsStateSlice } from "./slice" import { Provider } from "react-redux"; import store from "../../../store"; import {TagDropdown} from "../../shared/tag-dropdown"; - +// import { ProjectsTable } from "./projectsTable"; const { setTags } = projectTagsStateSlice.actions; @@ -26,3 +26,15 @@ window.renderProjectTags = (projectID, existingTags) => { ); }; + +// window.projectsTable = (systemId) => { +// $(window).on('load', function () { +// $("#content").show(); +// ReactDOM.render( +// , +// document.getElementById('system-projects') +// ); +// }); +// }; + + diff --git a/frontend/src/components/projects/project-view/menu.js b/frontend/src/components/projects/project-view/menu.js index 24a4c97d9..0747a025e 100644 --- a/frontend/src/components/projects/project-view/menu.js +++ b/frontend/src/components/projects/project-view/menu.js @@ -1,4 +1,5 @@ import React, { useCallback } from 'react'; +import moment from 'moment'; import { ProSidebar, Menu, MenuItem, SubMenu, SidebarHeader } from 'react-pro-sidebar'; import Grid from '@mui/material/Grid'; import HomeIcon from '@mui/icons-material/Home'; @@ -58,11 +59,12 @@ window.projectMenu = (data) => { Project ID: {data.project.id}   |   System ID: {data.project.system.id}   |   Version: {data.project.version}
{data.project.version_comment}

+

Last Updated: {moment(data.project.updated).fromNow()}

Portfolio: {data.project.portfolio.title}

- } id="menu-btn-project-home" onClick={() => redirect(`${window.origin}${data.urls.home}`)} diff --git a/frontend/src/components/projects/project-view/projectsTable.js b/frontend/src/components/projects/project-view/projectsTable.js new file mode 100644 index 000000000..f69cc2993 --- /dev/null +++ b/frontend/src/components/projects/project-view/projectsTable.js @@ -0,0 +1,88 @@ +import React, { useState } from 'react'; +import { DataTable } from '../../shared/table'; +import axios from 'axios'; +import moment from 'moment'; +import { Button, Chip, IconButton, Link, Stack, Tooltip } from '@mui/material'; +import Box from '@mui/material/Box'; +import InputLabel from '@mui/material/InputLabel'; +import MenuItem from '@mui/material/MenuItem'; +import FormControl from '@mui/material/FormControl'; +import Select from '@mui/material/Select'; +import DeleteIcon from '@mui/icons-material/Delete'; +import { makeStyles } from "@mui/styles"; +import slugify from 'react-slugify'; +const useStyles = makeStyles((theme) => ({ + name: + { + color: 'black' + }, + headerButton: { + float: 'right', + marginRight: "20px", + // marginLeft: "90rem", + backgroundColor: '#5cb85c', + background: 'linear-gradient(to bottom,#5cb85c 0,#419641 100%)', + width: '20rem', + ".MuiButton-root&:hover": { + color: "#fff" + }, + }, +})) +export const ProjectsTable = () => { + + const classes = useStyles(); + const [sortby, setSortBy] = useState(["root_task__title_override", "asc"]); + const [columns, setColumns] = useState([ + { + display: "Project", + sortKey: "root_task__title_override", + renderCell: (obj) => { + return + {obj.root_task.title_override} + + } + }, + { + display: "ID", + sortKey: "id", + renderCell: (obj) => { + return + {obj.id} + + } + }, + { + display: "Portfolio", + sortKey: "portfolio__title", + renderCell: (obj) => { + return {obj.portfolio.title} + } + }, + { + display: "Role", + renderCell: (obj) => { + return + } + }, + { + display: "Updated", + sortKey: "root_task__updated", + renderCell: (obj) => { + return {moment(obj.root_task.updated).fromNow()} + } + }, + ]); + + const endpoint = (querystrings) => { + return axios.get(`/api/v2/projects/`, { params: querystrings }); + }; + console.log(endpoint()) + return + Projects + } + /> +} \ No newline at end of file diff --git a/frontend/src/components/selectedcomponents/components.js b/frontend/src/components/selectedcomponents/components.js new file mode 100644 index 000000000..c61d79796 --- /dev/null +++ b/frontend/src/components/selectedcomponents/components.js @@ -0,0 +1,14 @@ +import React, {useState} from 'react'; +import ReactDOM from 'react-dom'; +import { SelectedComponentsTable } from './selectedComponentsTable'; + +window.systemsComponentsTable = (systemId) => { + + $(window).on('load', function () { + $("#content").show(); + ReactDOM.render( + , + document.getElementById('systems-components-table') + ); + }); +}; diff --git a/frontend/src/components/selectedcomponents/selectedComponentsTable.js b/frontend/src/components/selectedcomponents/selectedComponentsTable.js new file mode 100644 index 000000000..5fb244f61 --- /dev/null +++ b/frontend/src/components/selectedcomponents/selectedComponentsTable.js @@ -0,0 +1,114 @@ +import React, { useState } from 'react'; +import { DataTable } from '../shared/table'; +import axios from 'axios'; +import { Chip, IconButton, Link, Stack, Tooltip } from '@mui/material'; + +import DeleteIcon from '@mui/icons-material/Delete'; + +import { makeStyles } from "@mui/styles"; + +const useStyles = makeStyles((theme) => ({ + name: + { + color: 'black' + }, + headerButton: { + float: 'right', + marginRight: "20px", + // marginLeft: "90rem", + backgroundColor: '#5cb85c', + background: 'linear-gradient(to bottom,#5cb85c 0,#419641 100%)', + width: '20rem', + ".MuiButton-root&:hover": { + color: "#fff" + }, + + }, +})) + +export const SelectedComponentsTable = ({ systemId }) => { + + + const classes = useStyles(); + const [sortby, setSortBy] = useState(["poam_id", "asc"]); + + const [columns, setColumns] = useState([ + { + display: "ID", + sortKey: "poam_id", + renderCell: (obj) => { + console.log(obj) + return + {obj.poam_id} + + } + }, + { + display: "", + sortKey: "", + renderCell: (obj) => { + // console.log(obj) + return + + + } + }, + { + display: "", + sortKey: "", + renderCell: (obj) => { + return + + + } + }, + { + display: "Training course", + sortKey: "training", + renderCell: (obj, index) => { + // console.log('index: ', index) + return training course + } + }, + { + display: "Controls", + sortKey: "controls", + renderCell: (obj) => { + return controls + } + }, + { + display: "Actions", + renderCell: (obj) => { + return <> + + + + + + + + + } + }, + ]); + + const endpoint = (querystrings) => { + return axios.get(`/api/v2/systems/${systemId}/components/`, { params: querystrings }); + }; + + const [availableComponentsToAdd, setAvailableComponentsToAdd] = React.useState(''); + + const handleChange = (event) => { + setAvailableComponentsToAdd(event.target.value); + }; + return + Selected components + + } + /> +} \ No newline at end of file diff --git a/frontend/src/components/shared/table.js b/frontend/src/components/shared/table.js new file mode 100644 index 000000000..52f3d68fb --- /dev/null +++ b/frontend/src/components/shared/table.js @@ -0,0 +1,220 @@ +/* eslint-disable no-unused-vars */ +/* eslint-disable react-hooks/exhaustive-deps */ + +import React, { useEffect, useState } from "react"; +import PropTypes from "prop-types"; +import TablePagination from '@mui/material/TablePagination'; +import TextField from '@mui/material/TextField'; +import { useDebouncedCallback } from "use-debounce"; +import '../../../clientStyles.css' +import { + Table, + Row, + Grid, + Col, + +} + from 'react-bootstrap'; + +export const columnDataTypes = { + STRING: 1, + TIMESTAMP: 2, + STATUS: 3, + BOOL: 4, +}; + + + +export const DataTable = (props) => { + const formatOrderBy = (data) => { + return `${data[1] === "desc" ? "-" : ""}${data[0]}`; + }; + + const [querystrings, setQuerystrings] = useState({ + orderBy: formatOrderBy(props.sortby), + search: "", + page: 1, + count: 10, + // rollup: true + }); + const [columns, setColumns] = useState(props.columns); + const [sorting, setSorting] = useState(props.sortby); + + const [response, setResponse] = useState({ data: [], rollup: {} }); + const debounceDuration = 250; + + + useEffect(() => { + debouncedFetch(querystrings); + }, [querystrings]); + + const error = false; + const fetch = (args) => { + if (props.rollups.length > 0) { + args.rollup = "true"; + } + let cleanedArgs = {}; + Object.keys(args).forEach((prop) => { + if (typeof args[prop] === "string") { + if (args[prop].length > 0) { + cleanedArgs[prop] = args[prop]; + } + } else { + cleanedArgs[prop] = args[prop]; + } + }); + return props.endpoint(cleanedArgs).then((resp) => { + setResponse(resp.data); + props.onResponse(resp.data); + }); + }; + + const debouncedFetch = useDebouncedCallback((args) => { + fetch(args); + }, debounceDuration); + + if (error) { + return
{error.toString()}
; + } + + const handlePageChange = (event, page) => { + setQuerystrings({ ...querystrings, page: page + 1 }); // starts at 0, but backend starts at 1 + }; + const handleRowsPerPageChange = (event) => { + setQuerystrings({ ...querystrings, count: event.target.value }); + }; + const handleSetSorting = (str) => { + if (str !== 'undefined') { + let sortTmp = [str, sorting[1] === "desc" ? "asc" : "desc"]; + setSorting(sortTmp); + setQuerystrings({ ...querystrings, orderBy: formatOrderBy(sortTmp) }); + } + }; + + const doSearch = (val) => { + setQuerystrings({ ...querystrings, search: val, page: 1 }); + }; + + const getValue = (obj, str) => { + str = str.replace(/\[(\w+)\]/g, ".$1"); // convert indexes to properties + str = str.replace(/^\./, ""); // strip a leading dot + const a = str.split("."); + for (let i = 0, n = a.length; i < n; ++i) { + let k = a[i]; + if (k in obj) { + obj = obj[k]; + } else { + return; + } + } + return obj; + }; + + return ( +
+ + + + + {props.header.props.children} + + + + + + + + {props.searchEnabled && ( + <> + doSearch(e.target.value)} + /> + + + {response.data && + response.data.map((obj, i) => ( + + {columns.map((col, index) => { + return ( + + ) + })} + + ))} + +
+ {col.renderCell(obj)} +
+ + + )} +
+
+
+
+ + ); +}; + +DataTable.defaultProps = { + searchEnabled: true, + rollups: [], +}; + +DataTable.propTypes = { + className: PropTypes.string, + endpoint: PropTypes.func.isRequired, + columns: PropTypes.array.isRequired, + sortby: PropTypes.array.isRequired, + searchEnabled: PropTypes.bool, + onRowClick: PropTypes.func, +}; + +export default DataTable; diff --git a/frontend/src/index.css b/frontend/src/index.css index 93f1d093b..dc8965b68 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -4,7 +4,6 @@ @import 'react-pro-sidebar/dist/css/styles.css'; - body{ overflow-x: hidden; } diff --git a/frontend/src/index.js b/frontend/src/index.js index 54b436fd8..12cedbd03 100644 --- a/frontend/src/index.js +++ b/frontend/src/index.js @@ -2,3 +2,10 @@ import './index.css' import './components/elements/element-detail-tabs/component'; import './components/projects/project-view/component'; import './components/projects/project-view/menu'; +import './components/deployments/component'; +import './components/selectedcomponents/components'; +import './components/poams/component'; +import './components/controls/component'; +import './components/portfolios/component'; +import './components/assessments/component' +import './components/components/component'; \ No newline at end of file diff --git a/frontend/src/store.js b/frontend/src/store.js index 30e3ce474..1aeedb4a3 100644 --- a/frontend/src/store.js +++ b/frontend/src/store.js @@ -5,7 +5,6 @@ import { import {componentTagsStateSlice} from "./components/elements/element-detail-tabs/slice" import {projectTagsStateSlice} from "./components/projects/project-view/slice"; - const middleware = [ ...getDefaultMiddleware(), /*YOUR CUSTOM MIDDLEWARES HERE*/ diff --git a/frontend/yarn.lock b/frontend/yarn.lock deleted file mode 100644 index b3b23a828..000000000 --- a/frontend/yarn.lock +++ /dev/null @@ -1,3186 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13": - "integrity" "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==" - "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/highlight" "^7.12.13" - -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.13.15", "@babel/compat-data@^7.13.8": - "integrity" "sha512-ltnibHKR1VnrU4ymHyQ/CXtNXI6yZC0oJThyW78Hft8XndANwi+9H+UIklBDraIjFEJzw8wmcM427oDd9KS5wA==" - "resolved" "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.15.tgz" - "version" "7.13.15" - -"@babel/core@^7.0.0", "@babel/core@^7.13.16": - "integrity" "sha512-sXHpixBiWWFti0AV2Zq7avpTasr6sIAu7Y396c608541qAU2ui4a193m0KSQmfPSKFZLnQ3cvlKDOm3XkuXm3Q==" - "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.13.16.tgz" - "version" "7.13.16" - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.13.16" - "@babel/helper-compilation-targets" "^7.13.16" - "@babel/helper-module-transforms" "^7.13.14" - "@babel/helpers" "^7.13.16" - "@babel/parser" "^7.13.16" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.13.15" - "@babel/types" "^7.13.16" - "convert-source-map" "^1.7.0" - "debug" "^4.1.0" - "gensync" "^1.0.0-beta.2" - "json5" "^2.1.2" - "semver" "^6.3.0" - "source-map" "^0.5.0" - -"@babel/generator@^7.13.16": - "integrity" "sha512-grBBR75UnKOcUWMp8WoDxNsWCFl//XCK6HWTrBQKTr5SV9f5g0pNOjdyzi/DTBv12S9GnYPInIXQBTky7OXEMg==" - "resolved" "https://registry.npmjs.org/@babel/generator/-/generator-7.13.16.tgz" - "version" "7.13.16" - dependencies: - "@babel/types" "^7.13.16" - "jsesc" "^2.5.1" - "source-map" "^0.5.0" - -"@babel/helper-annotate-as-pure@^7.10.4", "@babel/helper-annotate-as-pure@^7.12.13": - "integrity" "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==" - "resolved" "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/types" "^7.12.13" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.12.13": - "integrity" "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==" - "resolved" "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-explode-assignable-expression" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.13.13", "@babel/helper-compilation-targets@^7.13.16", "@babel/helper-compilation-targets@^7.13.8": - "integrity" "sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==" - "resolved" "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz" - "version" "7.13.16" - dependencies: - "@babel/compat-data" "^7.13.15" - "@babel/helper-validator-option" "^7.12.17" - "browserslist" "^4.14.5" - "semver" "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.13.0": - "integrity" "sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw==" - "resolved" "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz" - "version" "7.13.11" - dependencies: - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-member-expression-to-functions" "^7.13.0" - "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/helper-replace-supers" "^7.13.0" - "@babel/helper-split-export-declaration" "^7.12.13" - -"@babel/helper-create-regexp-features-plugin@^7.12.13": - "integrity" "sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==" - "resolved" "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz" - "version" "7.12.17" - dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" - "regexpu-core" "^4.7.1" - -"@babel/helper-define-polyfill-provider@^0.2.0": - "integrity" "sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw==" - "resolved" "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz" - "version" "0.2.0" - dependencies: - "@babel/helper-compilation-targets" "^7.13.0" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/traverse" "^7.13.0" - "debug" "^4.1.1" - "lodash.debounce" "^4.0.8" - "resolve" "^1.14.2" - "semver" "^6.1.2" - -"@babel/helper-explode-assignable-expression@^7.12.13": - "integrity" "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==" - "resolved" "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz" - "version" "7.13.0" - dependencies: - "@babel/types" "^7.13.0" - -"@babel/helper-function-name@^7.12.13": - "integrity" "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==" - "resolved" "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-get-function-arity" "^7.12.13" - "@babel/template" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/helper-get-function-arity@^7.12.13": - "integrity" "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==" - "resolved" "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/types" "^7.12.13" - -"@babel/helper-hoist-variables@^7.13.0": - "integrity" "sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg==" - "resolved" "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz" - "version" "7.13.16" - dependencies: - "@babel/traverse" "^7.13.15" - "@babel/types" "^7.13.16" - -"@babel/helper-member-expression-to-functions@^7.13.0", "@babel/helper-member-expression-to-functions@^7.13.12": - "integrity" "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==" - "resolved" "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz" - "version" "7.13.12" - dependencies: - "@babel/types" "^7.13.12" - -"@babel/helper-module-imports@^7.0.0-beta.49", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.13.12": - "integrity" "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==" - "resolved" "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz" - "version" "7.13.12" - dependencies: - "@babel/types" "^7.13.12" - -"@babel/helper-module-transforms@^7.13.0", "@babel/helper-module-transforms@^7.13.14": - "integrity" "sha512-QuU/OJ0iAOSIatyVZmfqB0lbkVP0kDRiKj34xy+QNsnVZi/PA6BoSoreeqnxxa9EHFAIL0R9XOaAR/G9WlIy5g==" - "resolved" "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.14.tgz" - "version" "7.13.14" - dependencies: - "@babel/helper-module-imports" "^7.13.12" - "@babel/helper-replace-supers" "^7.13.12" - "@babel/helper-simple-access" "^7.13.12" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/helper-validator-identifier" "^7.12.11" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.13.13" - "@babel/types" "^7.13.14" - -"@babel/helper-optimise-call-expression@^7.12.13": - "integrity" "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==" - "resolved" "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/types" "^7.12.13" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - "integrity" "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz" - "version" "7.13.0" - -"@babel/helper-remap-async-to-generator@^7.13.0": - "integrity" "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==" - "resolved" "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz" - "version" "7.13.0" - dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" - "@babel/helper-wrap-function" "^7.13.0" - "@babel/types" "^7.13.0" - -"@babel/helper-replace-supers@^7.12.13", "@babel/helper-replace-supers@^7.13.0", "@babel/helper-replace-supers@^7.13.12": - "integrity" "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==" - "resolved" "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz" - "version" "7.13.12" - dependencies: - "@babel/helper-member-expression-to-functions" "^7.13.12" - "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/traverse" "^7.13.0" - "@babel/types" "^7.13.12" - -"@babel/helper-simple-access@^7.12.13", "@babel/helper-simple-access@^7.13.12": - "integrity" "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==" - "resolved" "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz" - "version" "7.13.12" - dependencies: - "@babel/types" "^7.13.12" - -"@babel/helper-skip-transparent-expression-wrappers@^7.12.1": - "integrity" "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==" - "resolved" "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz" - "version" "7.12.1" - dependencies: - "@babel/types" "^7.12.1" - -"@babel/helper-split-export-declaration@^7.12.13": - "integrity" "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==" - "resolved" "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/types" "^7.12.13" - -"@babel/helper-validator-identifier@^7.12.11": - "integrity" "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz" - "version" "7.12.11" - -"@babel/helper-validator-option@^7.12.17": - "integrity" "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz" - "version" "7.12.17" - -"@babel/helper-wrap-function@^7.13.0": - "integrity" "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==" - "resolved" "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz" - "version" "7.13.0" - dependencies: - "@babel/helper-function-name" "^7.12.13" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.13.0" - "@babel/types" "^7.13.0" - -"@babel/helpers@^7.13.16": - "integrity" "sha512-Eal4Gce4kGijo1/TGJdqp3WuhllaMLSrW6XcL0ulyUAQOuxHcCafZE8KHg9857gcTehsm/v7RcOx2+jp0Ryjsg==" - "resolved" "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.17.tgz" - "version" "7.13.17" - dependencies: - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.13.17" - "@babel/types" "^7.13.17" - -"@babel/highlight@^7.12.13": - "integrity" "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==" - "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz" - "version" "7.13.10" - dependencies: - "@babel/helper-validator-identifier" "^7.12.11" - "chalk" "^2.0.0" - "js-tokens" "^4.0.0" - -"@babel/parser@^7.12.13", "@babel/parser@^7.13.16": - "integrity" "sha512-6bAg36mCwuqLO0hbR+z7PHuqWiCeP7Dzg73OpQwsAB1Eb8HnGEz5xYBzCfbu+YjoaJsJs+qheDxVAuqbt3ILEw==" - "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.13.16.tgz" - "version" "7.13.16" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.13.12": - "integrity" "sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz" - "version" "7.13.12" - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" - "@babel/plugin-proposal-optional-chaining" "^7.13.12" - -"@babel/plugin-proposal-async-generator-functions@^7.13.15": - "integrity" "sha512-VapibkWzFeoa6ubXy/NgV5U2U4MVnUlvnx6wo1XhlsaTrLYWE0UFpDQsVrmn22q5CzeloqJ8gEMHSKxuee6ZdA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.15.tgz" - "version" "7.13.15" - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-remap-async-to-generator" "^7.13.0" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-class-properties@^7.13.0": - "integrity" "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz" - "version" "7.13.0" - dependencies: - "@babel/helper-create-class-features-plugin" "^7.13.0" - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-proposal-dynamic-import@^7.13.8": - "integrity" "sha512-ONWKj0H6+wIRCkZi9zSbZtE/r73uOhMVHh256ys0UzfM7I3d4n+spZNWjOnJv2gzopumP2Wxi186vI8N0Y2JyQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz" - "version" "7.13.8" - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.12.13": - "integrity" "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.13.8": - "integrity" "sha512-w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz" - "version" "7.13.8" - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.13.8": - "integrity" "sha512-aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz" - "version" "7.13.8" - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8": - "integrity" "sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz" - "version" "7.13.8" - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.12.13": - "integrity" "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.13.8": - "integrity" "sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz" - "version" "7.13.8" - dependencies: - "@babel/compat-data" "^7.13.8" - "@babel/helper-compilation-targets" "^7.13.8" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.13.0" - -"@babel/plugin-proposal-optional-catch-binding@^7.13.8": - "integrity" "sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz" - "version" "7.13.8" - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.13.12": - "integrity" "sha512-fcEdKOkIB7Tf4IxrgEVeFC4zeJSTr78no9wTdBuZZbqF64kzllU0ybo2zrzm7gUQfxGhBgq4E39oRs8Zx/RMYQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.12.tgz" - "version" "7.13.12" - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-methods@^7.13.0": - "integrity" "sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz" - "version" "7.13.0" - dependencies: - "@babel/helper-create-class-features-plugin" "^7.13.0" - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-proposal-unicode-property-regex@^7.12.13", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - "integrity" "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-async-generators@^7.8.4": - "integrity" "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" - "version" "7.8.4" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13": - "integrity" "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - "integrity" "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - "integrity" "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-json-strings@^7.8.3": - "integrity" "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.12.13": - "integrity" "sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - "integrity" "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" - "version" "7.10.4" - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - "integrity" "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4": - "integrity" "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" - "version" "7.10.4" - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - "integrity" "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - "integrity" "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - "integrity" "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-top-level-await@^7.12.13": - "integrity" "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-arrow-functions@^7.13.0": - "integrity" "sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz" - "version" "7.13.0" - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-transform-async-to-generator@^7.13.0": - "integrity" "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz" - "version" "7.13.0" - dependencies: - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-remap-async-to-generator" "^7.13.0" - -"@babel/plugin-transform-block-scoped-functions@^7.12.13": - "integrity" "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-block-scoping@^7.12.13": - "integrity" "sha512-ad3PHUxGnfWF4Efd3qFuznEtZKoBp0spS+DgqzVzRPV7urEBvPLue3y2j80w4Jf2YLzZHj8TOv/Lmvdmh3b2xg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.13.16.tgz" - "version" "7.13.16" - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-transform-classes@^7.13.0": - "integrity" "sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz" - "version" "7.13.0" - dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-replace-supers" "^7.13.0" - "@babel/helper-split-export-declaration" "^7.12.13" - "globals" "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.13.0": - "integrity" "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz" - "version" "7.13.0" - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-transform-destructuring@^7.13.0": - "integrity" "sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz" - "version" "7.13.17" - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-transform-dotall-regex@^7.12.13", "@babel/plugin-transform-dotall-regex@^7.4.4": - "integrity" "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-duplicate-keys@^7.12.13": - "integrity" "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-exponentiation-operator@^7.12.13": - "integrity" "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-for-of@^7.13.0": - "integrity" "sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz" - "version" "7.13.0" - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-transform-function-name@^7.12.13": - "integrity" "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-literals@^7.12.13": - "integrity" "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-member-expression-literals@^7.12.13": - "integrity" "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-modules-amd@^7.13.0": - "integrity" "sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz" - "version" "7.13.0" - dependencies: - "@babel/helper-module-transforms" "^7.13.0" - "@babel/helper-plugin-utils" "^7.13.0" - "babel-plugin-dynamic-import-node" "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.13.8": - "integrity" "sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz" - "version" "7.13.8" - dependencies: - "@babel/helper-module-transforms" "^7.13.0" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-simple-access" "^7.12.13" - "babel-plugin-dynamic-import-node" "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.13.8": - "integrity" "sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz" - "version" "7.13.8" - dependencies: - "@babel/helper-hoist-variables" "^7.13.0" - "@babel/helper-module-transforms" "^7.13.0" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-validator-identifier" "^7.12.11" - "babel-plugin-dynamic-import-node" "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.13.0": - "integrity" "sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz" - "version" "7.13.0" - dependencies: - "@babel/helper-module-transforms" "^7.13.0" - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.12.13": - "integrity" "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.13" - -"@babel/plugin-transform-new-target@^7.12.13": - "integrity" "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-object-super@^7.12.13": - "integrity" "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-replace-supers" "^7.12.13" - -"@babel/plugin-transform-parameters@^7.13.0": - "integrity" "sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz" - "version" "7.13.0" - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-transform-property-literals@^7.12.13": - "integrity" "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-react-display-name@^7.12.13": - "integrity" "sha512-MprESJzI9O5VnJZrL7gg1MpdqmiFcUv41Jc7SahxYsNP2kDkFqClxxTZq+1Qv4AFCamm+GXMRDQINNn+qrxmiA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-react-jsx-development@^7.12.17": - "integrity" "sha512-BPjYV86SVuOaudFhsJR1zjgxxOhJDt6JHNoD48DxWEIxUCAMjV1ys6DYw4SDYZh0b1QsS2vfIA9t/ZsQGsDOUQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.17.tgz" - "version" "7.12.17" - dependencies: - "@babel/plugin-transform-react-jsx" "^7.12.17" - -"@babel/plugin-transform-react-jsx@^7.12.17", "@babel/plugin-transform-react-jsx@^7.13.12": - "integrity" "sha512-jcEI2UqIcpCqB5U5DRxIl0tQEProI2gcu+g8VTIqxLO5Iidojb4d77q+fwGseCvd8af/lJ9masp4QWzBXFE2xA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.13.12.tgz" - "version" "7.13.12" - dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" - "@babel/helper-module-imports" "^7.13.12" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-jsx" "^7.12.13" - "@babel/types" "^7.13.12" - -"@babel/plugin-transform-react-pure-annotations@^7.12.1": - "integrity" "sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz" - "version" "7.12.1" - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-regenerator@^7.13.15": - "integrity" "sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz" - "version" "7.13.15" - dependencies: - "regenerator-transform" "^0.14.2" - -"@babel/plugin-transform-reserved-words@^7.12.13": - "integrity" "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-shorthand-properties@^7.12.13": - "integrity" "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-spread@^7.13.0": - "integrity" "sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz" - "version" "7.13.0" - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" - -"@babel/plugin-transform-sticky-regex@^7.12.13": - "integrity" "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-template-literals@^7.13.0": - "integrity" "sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz" - "version" "7.13.0" - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-transform-typeof-symbol@^7.12.13": - "integrity" "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-unicode-escapes@^7.12.13": - "integrity" "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-unicode-regex@^7.12.13": - "integrity" "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/preset-env@^7.13.15": - "integrity" "sha512-D4JAPMXcxk69PKe81jRJ21/fP/uYdcTZ3hJDF5QX2HSI9bBxxYw/dumdR6dGumhjxlprHPE4XWoPaqzZUVy2MA==" - "resolved" "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.13.15.tgz" - "version" "7.13.15" - dependencies: - "@babel/compat-data" "^7.13.15" - "@babel/helper-compilation-targets" "^7.13.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-validator-option" "^7.12.17" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.13.12" - "@babel/plugin-proposal-async-generator-functions" "^7.13.15" - "@babel/plugin-proposal-class-properties" "^7.13.0" - "@babel/plugin-proposal-dynamic-import" "^7.13.8" - "@babel/plugin-proposal-export-namespace-from" "^7.12.13" - "@babel/plugin-proposal-json-strings" "^7.13.8" - "@babel/plugin-proposal-logical-assignment-operators" "^7.13.8" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8" - "@babel/plugin-proposal-numeric-separator" "^7.12.13" - "@babel/plugin-proposal-object-rest-spread" "^7.13.8" - "@babel/plugin-proposal-optional-catch-binding" "^7.13.8" - "@babel/plugin-proposal-optional-chaining" "^7.13.12" - "@babel/plugin-proposal-private-methods" "^7.13.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.12.13" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.12.13" - "@babel/plugin-transform-arrow-functions" "^7.13.0" - "@babel/plugin-transform-async-to-generator" "^7.13.0" - "@babel/plugin-transform-block-scoped-functions" "^7.12.13" - "@babel/plugin-transform-block-scoping" "^7.12.13" - "@babel/plugin-transform-classes" "^7.13.0" - "@babel/plugin-transform-computed-properties" "^7.13.0" - "@babel/plugin-transform-destructuring" "^7.13.0" - "@babel/plugin-transform-dotall-regex" "^7.12.13" - "@babel/plugin-transform-duplicate-keys" "^7.12.13" - "@babel/plugin-transform-exponentiation-operator" "^7.12.13" - "@babel/plugin-transform-for-of" "^7.13.0" - "@babel/plugin-transform-function-name" "^7.12.13" - "@babel/plugin-transform-literals" "^7.12.13" - "@babel/plugin-transform-member-expression-literals" "^7.12.13" - "@babel/plugin-transform-modules-amd" "^7.13.0" - "@babel/plugin-transform-modules-commonjs" "^7.13.8" - "@babel/plugin-transform-modules-systemjs" "^7.13.8" - "@babel/plugin-transform-modules-umd" "^7.13.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.13" - "@babel/plugin-transform-new-target" "^7.12.13" - "@babel/plugin-transform-object-super" "^7.12.13" - "@babel/plugin-transform-parameters" "^7.13.0" - "@babel/plugin-transform-property-literals" "^7.12.13" - "@babel/plugin-transform-regenerator" "^7.13.15" - "@babel/plugin-transform-reserved-words" "^7.12.13" - "@babel/plugin-transform-shorthand-properties" "^7.12.13" - "@babel/plugin-transform-spread" "^7.13.0" - "@babel/plugin-transform-sticky-regex" "^7.12.13" - "@babel/plugin-transform-template-literals" "^7.13.0" - "@babel/plugin-transform-typeof-symbol" "^7.12.13" - "@babel/plugin-transform-unicode-escapes" "^7.12.13" - "@babel/plugin-transform-unicode-regex" "^7.12.13" - "@babel/preset-modules" "^0.1.4" - "@babel/types" "^7.13.14" - "babel-plugin-polyfill-corejs2" "^0.2.0" - "babel-plugin-polyfill-corejs3" "^0.2.0" - "babel-plugin-polyfill-regenerator" "^0.2.0" - "core-js-compat" "^3.9.0" - "semver" "^6.3.0" - -"@babel/preset-modules@^0.1.4": - "integrity" "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==" - "resolved" "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz" - "version" "0.1.4" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - "esutils" "^2.0.2" - -"@babel/preset-react@^7.13.13": - "integrity" "sha512-gx+tDLIE06sRjKJkVtpZ/t3mzCDOnPG+ggHZG9lffUbX8+wC739x20YQc9V35Do6ZAxaUc/HhVHIiOzz5MvDmA==" - "resolved" "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.13.13.tgz" - "version" "7.13.13" - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-validator-option" "^7.12.17" - "@babel/plugin-transform-react-display-name" "^7.12.13" - "@babel/plugin-transform-react-jsx" "^7.13.12" - "@babel/plugin-transform-react-jsx-development" "^7.12.17" - "@babel/plugin-transform-react-pure-annotations" "^7.12.1" - -"@babel/runtime@^7.1.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.15.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": - "integrity" "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==" - "resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "regenerator-runtime" "^0.13.4" - -"@babel/template@^7.12.13": - "integrity" "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==" - "resolved" "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/parser" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/traverse@^7.13.0", "@babel/traverse@^7.13.13", "@babel/traverse@^7.13.15", "@babel/traverse@^7.13.17": - "integrity" "sha512-BMnZn0R+X6ayqm3C3To7o1j7Q020gWdqdyP50KEoVqaCO2c/Im7sYZSmVgvefp8TTMQ+9CtwuBp0Z1CZ8V3Pvg==" - "resolved" "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.17.tgz" - "version" "7.13.17" - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.13.16" - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/parser" "^7.13.16" - "@babel/types" "^7.13.17" - "debug" "^4.1.0" - "globals" "^11.1.0" - -"@babel/types@^7.0.0-beta.49", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.13.14", "@babel/types@^7.13.16", "@babel/types@^7.13.17", "@babel/types@^7.4.4": - "integrity" "sha512-RawydLgxbOPDlTLJNtoIypwdmAy//uQIzlKt2+iBiJaRlVuI6QLUxVAyWGNfOzp8Yu4L4lLIacoCyTNtpb4wiA==" - "resolved" "https://registry.npmjs.org/@babel/types/-/types-7.13.17.tgz" - "version" "7.13.17" - dependencies: - "@babel/helper-validator-identifier" "^7.12.11" - "to-fast-properties" "^2.0.0" - -"@discoveryjs/json-ext@^0.5.0": - "integrity" "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==" - "resolved" "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz" - "version" "0.5.2" - -"@emotion/babel-plugin@^11.3.0": - "integrity" "sha512-UZKwBV2rADuhRp+ZOGgNWg2eYgbzKzQXfQPtJbu/PLy8onurxlNCLvxMQEvlr1/GudguPI5IU9qIY1+2z1M5bA==" - "resolved" "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.3.0.tgz" - "version" "11.3.0" - dependencies: - "@babel/helper-module-imports" "^7.12.13" - "@babel/plugin-syntax-jsx" "^7.12.13" - "@babel/runtime" "^7.13.10" - "@emotion/hash" "^0.8.0" - "@emotion/memoize" "^0.7.5" - "@emotion/serialize" "^1.0.2" - "babel-plugin-macros" "^2.6.1" - "convert-source-map" "^1.5.0" - "escape-string-regexp" "^4.0.0" - "find-root" "^1.1.0" - "source-map" "^0.5.7" - "stylis" "^4.0.3" - -"@emotion/cache@^11.0.0", "@emotion/cache@^11.4.0": - "integrity" "sha512-Zx70bjE7LErRO9OaZrhf22Qye1y4F7iDl+ITjet0J+i+B88PrAOBkKvaAWhxsZf72tDLajwCgfCjJ2dvH77C3g==" - "resolved" "https://registry.npmjs.org/@emotion/cache/-/cache-11.4.0.tgz" - "version" "11.4.0" - dependencies: - "@emotion/memoize" "^0.7.4" - "@emotion/sheet" "^1.0.0" - "@emotion/utils" "^1.0.0" - "@emotion/weak-memoize" "^0.2.5" - "stylis" "^4.0.3" - -"@emotion/hash@^0.8.0": - "integrity" "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" - "resolved" "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz" - "version" "0.8.0" - -"@emotion/is-prop-valid@^1.1.0": - "integrity" "sha512-9RkilvXAufQHsSsjQ3PIzSns+pxuX4EW8EbGeSPjZMHuMx6z/MOzb9LpqNieQX4F3mre3NWS2+X3JNRHTQztUQ==" - "resolved" "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "@emotion/memoize" "^0.7.4" - -"@emotion/memoize@^0.7.4", "@emotion/memoize@^0.7.5": - "integrity" "sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==" - "resolved" "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.5.tgz" - "version" "0.7.5" - -"@emotion/react@^11.0.0-rc.0", "@emotion/react@^11.1.1", "@emotion/react@^11.4.1": - "integrity" "sha512-pRegcsuGYj4FCdZN6j5vqCALkNytdrKw3TZMekTzNXixRg4wkLsU5QEaBG5LC6l01Vppxlp7FE3aTHpIG5phLg==" - "resolved" "https://registry.npmjs.org/@emotion/react/-/react-11.4.1.tgz" - "version" "11.4.1" - dependencies: - "@babel/runtime" "^7.13.10" - "@emotion/cache" "^11.4.0" - "@emotion/serialize" "^1.0.2" - "@emotion/sheet" "^1.0.2" - "@emotion/utils" "^1.0.0" - "@emotion/weak-memoize" "^0.2.5" - "hoist-non-react-statics" "^3.3.1" - -"@emotion/serialize@^1.0.2": - "integrity" "sha512-95MgNJ9+/ajxU7QIAruiOAdYNjxZX7G2mhgrtDWswA21VviYIRP1R5QilZ/bDY42xiKsaktP4egJb3QdYQZi1A==" - "resolved" "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "@emotion/hash" "^0.8.0" - "@emotion/memoize" "^0.7.4" - "@emotion/unitless" "^0.7.5" - "@emotion/utils" "^1.0.0" - "csstype" "^3.0.2" - -"@emotion/sheet@^1.0.0", "@emotion/sheet@^1.0.2": - "integrity" "sha512-QQPB1B70JEVUHuNtzjHftMGv6eC3Y9wqavyarj4x4lg47RACkeSfNo5pxIOKizwS9AEFLohsqoaxGQj4p0vSIw==" - "resolved" "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.0.2.tgz" - "version" "1.0.2" - -"@emotion/styled@^11.3.0": - "integrity" "sha512-fUoLcN3BfMiLlRhJ8CuPUMEyKkLEoM+n+UyAbnqGEsCd5IzKQ7VQFLtzpJOaCD2/VR2+1hXQTnSZXVJeiTNltA==" - "resolved" "https://registry.npmjs.org/@emotion/styled/-/styled-11.3.0.tgz" - "version" "11.3.0" - dependencies: - "@babel/runtime" "^7.13.10" - "@emotion/babel-plugin" "^11.3.0" - "@emotion/is-prop-valid" "^1.1.0" - "@emotion/serialize" "^1.0.2" - "@emotion/utils" "^1.0.0" - -"@emotion/unitless@^0.7.5": - "integrity" "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" - "resolved" "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz" - "version" "0.7.5" - -"@emotion/utils@^1.0.0": - "integrity" "sha512-mQC2b3XLDs6QCW+pDQDiyO/EdGZYOygE8s5N5rrzjSI4M3IejPE/JPndCBwRT9z982aqQNi6beWs1UeayrQxxA==" - "resolved" "https://registry.npmjs.org/@emotion/utils/-/utils-1.0.0.tgz" - "version" "1.0.0" - -"@emotion/weak-memoize@^0.2.5": - "integrity" "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" - "resolved" "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz" - "version" "0.2.5" - -"@fortawesome/fontawesome-common-types@^0.2.35": - "integrity" "sha512-IHUfxSEDS9dDGqYwIW7wTN6tn/O8E0n5PcAHz9cAaBoZw6UpG20IG/YM3NNLaGPwPqgjBAFjIURzqoQs3rrtuw==" - "resolved" "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.35.tgz" - "version" "0.2.35" - -"@fortawesome/fontawesome-svg-core@^1.2.35": - "integrity" "sha512-uLEXifXIL7hnh2sNZQrIJWNol7cTVIzwI+4qcBIq9QWaZqUblm0IDrtSqbNg+3SQf8SMGHkiSigD++rHmCHjBg==" - "resolved" "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.35.tgz" - "version" "1.2.35" - dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.35" - -"@fortawesome/free-solid-svg-icons@^5.15.3": - "integrity" "sha512-XPeeu1IlGYqz4VWGRAT5ukNMd4VHUEEJ7ysZ7pSSgaEtNvSo+FLurybGJVmiqkQdK50OkSja2bfZXOeyMGRD8Q==" - "resolved" "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.3.tgz" - "version" "5.15.3" - dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.35" - -"@fortawesome/react-fontawesome@^0.1.14": - "integrity" "sha512-4wqNb0gRLVaBm/h+lGe8UfPPivcbuJ6ecI4hIgW0LjI7kzpYB9FkN0L9apbVzg+lsBdcTf0AlBtODjcSX5mmKA==" - "resolved" "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.14.tgz" - "version" "0.1.14" - dependencies: - "prop-types" "^15.7.2" - -"@mui/core@5.0.0-alpha.50": - "integrity" "sha512-szmmzbyAjEQku17IoEWs7t77n0Kr4zVnT5fREfMd+CnCA4YDifr68ccGJfWaeoGp5Zw/JmfKjQJXLY4GgT6i/g==" - "resolved" "https://registry.npmjs.org/@mui/core/-/core-5.0.0-alpha.50.tgz" - "version" "5.0.0-alpha.50" - dependencies: - "@babel/runtime" "^7.15.4" - "@emotion/is-prop-valid" "^1.1.0" - "@mui/utils" "^5.0.1" - "clsx" "^1.1.1" - "prop-types" "^15.7.2" - "react-is" "^17.0.2" - -"@mui/icons-material@^5.0.3": - "integrity" "sha512-Lktn+4GNnXdVrOCUUvNNvOD9VyrGazWBsJy0BQeQgBe/+IjFMdlcNrDEUIlGlA5ZXOq7Mr/Mv9Os02mgF65jiw==" - "resolved" "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.0.3.tgz" - "version" "5.0.3" - dependencies: - "@babel/runtime" "^7.15.4" - -"@mui/material@^5.0.0-rc.0", "@mui/material@^5.0.3": - "integrity" "sha512-Qj2hwSi63qrYRJuHrUFdN83lCT6HXyLzpCniDTvK7NlqXCnpy4F3Gg0hRJTnO4hNqTTBV+SCOKTSbfuzHl/dnQ==" - "resolved" "https://registry.npmjs.org/@mui/material/-/material-5.0.3.tgz" - "version" "5.0.3" - dependencies: - "@babel/runtime" "^7.15.4" - "@mui/core" "5.0.0-alpha.50" - "@mui/system" "^5.0.3" - "@mui/types" "^7.0.0" - "@mui/utils" "^5.0.1" - "@popperjs/core" "^2.4.4" - "@types/react-transition-group" "^4.4.3" - "clsx" "^1.1.1" - "csstype" "^3.0.9" - "hoist-non-react-statics" "^3.3.2" - "prop-types" "^15.7.2" - "react-is" "^17.0.2" - "react-transition-group" "^4.4.2" - -"@mui/private-theming@^5.0.1": - "integrity" "sha512-R8Cf2+32cG1OXFAqTighA5Mx9R5BQ57cN1ZVaNgfgdbI87Yig2fVMdFSPrw3txcjKlnwsvFJF8AdwQMqq1tJ3Q==" - "resolved" "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "@babel/runtime" "^7.15.4" - "@mui/utils" "^5.0.1" - "prop-types" "^15.7.2" - -"@mui/styled-engine@^5.0.1": - "integrity" "sha512-j40nCbaKr1HAZYqpX61XvZYsadYskjo3u6+pRFFaewSViAkkD1rjjbubpnh15nqVfYmijtHMZJ9/l1x1hamvfQ==" - "resolved" "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "@babel/runtime" "^7.15.4" - "@emotion/cache" "^11.4.0" - "prop-types" "^15.7.2" - -"@mui/system@^5.0.3": - "integrity" "sha512-pNkW9p6Dj/ch3YCKjvrXrBhKsAyJ1/l273Q0hh60hhTKHJXgKBVONQ8r7l1fFHtufI0NNz6UGMVJooIXg4JJtA==" - "resolved" "https://registry.npmjs.org/@mui/system/-/system-5.0.3.tgz" - "version" "5.0.3" - dependencies: - "@babel/runtime" "^7.15.4" - "@mui/private-theming" "^5.0.1" - "@mui/styled-engine" "^5.0.1" - "@mui/types" "^7.0.0" - "@mui/utils" "^5.0.1" - "clsx" "^1.1.1" - "csstype" "^3.0.9" - "prop-types" "^15.7.2" - -"@mui/types@^7.0.0": - "integrity" "sha512-M/tkF2pZ4uoPhZ8pnNhlVnOFtz6F3dnYKIsnj8MuXKT6d26IE2u0UjA8B0275ggN74dR9rlHG5xJt5jgDx/Ung==" - "resolved" "https://registry.npmjs.org/@mui/types/-/types-7.0.0.tgz" - "version" "7.0.0" - -"@mui/utils@^5.0.1": - "integrity" "sha512-GWO104N+o9KG5fKiTEYnAg7kONKEg3vLN+VROAU0f3it6lFGLCVPcQYex/1gJ4QAy96u6Ez8/Hmmhi1+3cX0tQ==" - "resolved" "https://registry.npmjs.org/@mui/utils/-/utils-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "@babel/runtime" "^7.15.4" - "@types/prop-types" "^15.7.4" - "@types/react-is" "^16.7.1 || ^17.0.0" - "prop-types" "^15.7.2" - "react-is" "^17.0.2" - -"@polka/url@^1.0.0-next.9": - "integrity" "sha512-6RglhutqrGFMO1MNUXp95RBuYIuc8wTnMAV5MUhLmjTOy78ncwOw7RgeQ/HeymkKXRhZd0s2DNrM1rL7unk3MQ==" - "resolved" "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.12.tgz" - "version" "1.0.0-next.12" - -"@popperjs/core@^2.4.0", "@popperjs/core@^2.4.4": - "integrity" "sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ==" - "resolved" "https://registry.npmjs.org/@popperjs/core/-/core-2.10.2.tgz" - "version" "2.10.2" - -"@reduxjs/toolkit@^1.5.1": - "integrity" "sha512-HbfI/hOVrAcMGAYsMWxw3UJyIoAS9JTdwddsjlr5w3S50tXhWb+EMyhIw+IAvCVCLETkzdjgH91RjDSYZekVBA==" - "resolved" "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.6.2.tgz" - "version" "1.6.2" - dependencies: - "immer" "^9.0.6" - "redux" "^4.1.0" - "redux-thunk" "^2.3.0" - "reselect" "^4.0.0" - -"@seznam/compose-react-refs@^1.0.5": - "integrity" "sha512-izzOXQfeQLonzrIQb8u6LQ8dk+ymz3WXTIXjvOlTXHq6sbzROg3NWU+9TTAOpEoK9Bth24/6F/XrfHJ5yR5n6Q==" - "resolved" "https://registry.npmjs.org/@seznam/compose-react-refs/-/compose-react-refs-1.0.6.tgz" - "version" "1.0.6" - -"@types/eslint-scope@^3.7.0": - "integrity" "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==" - "resolved" "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz" - "version" "3.7.0" - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - "integrity" "sha512-kUEPnMKrqbtpCq/KTaGFFKAcz6Ethm2EjCoKIDaCmfRBWLbFuTcOJfTlorwbnboXBzahqWLgUp1BQeKHiJzPUQ==" - "resolved" "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.10.tgz" - "version" "7.2.10" - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^0.0.47": - "integrity" "sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==" - "resolved" "https://registry.npmjs.org/@types/estree/-/estree-0.0.47.tgz" - "version" "0.0.47" - -"@types/hoist-non-react-statics@^3.3.0": - "integrity" "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==" - "resolved" "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz" - "version" "3.3.1" - dependencies: - "@types/react" "*" - "hoist-non-react-statics" "^3.3.0" - -"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6": - "integrity" "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==" - "resolved" "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz" - "version" "7.0.7" - -"@types/node@*": - "integrity" "sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-15.0.1.tgz" - "version" "15.0.1" - -"@types/parse-json@^4.0.0": - "integrity" "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - "resolved" "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" - "version" "4.0.0" - -"@types/prop-types@*", "@types/prop-types@^15.7.4": - "integrity" "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==" - "resolved" "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz" - "version" "15.7.4" - -"@types/react-is@^16.7.1 || ^17.0.0": - "integrity" "sha512-2+L0ilcAEG8udkDnvx8B0upwXFBbNnVwOsSCTxW3SDOkmar9NyEeLG0ZLa3uOEw9zyYf/fQapcnfXAVmDKlyHw==" - "resolved" "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.2.tgz" - "version" "17.0.2" - dependencies: - "@types/react" "*" - -"@types/react-redux@^7.1.16": - "integrity" "sha512-f/FKzIrZwZk7YEO9E1yoxIuDNRiDducxkFlkw/GNMGEnK9n4K8wJzlJBghpSuOVDgEUHoDkDF7Gi9lHNQR4siw==" - "resolved" "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.16.tgz" - "version" "7.1.16" - dependencies: - "@types/hoist-non-react-statics" "^3.3.0" - "@types/react" "*" - "hoist-non-react-statics" "^3.3.0" - "redux" "^4.0.0" - -"@types/react-transition-group@^4.4.3": - "integrity" "sha512-fUx5muOWSYP8Bw2BUQ9M9RK9+W1XBK/7FLJ8PTQpnpTEkn0ccyMffyEQvan4C3h53gHdx7KE5Qrxi/LnUGQtdg==" - "resolved" "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.3.tgz" - "version" "4.4.3" - dependencies: - "@types/react" "*" - -"@types/react@*", "@types/react@^16.8.6 || ^17.0.0": - "integrity" "sha512-onz2BqScSFMoTRdJUZUDD/7xrusM8hBA2Fktk2qgaTYPCgPvWnDEgkrOs8hhPUf2jfcIXkJ5yK6VfYormJS3Jw==" - "resolved" "https://registry.npmjs.org/@types/react/-/react-17.0.4.tgz" - "version" "17.0.4" - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - "csstype" "^3.0.2" - -"@types/scheduler@*": - "integrity" "sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA==" - "resolved" "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.1.tgz" - "version" "0.16.1" - -"@webassemblyjs/ast@1.11.0": - "integrity" "sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz" - "version" "1.11.0" - dependencies: - "@webassemblyjs/helper-numbers" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - -"@webassemblyjs/floating-point-hex-parser@1.11.0": - "integrity" "sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz" - "version" "1.11.0" - -"@webassemblyjs/helper-api-error@1.11.0": - "integrity" "sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz" - "version" "1.11.0" - -"@webassemblyjs/helper-buffer@1.11.0": - "integrity" "sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz" - "version" "1.11.0" - -"@webassemblyjs/helper-numbers@1.11.0": - "integrity" "sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz" - "version" "1.11.0" - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.0" - "@webassemblyjs/helper-api-error" "1.11.0" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.0": - "integrity" "sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz" - "version" "1.11.0" - -"@webassemblyjs/helper-wasm-section@1.11.0": - "integrity" "sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz" - "version" "1.11.0" - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-buffer" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - "@webassemblyjs/wasm-gen" "1.11.0" - -"@webassemblyjs/ieee754@1.11.0": - "integrity" "sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz" - "version" "1.11.0" - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.0": - "integrity" "sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.0.tgz" - "version" "1.11.0" - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.0": - "integrity" "sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.0.tgz" - "version" "1.11.0" - -"@webassemblyjs/wasm-edit@1.11.0": - "integrity" "sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz" - "version" "1.11.0" - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-buffer" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - "@webassemblyjs/helper-wasm-section" "1.11.0" - "@webassemblyjs/wasm-gen" "1.11.0" - "@webassemblyjs/wasm-opt" "1.11.0" - "@webassemblyjs/wasm-parser" "1.11.0" - "@webassemblyjs/wast-printer" "1.11.0" - -"@webassemblyjs/wasm-gen@1.11.0": - "integrity" "sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz" - "version" "1.11.0" - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - "@webassemblyjs/ieee754" "1.11.0" - "@webassemblyjs/leb128" "1.11.0" - "@webassemblyjs/utf8" "1.11.0" - -"@webassemblyjs/wasm-opt@1.11.0": - "integrity" "sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz" - "version" "1.11.0" - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-buffer" "1.11.0" - "@webassemblyjs/wasm-gen" "1.11.0" - "@webassemblyjs/wasm-parser" "1.11.0" - -"@webassemblyjs/wasm-parser@1.11.0": - "integrity" "sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz" - "version" "1.11.0" - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-api-error" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - "@webassemblyjs/ieee754" "1.11.0" - "@webassemblyjs/leb128" "1.11.0" - "@webassemblyjs/utf8" "1.11.0" - -"@webassemblyjs/wast-printer@1.11.0": - "integrity" "sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz" - "version" "1.11.0" - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@xtuc/long" "4.2.2" - -"@webpack-cli/configtest@^1.0.2": - "integrity" "sha512-3OBzV2fBGZ5TBfdW50cha1lHDVf9vlvRXnjpVbJBa20pSZQaSkMJZiwA8V2vD9ogyeXn8nU5s5A6mHyf5jhMzA==" - "resolved" "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.2.tgz" - "version" "1.0.2" - -"@webpack-cli/info@^1.2.3": - "integrity" "sha512-lLek3/T7u40lTqzCGpC6CAbY6+vXhdhmwFRxZLMnRm6/sIF/7qMpT8MocXCRQfz0JAh63wpbXLMnsQ5162WS7Q==" - "resolved" "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.3.tgz" - "version" "1.2.3" - dependencies: - "envinfo" "^7.7.3" - -"@webpack-cli/serve@^1.3.1": - "integrity" "sha512-0qXvpeYO6vaNoRBI52/UsbcaBydJCggoBBnIo/ovQQdn6fug0BgwsjorV1hVS7fMqGVTZGcVxv8334gjmbj5hw==" - "resolved" "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.3.1.tgz" - "version" "1.3.1" - -"@xtuc/ieee754@^1.2.0": - "integrity" "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - "resolved" "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" - "version" "1.2.0" - -"@xtuc/long@4.2.2": - "integrity" "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - "resolved" "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" - "version" "4.2.2" - -"acorn-walk@^8.0.0": - "integrity" "sha512-mjmzmv12YIG/G8JQdQuz2MUDShEJ6teYpT5bmWA4q7iwoGen8xtt3twF3OvzIUl+Q06aWIjvnwQUKvQ6TtMRjg==" - "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.1.0.tgz" - "version" "8.1.0" - -"acorn@^8.0.4", "acorn@^8.2.1": - "integrity" "sha512-z716cpm5TX4uzOzILx8PavOE6C6DKshHDw1aQN52M/yNSqE9s5O8SMfyhCCfCJ3HmTL0NkVOi+8a/55T7YB3bg==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.2.1.tgz" - "version" "8.2.1" - -"ajv-keywords@^3.5.2": - "integrity" "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" - "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" - "version" "3.5.2" - -"ajv@^6.12.4", "ajv@^6.12.5": - "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - "version" "6.12.6" - dependencies: - "fast-deep-equal" "^3.1.1" - "fast-json-stable-stringify" "^2.0.0" - "json-schema-traverse" "^0.4.1" - "uri-js" "^4.2.2" - -"ansi-colors@^4.1.1": - "integrity" "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" - "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" - "version" "4.1.1" - -"ansi-styles@^3.2.1": - "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - "version" "3.2.1" - dependencies: - "color-convert" "^1.9.0" - -"ansi-styles@^4.1.0": - "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "color-convert" "^2.0.1" - -"async@~2.6.0": - "integrity" "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==" - "resolved" "https://registry.npmjs.org/async/-/async-2.6.3.tgz" - "version" "2.6.3" - dependencies: - "lodash" "^4.17.14" - -"axios@^0.21.1": - "integrity" "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==" - "resolved" "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz" - "version" "0.21.4" - dependencies: - "follow-redirects" "^1.14.0" - -"babel-loader@^8.2.2": - "integrity" "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==" - "resolved" "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz" - "version" "8.2.2" - dependencies: - "find-cache-dir" "^3.3.1" - "loader-utils" "^1.4.0" - "make-dir" "^3.1.0" - "schema-utils" "^2.6.5" - -"babel-plugin-dynamic-import-node@^2.3.3": - "integrity" "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" - "version" "2.3.3" - dependencies: - "object.assign" "^4.1.0" - -"babel-plugin-lodash@^3.3.4": - "integrity" "sha512-yDZLjK7TCkWl1gpBeBGmuaDIFhZKmkoL+Cu2MUUjv5VxUZx/z7tBGBCBcQs5RI1Bkz5LLmNdjx7paOyQtMovyg==" - "resolved" "https://registry.npmjs.org/babel-plugin-lodash/-/babel-plugin-lodash-3.3.4.tgz" - "version" "3.3.4" - dependencies: - "@babel/helper-module-imports" "^7.0.0-beta.49" - "@babel/types" "^7.0.0-beta.49" - "glob" "^7.1.1" - "lodash" "^4.17.10" - "require-package-name" "^2.0.1" - -"babel-plugin-macros@^2.6.1": - "integrity" "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==" - "resolved" "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz" - "version" "2.8.0" - dependencies: - "@babel/runtime" "^7.7.2" - "cosmiconfig" "^6.0.0" - "resolve" "^1.12.0" - -"babel-plugin-polyfill-corejs2@^0.2.0": - "integrity" "sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz" - "version" "0.2.0" - dependencies: - "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.2.0" - "semver" "^6.1.1" - -"babel-plugin-polyfill-corejs3@^0.2.0": - "integrity" "sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz" - "version" "0.2.0" - dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.0" - "core-js-compat" "^3.9.1" - -"babel-plugin-polyfill-regenerator@^0.2.0": - "integrity" "sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz" - "version" "0.2.0" - dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.0" - -"balanced-match@^1.0.0": - "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - "version" "1.0.2" - -"base64-js@^1.1.2": - "integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - "version" "1.5.1" - -"big.js@^5.2.2": - "integrity" "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - "resolved" "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" - "version" "5.2.2" - -"brace-expansion@^1.1.7": - "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" - "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - "version" "1.1.11" - dependencies: - "balanced-match" "^1.0.0" - "concat-map" "0.0.1" - -"brotli-webpack-plugin@^1.1.0": - "integrity" "sha512-byxKhV7L/OsN9urBgcD8Gkgq0OW61KYdSBwN249vT77VRl+9iz6TlWDXhg45rwYynZYetr+WRVuUvQ5WzwcYDQ==" - "resolved" "https://registry.npmjs.org/brotli-webpack-plugin/-/brotli-webpack-plugin-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "async" "~2.6.0" - "webpack-sources" "^1.0.2" - optionalDependencies: - "brotli" "^1.3.1" - "iltorb" "^2.0.1" - -"brotli@^1.3.1": - "integrity" "sha1-UlqcrU/LqWR119OI9q7LE+7VL0Y=" - "resolved" "https://registry.npmjs.org/brotli/-/brotli-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "base64-js" "^1.1.2" - -"browserslist@^4.14.5", "browserslist@^4.16.4": - "integrity" "sha512-C2HAjrM1AI/djrpAUU/tr4pml1DqLIzJKSLDBXBrNErl9ZCCTXdhwxdJjYc16953+mBWf7Lw+uUJgpgb8cN71A==" - "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.16.5.tgz" - "version" "4.16.5" - dependencies: - "caniuse-lite" "^1.0.30001214" - "colorette" "^1.2.2" - "electron-to-chromium" "^1.3.719" - "escalade" "^3.1.1" - "node-releases" "^1.1.71" - -"buffer-from@^1.0.0": - "integrity" "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz" - "version" "1.1.1" - -"call-bind@^1.0.0": - "integrity" "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==" - "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "function-bind" "^1.1.1" - "get-intrinsic" "^1.0.2" - -"callsites@^3.0.0": - "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - "version" "3.1.0" - -"camelcase@^6.2.0": - "integrity" "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" - "version" "6.2.0" - -"caniuse-lite@^1.0.30001214": - "integrity" "sha512-0ASydOWSy3bB88FbDpJSTt+PfDwnMqrym3yRZfqG8EXSQ06OZhF+q5wgYP/EN+jJMERItNcDQUqMyNjzZ+r5+Q==" - "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001218.tgz" - "version" "1.0.30001218" - -"chalk@^2.0.0": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^4.1.0": - "integrity" "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz" - "version" "4.1.1" - dependencies: - "ansi-styles" "^4.1.0" - "supports-color" "^7.1.0" - -"chrome-trace-event@^1.0.2": - "integrity" "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - "resolved" "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" - "version" "1.0.3" - -"classnames@^2.2.6": - "integrity" "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" - "resolved" "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz" - "version" "2.3.1" - -"clone-deep@^4.0.1": - "integrity" "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==" - "resolved" "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "is-plain-object" "^2.0.4" - "kind-of" "^6.0.2" - "shallow-clone" "^3.0.0" - -"clsx@^1.1.1": - "integrity" "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==" - "resolved" "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz" - "version" "1.1.1" - -"color-convert@^1.9.0": - "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - "version" "1.9.3" - dependencies: - "color-name" "1.1.3" - -"color-convert@^2.0.1": - "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "color-name" "~1.1.4" - -"color-name@~1.1.4": - "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - "version" "1.1.4" - -"color-name@1.1.3": - "integrity" "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - "version" "1.1.3" - -"colorette@^1.2.1", "colorette@^1.2.2": - "integrity" "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==" - "resolved" "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz" - "version" "1.2.2" - -"commander@^2.20.0": - "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - "version" "2.20.3" - -"commander@^6.0.0": - "integrity" "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==" - "resolved" "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz" - "version" "6.2.1" - -"commander@^6.2.0": - "integrity" "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==" - "resolved" "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz" - "version" "6.2.1" - -"commander@^7.0.0": - "integrity" "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - "resolved" "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" - "version" "7.2.0" - -"commondir@^1.0.1": - "integrity" "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" - "resolved" "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" - "version" "1.0.1" - -"concat-map@0.0.1": - "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - "version" "0.0.1" - -"convert-source-map@^1.5.0", "convert-source-map@^1.7.0": - "integrity" "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==" - "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz" - "version" "1.7.0" - dependencies: - "safe-buffer" "~5.1.1" - -"core-js-compat@^3.9.0", "core-js-compat@^3.9.1": - "integrity" "sha512-3wsN9YZJohOSDCjVB0GequOyHax8zFiogSX3XWLE28M1Ew7dTU57tgHjIylSBKSIouwmLBp3g61sKMz/q3xEGA==" - "resolved" "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.11.0.tgz" - "version" "3.11.0" - dependencies: - "browserslist" "^4.16.4" - "semver" "7.0.0" - -"cosmiconfig@^6.0.0": - "integrity" "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==" - "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "@types/parse-json" "^4.0.0" - "import-fresh" "^3.1.0" - "parse-json" "^5.0.0" - "path-type" "^4.0.0" - "yaml" "^1.7.2" - -"cross-spawn@^7.0.3": - "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - "version" "7.0.3" - dependencies: - "path-key" "^3.1.0" - "shebang-command" "^2.0.0" - "which" "^2.0.1" - -"css-loader@^5.2.4": - "integrity" "sha512-OFYGyINCKkdQsTrSYxzGSFnGS4gNjcXkKkQgWxK138jgnPt+lepxdjSZNc8sHAl5vP3DhsJUxufWIjOwI8PMMw==" - "resolved" "https://registry.npmjs.org/css-loader/-/css-loader-5.2.4.tgz" - "version" "5.2.4" - dependencies: - "camelcase" "^6.2.0" - "icss-utils" "^5.1.0" - "loader-utils" "^2.0.0" - "postcss" "^8.2.10" - "postcss-modules-extract-imports" "^3.0.0" - "postcss-modules-local-by-default" "^4.0.0" - "postcss-modules-scope" "^3.0.0" - "postcss-modules-values" "^4.0.0" - "postcss-value-parser" "^4.1.0" - "schema-utils" "^3.0.0" - "semver" "^7.3.5" - -"cssesc@^3.0.0": - "integrity" "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - "resolved" "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" - "version" "3.0.0" - -"csstype@^3.0.2", "csstype@^3.0.9": - "integrity" "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" - "resolved" "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz" - "version" "3.0.9" - -"debug@^4.1.0", "debug@^4.1.1": - "integrity" "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" - "version" "4.3.1" - dependencies: - "ms" "2.1.2" - -"define-properties@^1.1.3": - "integrity" "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==" - "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "object-keys" "^1.0.12" - -"dom-helpers@^5.0.1": - "integrity" "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==" - "resolved" "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz" - "version" "5.2.1" - dependencies: - "@babel/runtime" "^7.8.7" - "csstype" "^3.0.2" - -"duplexer@^0.1.2": - "integrity" "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - "resolved" "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" - "version" "0.1.2" - -"electron-to-chromium@^1.3.719": - "integrity" "sha512-L+WXyXI7c7+G1V8ANzRsPI5giiimLAUDC6Zs1ojHHPhYXb3k/iTABFmWjivEtsWrRQymjnO66/rO2ZTABGdmWg==" - "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.723.tgz" - "version" "1.3.723" - -"emojis-list@^3.0.0": - "integrity" "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - "resolved" "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" - "version" "3.0.0" - -"enhanced-resolve@^5.8.0": - "integrity" "sha512-Sl3KRpJA8OpprrtaIswVki3cWPiPKxXuFxJXBp+zNb6s6VwNWwFRUdtmzd2ReUut8n+sCPx7QCtQ7w5wfJhSgQ==" - "resolved" "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.0.tgz" - "version" "5.8.0" - dependencies: - "graceful-fs" "^4.2.4" - "tapable" "^2.2.0" - -"enquirer@^2.3.6": - "integrity" "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==" - "resolved" "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" - "version" "2.3.6" - dependencies: - "ansi-colors" "^4.1.1" - -"envinfo@^7.7.3": - "integrity" "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==" - "resolved" "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz" - "version" "7.8.1" - -"error-ex@^1.3.1": - "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" - "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "is-arrayish" "^0.2.1" - -"es-module-lexer@^0.4.0": - "integrity" "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==" - "resolved" "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz" - "version" "0.4.1" - -"escalade@^3.1.1": - "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - "version" "3.1.1" - -"escape-string-regexp@^1.0.5": - "integrity" "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - "version" "1.0.5" - -"escape-string-regexp@^4.0.0": - "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - "version" "4.0.0" - -"eslint-scope@^5.1.1": - "integrity" "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==" - "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "esrecurse" "^4.3.0" - "estraverse" "^4.1.1" - -"esrecurse@^4.3.0": - "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==" - "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "estraverse" "^5.2.0" - -"estraverse@^4.1.1": - "integrity" "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - "version" "4.3.0" - -"estraverse@^5.2.0": - "integrity" "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" - "version" "5.2.0" - -"esutils@^2.0.2": - "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - "version" "2.0.3" - -"events@^3.2.0": - "integrity" "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - "resolved" "https://registry.npmjs.org/events/-/events-3.3.0.tgz" - "version" "3.3.0" - -"execa@^5.0.0": - "integrity" "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==" - "resolved" "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "cross-spawn" "^7.0.3" - "get-stream" "^6.0.0" - "human-signals" "^2.1.0" - "is-stream" "^2.0.0" - "merge-stream" "^2.0.0" - "npm-run-path" "^4.0.1" - "onetime" "^5.1.2" - "signal-exit" "^3.0.3" - "strip-final-newline" "^2.0.0" - -"fast-deep-equal@^3.1.1": - "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - "version" "3.1.3" - -"fast-json-stable-stringify@^2.0.0": - "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - "version" "2.1.0" - -"fastest-levenshtein@^1.0.12": - "integrity" "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==" - "resolved" "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz" - "version" "1.0.12" - -"file-loader@^6.2.0": - "integrity" "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==" - "resolved" "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" - "version" "6.2.0" - dependencies: - "loader-utils" "^2.0.0" - "schema-utils" "^3.0.0" - -"find-cache-dir@^3.3.1": - "integrity" "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==" - "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz" - "version" "3.3.1" - dependencies: - "commondir" "^1.0.1" - "make-dir" "^3.0.2" - "pkg-dir" "^4.1.0" - -"find-root@^1.1.0": - "integrity" "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - "resolved" "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" - "version" "1.1.0" - -"find-up@^4.0.0": - "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "locate-path" "^5.0.0" - "path-exists" "^4.0.0" - -"follow-redirects@^1.14.0": - "integrity" "sha512-0vRwd7RKQBTt+mgu87mtYeofLFZpTas2S9zY+jIeuLJMNvudIgF52nr19q40HOwH5RrhWIPuj9puybzSJiRrVg==" - "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.0.tgz" - "version" "1.14.0" - -"fs.realpath@^1.0.0": - "integrity" "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - "version" "1.0.0" - -"function-bind@^1.1.1": - "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - "version" "1.1.1" - -"gensync@^1.0.0-beta.2": - "integrity" "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - "resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - "version" "1.0.0-beta.2" - -"get-intrinsic@^1.0.2": - "integrity" "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==" - "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "function-bind" "^1.1.1" - "has" "^1.0.3" - "has-symbols" "^1.0.1" - -"get-stream@^6.0.0": - "integrity" "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" - "version" "6.0.1" - -"glob-to-regexp@^0.4.1": - "integrity" "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - "resolved" "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" - "version" "0.4.1" - -"glob@^7.0.0", "glob@^7.1.1": - "integrity" "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==" - "resolved" "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" - "version" "7.1.6" - dependencies: - "fs.realpath" "^1.0.0" - "inflight" "^1.0.4" - "inherits" "2" - "minimatch" "^3.0.4" - "once" "^1.3.0" - "path-is-absolute" "^1.0.0" - -"globals@^11.1.0": - "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - "version" "11.12.0" - -"graceful-fs@^4.1.2", "graceful-fs@^4.2.4": - "integrity" "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" - "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz" - "version" "4.2.6" - -"gzip-size@^6.0.0": - "integrity" "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==" - "resolved" "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "duplexer" "^0.1.2" - -"has-flag@^3.0.0": - "integrity" "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - "version" "3.0.0" - -"has-flag@^4.0.0": - "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - "version" "4.0.0" - -"has-symbols@^1.0.1": - "integrity" "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" - "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz" - "version" "1.0.2" - -"has@^1.0.3": - "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" - "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "function-bind" "^1.1.1" - -"history@^4.9.0": - "integrity" "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==" - "resolved" "https://registry.npmjs.org/history/-/history-4.10.1.tgz" - "version" "4.10.1" - dependencies: - "@babel/runtime" "^7.1.2" - "loose-envify" "^1.2.0" - "resolve-pathname" "^3.0.0" - "tiny-invariant" "^1.0.2" - "tiny-warning" "^1.0.0" - "value-equal" "^1.0.1" - -"hoist-non-react-statics@^3.1.0", "hoist-non-react-statics@^3.3.0", "hoist-non-react-statics@^3.3.1", "hoist-non-react-statics@^3.3.2": - "integrity" "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==" - "resolved" "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" - "version" "3.3.2" - dependencies: - "react-is" "^16.7.0" - -"human-signals@^2.1.0": - "integrity" "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" - "version" "2.1.0" - -"icss-utils@^5.0.0", "icss-utils@^5.1.0": - "integrity" "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==" - "resolved" "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" - "version" "5.1.0" - -"immer@^9.0.6": - "integrity" "sha512-G95ivKpy+EvVAnAab4fVa4YGYn24J1SpEktnJX7JJ45Bd7xqME/SCplFzYFmTbrkwZbQ4xJK1xMTUYBkN6pWsQ==" - "resolved" "https://registry.npmjs.org/immer/-/immer-9.0.6.tgz" - "version" "9.0.6" - -"import-fresh@^3.1.0": - "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==" - "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "parent-module" "^1.0.0" - "resolve-from" "^4.0.0" - -"import-local@^3.0.2": - "integrity" "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==" - "resolved" "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "pkg-dir" "^4.2.0" - "resolve-cwd" "^3.0.0" - -"inflight@^1.0.4": - "integrity" "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=" - "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "once" "^1.3.0" - "wrappy" "1" - -"inherits@2": - "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - "version" "2.0.4" - -"interpret@^2.2.0": - "integrity" "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==" - "resolved" "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz" - "version" "2.2.0" - -"is-arrayish@^0.2.1": - "integrity" "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - "version" "0.2.1" - -"is-core-module@^2.2.0": - "integrity" "sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw==" - "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "has" "^1.0.3" - -"is-plain-object@^2.0.4": - "integrity" "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==" - "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "isobject" "^3.0.1" - -"is-stream@^2.0.0": - "integrity" "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" - "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz" - "version" "2.0.0" - -"isarray@0.0.1": - "integrity" "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - "resolved" "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - "version" "0.0.1" - -"isexe@^2.0.0": - "integrity" "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - "version" "2.0.0" - -"isobject@^3.0.1": - "integrity" "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - "resolved" "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" - "version" "3.0.1" - -"jest-worker@^26.6.2": - "integrity" "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==" - "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz" - "version" "26.6.2" - dependencies: - "@types/node" "*" - "merge-stream" "^2.0.0" - "supports-color" "^7.0.0" - -"js-tokens@^3.0.0 || ^4.0.0", "js-tokens@^4.0.0": - "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - "version" "4.0.0" - -"jsesc@^2.5.1": - "integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - "version" "2.5.2" - -"jsesc@~0.5.0": - "integrity" "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" - "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" - "version" "0.5.0" - -"json-parse-better-errors@^1.0.2": - "integrity" "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - "resolved" "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" - "version" "1.0.2" - -"json-parse-even-better-errors@^2.3.0": - "integrity" "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - "resolved" "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - "version" "2.3.1" - -"json-schema-traverse@^0.4.1": - "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - "version" "0.4.1" - -"json5@^1.0.1": - "integrity" "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==" - "resolved" "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "minimist" "^1.2.0" - -"json5@^2.1.2": - "integrity" "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==" - "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "minimist" "^1.2.5" - -"kind-of@^6.0.2": - "integrity" "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - "version" "6.0.3" - -"lines-and-columns@^1.1.6": - "integrity" "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" - "resolved" "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz" - "version" "1.1.6" - -"loader-runner@^4.2.0": - "integrity" "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==" - "resolved" "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz" - "version" "4.2.0" - -"loader-utils@^1.4.0": - "integrity" "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==" - "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "big.js" "^5.2.2" - "emojis-list" "^3.0.0" - "json5" "^1.0.1" - -"loader-utils@^2.0.0": - "integrity" "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==" - "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "big.js" "^5.2.2" - "emojis-list" "^3.0.0" - "json5" "^2.1.2" - -"locate-path@^5.0.0": - "integrity" "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "p-locate" "^4.1.0" - -"lodash-webpack-plugin@^0.11.6": - "integrity" "sha512-nsHN/+IxZK/C425vGC8pAxkKJ8KQH2+NJnhDul14zYNWr6HJcA95w+oRR7Cp0oZpOdMplDZXmjVROp8prPk7ig==" - "resolved" "https://registry.npmjs.org/lodash-webpack-plugin/-/lodash-webpack-plugin-0.11.6.tgz" - "version" "0.11.6" - dependencies: - "lodash" "^4.17.20" - -"lodash.debounce@^4.0.8": - "integrity" "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" - "resolved" "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" - "version" "4.0.8" - -"lodash@^4.17.10", "lodash@^4.17.14", "lodash@^4.17.20", "lodash@^4.17.21": - "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - "version" "4.17.21" - -"loose-envify@^1.1.0", "loose-envify@^1.2.0", "loose-envify@^1.3.1", "loose-envify@^1.4.0": - "integrity" "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==" - "resolved" "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "js-tokens" "^3.0.0 || ^4.0.0" - -"lru-cache@^6.0.0": - "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "yallist" "^4.0.0" - -"make-dir@^3.0.2", "make-dir@^3.1.0": - "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" - "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "semver" "^6.0.0" - -"memoize-one@^5.0.0": - "integrity" "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" - "resolved" "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz" - "version" "5.2.1" - -"merge-stream@^2.0.0": - "integrity" "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - "resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - "version" "2.0.0" - -"mime-db@1.47.0": - "integrity" "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==" - "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz" - "version" "1.47.0" - -"mime-types@^2.1.27": - "integrity" "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==" - "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz" - "version" "2.1.30" - dependencies: - "mime-db" "1.47.0" - -"mime@^2.3.1": - "integrity" "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==" - "resolved" "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz" - "version" "2.5.2" - -"mimic-fn@^2.1.0": - "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - "version" "2.1.0" - -"mini-create-react-context@^0.4.0": - "integrity" "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==" - "resolved" "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz" - "version" "0.4.1" - dependencies: - "@babel/runtime" "^7.12.1" - "tiny-warning" "^1.0.3" - -"mini-css-extract-plugin@^1.5.1": - "integrity" "sha512-wEpr0XooH6rw/Mlf+9KTJoMBLT3HujzdTrmohPjAzF47N4Q6yAeczQLpRD/WxvAtXvskcXbily7TAdCfi2M4Dg==" - "resolved" "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.5.1.tgz" - "version" "1.5.1" - dependencies: - "loader-utils" "^2.0.0" - "schema-utils" "^3.0.0" - "webpack-sources" "^1.1.0" - -"minimatch@^3.0.4": - "integrity" "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "brace-expansion" "^1.1.7" - -"minimist@^1.2.0", "minimist@^1.2.5": - "integrity" "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" - "version" "1.2.5" - -"ms@2.1.2": - "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - "version" "2.1.2" - -"nanoid@^3.1.22": - "integrity" "sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ==" - "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.1.22.tgz" - "version" "3.1.22" - -"neo-async@^2.6.2": - "integrity" "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - "resolved" "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" - "version" "2.6.2" - -"node-releases@^1.1.71": - "integrity" "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==" - "resolved" "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz" - "version" "1.1.71" - -"npm-run-path@^4.0.1": - "integrity" "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" - "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "path-key" "^3.0.0" - -"object-assign@^4.1.1": - "integrity" "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - "version" "4.1.1" - -"object-keys@^1.0.12", "object-keys@^1.1.1": - "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - "version" "1.1.1" - -"object.assign@^4.1.0": - "integrity" "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==" - "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "call-bind" "^1.0.0" - "define-properties" "^1.1.3" - "has-symbols" "^1.0.1" - "object-keys" "^1.1.1" - -"once@^1.3.0": - "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" - "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "wrappy" "1" - -"onetime@^5.1.2": - "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" - "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "mimic-fn" "^2.1.0" - -"opener@^1.5.2": - "integrity" "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==" - "resolved" "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" - "version" "1.5.2" - -"p-limit@^2.2.0": - "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "p-try" "^2.0.0" - -"p-limit@^3.1.0": - "integrity" "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "yocto-queue" "^0.1.0" - -"p-locate@^4.1.0": - "integrity" "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "p-limit" "^2.2.0" - -"p-try@^2.0.0": - "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - "version" "2.2.0" - -"parent-module@^1.0.0": - "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" - "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "callsites" "^3.0.0" - -"parse-json@^5.0.0": - "integrity" "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==" - "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - "version" "5.2.0" - dependencies: - "@babel/code-frame" "^7.0.0" - "error-ex" "^1.3.1" - "json-parse-even-better-errors" "^2.3.0" - "lines-and-columns" "^1.1.6" - -"path-exists@^4.0.0": - "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - "version" "4.0.0" - -"path-is-absolute@^1.0.0": - "integrity" "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - "version" "1.0.1" - -"path-key@^3.0.0", "path-key@^3.1.0": - "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - "version" "3.1.1" - -"path-parse@^1.0.6": - "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - "version" "1.0.7" - -"path-to-regexp@^1.7.0": - "integrity" "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==" - "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" - "version" "1.8.0" - dependencies: - "isarray" "0.0.1" - -"path-type@^4.0.0": - "integrity" "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - "version" "4.0.0" - -"pkg-dir@^4.1.0", "pkg-dir@^4.2.0": - "integrity" "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==" - "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "find-up" "^4.0.0" - -"postcss-modules-extract-imports@^3.0.0": - "integrity" "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==" - "resolved" "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" - "version" "3.0.0" - -"postcss-modules-local-by-default@^4.0.0": - "integrity" "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==" - "resolved" "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "icss-utils" "^5.0.0" - "postcss-selector-parser" "^6.0.2" - "postcss-value-parser" "^4.1.0" - -"postcss-modules-scope@^3.0.0": - "integrity" "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==" - "resolved" "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "postcss-selector-parser" "^6.0.4" - -"postcss-modules-values@^4.0.0": - "integrity" "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==" - "resolved" "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "icss-utils" "^5.0.0" - -"postcss-selector-parser@^6.0.2", "postcss-selector-parser@^6.0.4": - "integrity" "sha512-aFYPoYmXbZ1V6HZaSvat08M97A8HqO6Pjz+PiNpw/DhuRrC72XWAdp3hL6wusDCN31sSmcZyMGa2hZEuX+Xfhg==" - "resolved" "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.5.tgz" - "version" "6.0.5" - dependencies: - "cssesc" "^3.0.0" - "util-deprecate" "^1.0.2" - -"postcss-value-parser@^4.1.0": - "integrity" "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" - "resolved" "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz" - "version" "4.1.0" - -"postcss@^8.2.1", "postcss@^8.2.10": - "integrity" "sha512-FCE5xLH+hjbzRdpbRb1IMCvPv9yZx2QnDarBEYSN0N0HYk+TcXsEhwdFcFb+SRWOKzKGErhIEbBK2ogyLdTtfQ==" - "resolved" "https://registry.npmjs.org/postcss/-/postcss-8.2.13.tgz" - "version" "8.2.13" - dependencies: - "colorette" "^1.2.2" - "nanoid" "^3.1.22" - "source-map" "^0.6.1" - -"prop-types@^15.0.0", "prop-types@^15.5.8", "prop-types@^15.6.0", "prop-types@^15.6.2", "prop-types@^15.7.2", "prop-types@latest": - "integrity" "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==" - "resolved" "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz" - "version" "15.7.2" - dependencies: - "loose-envify" "^1.4.0" - "object-assign" "^4.1.1" - "react-is" "^16.8.1" - -"punycode@^2.1.0": - "integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" - "version" "2.1.1" - -"purgecss-webpack-plugin@^4.0.3": - "integrity" "sha512-YqmHRuKqjPhB+f/kURHYwlUR2QDcS8NSpCWrgQNICsSd8S2+tj40SDBav5b8KaSPQ8b/uXqrJxa/SnLyHK4BvQ==" - "resolved" "https://registry.npmjs.org/purgecss-webpack-plugin/-/purgecss-webpack-plugin-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "purgecss" "^4.0.3" - "webpack" "^5.4.0" - "webpack-sources" "^2.0.0" - -"purgecss@^4.0.3": - "integrity" "sha512-PYOIn5ibRIP34PBU9zohUcCI09c7drPJJtTDAc0Q6QlRz2/CHQ8ywGLdE7ZhxU2VTqB7p5wkvj5Qcm05Rz3Jmw==" - "resolved" "https://registry.npmjs.org/purgecss/-/purgecss-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "commander" "^6.0.0" - "glob" "^7.0.0" - "postcss" "^8.2.1" - "postcss-selector-parser" "^6.0.2" - -"randombytes@^2.1.0": - "integrity" "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==" - "resolved" "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "safe-buffer" "^5.1.0" - -"react-dom@^16.3.0", "react-dom@^17.0.2", "react-dom@>=16.6.0", "react-dom@>=16.8.0": - "integrity" "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==" - "resolved" "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz" - "version" "17.0.2" - dependencies: - "loose-envify" "^1.1.0" - "object-assign" "^4.1.1" - "scheduler" "^0.20.2" - -"react-input-autosize@^3.0.0": - "integrity" "sha512-nL9uS7jEs/zu8sqwFE5MAPx6pPkNAriACQ2rGLlqmKr2sPGtN7TXTyDdQt4lbNXVx7Uzadb40x8qotIuru6Rhg==" - "resolved" "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "prop-types" "^15.5.8" - -"react-is-mounted-hook@^1.0.3": - "integrity" "sha512-h53TIe1ofqzFo98/szmPIM0m4ei2NIVtdRn/L0Hs9MNChsmpvPvdVzl9L8qGS3hbxZvlaZYzlmB8ntAMYJGf0A==" - "resolved" "https://registry.npmjs.org/react-is-mounted-hook/-/react-is-mounted-hook-1.1.0.tgz" - "version" "1.1.0" - -"react-is@^16.13.1", "react-is@^16.6.0", "react-is@^16.7.0", "react-is@^16.8.1": - "integrity" "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - "resolved" "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" - "version" "16.13.1" - -"react-is@^17.0.2": - "integrity" "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - "resolved" "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" - "version" "17.0.2" - -"react-pro-sidebar@^0.7.1": - "integrity" "sha512-Iy1X8ce4t5Vqz4CsyzjwokGUE3/IObgmYzS0ins7/2eWKle0SMUPaWdgMKFIVjtVrMr5vmjPbRicq8FxnVaf8A==" - "resolved" "https://registry.npmjs.org/react-pro-sidebar/-/react-pro-sidebar-0.7.1.tgz" - "version" "0.7.1" - dependencies: - "@popperjs/core" "^2.4.0" - "classnames" "^2.2.6" - "react-slidedown" "^2.4.5" - "resize-observer-polyfill" "^1.5.1" - -"react-redux@^7.2.1", "react-redux@^7.2.4": - "integrity" "sha512-hOQ5eOSkEJEXdpIKbnRyl04LhaWabkDPV+Ix97wqQX3T3d2NQ8DUblNXXtNMavc7DpswyQM6xfaN4HQDKNY2JA==" - "resolved" "https://registry.npmjs.org/react-redux/-/react-redux-7.2.4.tgz" - "version" "7.2.4" - dependencies: - "@babel/runtime" "^7.12.1" - "@types/react-redux" "^7.1.16" - "hoist-non-react-statics" "^3.3.2" - "loose-envify" "^1.4.0" - "prop-types" "^15.7.2" - "react-is" "^16.13.1" - -"react-router-dom@^5.3.0": - "integrity" "sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ==" - "resolved" "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.0.tgz" - "version" "5.3.0" - dependencies: - "@babel/runtime" "^7.12.13" - "history" "^4.9.0" - "loose-envify" "^1.3.1" - "prop-types" "^15.6.2" - "react-router" "5.2.1" - "tiny-invariant" "^1.0.2" - "tiny-warning" "^1.0.0" - -"react-router@5.2.1": - "integrity" "sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ==" - "resolved" "https://registry.npmjs.org/react-router/-/react-router-5.2.1.tgz" - "version" "5.2.1" - dependencies: - "@babel/runtime" "^7.12.13" - "history" "^4.9.0" - "hoist-non-react-statics" "^3.1.0" - "loose-envify" "^1.3.1" - "mini-create-react-context" "^0.4.0" - "path-to-regexp" "^1.7.0" - "prop-types" "^15.6.2" - "react-is" "^16.6.0" - "tiny-invariant" "^1.0.2" - "tiny-warning" "^1.0.0" - -"react-select-async-paginate@^0.5.3": - "integrity" "sha512-SWX1twi/jzViDpQa1nS+xyjrFtn9RBezbL4aIjcJXCABKMY+8JhH4iAKqAW3pryZbm439/DaMtQeZADH17v7bQ==" - "resolved" "https://registry.npmjs.org/react-select-async-paginate/-/react-select-async-paginate-0.5.3.tgz" - "version" "0.5.3" - dependencies: - "@babel/runtime" "^7.12.5" - "@seznam/compose-react-refs" "^1.0.5" - "react-is-mounted-hook" "^1.0.3" - "sleep-promise" "^9.1.0" - -"react-select@^4.3.0": - "integrity" "sha512-SBPD1a3TJqE9zoI/jfOLCAoLr/neluaeokjOixr3zZ1vHezkom8K0A9J4QG9IWDqIDE9K/Mv+0y1GjidC2PDtQ==" - "resolved" "https://registry.npmjs.org/react-select/-/react-select-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "@babel/runtime" "^7.12.0" - "@emotion/cache" "^11.0.0" - "@emotion/react" "^11.1.1" - "memoize-one" "^5.0.0" - "prop-types" "^15.6.0" - "react-input-autosize" "^3.0.0" - "react-transition-group" "^4.3.0" - -"react-slidedown@^2.4.5": - "integrity" "sha512-zFDhgqQ1ZLfRr+rQA7p+13OTT/+zUR/+3v3JnwrnXPM8R+1KHhuTNseYHU8jYN3QfxjJXtqve0rgbWCBiFkpiw==" - "resolved" "https://registry.npmjs.org/react-slidedown/-/react-slidedown-2.4.5.tgz" - "version" "2.4.5" - dependencies: - "tslib" "^1.9.0" - -"react-transition-group@^4.3.0", "react-transition-group@^4.4.2": - "integrity" "sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==" - "resolved" "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz" - "version" "4.4.2" - dependencies: - "@babel/runtime" "^7.5.5" - "dom-helpers" "^5.0.1" - "loose-envify" "^1.4.0" - "prop-types" "^15.6.2" - -"react@^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0", "react@^16.14.0 || ^17.0.0", "react@^16.3.0", "react@^17.0.2", "react@>=15", "react@>=16.6.0", "react@>=16.8.0": - "integrity" "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==" - "resolved" "https://registry.npmjs.org/react/-/react-17.0.2.tgz" - "version" "17.0.2" - dependencies: - "loose-envify" "^1.1.0" - "object-assign" "^4.1.1" - -"rechoir@^0.7.0": - "integrity" "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==" - "resolved" "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz" - "version" "0.7.0" - dependencies: - "resolve" "^1.9.0" - -"redux-thunk@^2.3.0": - "integrity" "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==" - "resolved" "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz" - "version" "2.3.0" - -"redux@^4.0.0", "redux@^4.1.0": - "integrity" "sha512-uI2dQN43zqLWCt6B/BMGRMY6db7TTY4qeHHfGeKb3EOhmOKjU3KdWvNLJyqaHRksv/ErdNH7cFZWg9jXtewy4g==" - "resolved" "https://registry.npmjs.org/redux/-/redux-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "@babel/runtime" "^7.9.2" - -"regenerate-unicode-properties@^8.2.0": - "integrity" "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==" - "resolved" "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz" - "version" "8.2.0" - dependencies: - "regenerate" "^1.4.0" - -"regenerate@^1.4.0": - "integrity" "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - "resolved" "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" - "version" "1.4.2" - -"regenerator-runtime@^0.13.4": - "integrity" "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" - "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz" - "version" "0.13.7" - -"regenerator-transform@^0.14.2": - "integrity" "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==" - "resolved" "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz" - "version" "0.14.5" - dependencies: - "@babel/runtime" "^7.8.4" - -"regexpu-core@^4.7.1": - "integrity" "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==" - "resolved" "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz" - "version" "4.7.1" - dependencies: - "regenerate" "^1.4.0" - "regenerate-unicode-properties" "^8.2.0" - "regjsgen" "^0.5.1" - "regjsparser" "^0.6.4" - "unicode-match-property-ecmascript" "^1.0.4" - "unicode-match-property-value-ecmascript" "^1.2.0" - -"regjsgen@^0.5.1": - "integrity" "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" - "resolved" "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz" - "version" "0.5.2" - -"regjsparser@^0.6.4": - "integrity" "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==" - "resolved" "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz" - "version" "0.6.9" - dependencies: - "jsesc" "~0.5.0" - -"require-package-name@^2.0.1": - "integrity" "sha1-wR6XJ2tluOKSP3Xav1+y7ww4Qbk=" - "resolved" "https://registry.npmjs.org/require-package-name/-/require-package-name-2.0.1.tgz" - "version" "2.0.1" - -"reselect@^4.0.0": - "integrity" "sha512-qUgANli03jjAyGlnbYVAV5vvnOmJnODyABz51RdBN7M4WaVu8mecZWgyQNkG8Yqe3KRGRt0l4K4B3XVEULC4CA==" - "resolved" "https://registry.npmjs.org/reselect/-/reselect-4.0.0.tgz" - "version" "4.0.0" - -"resize-observer-polyfill@^1.5.1": - "integrity" "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" - "resolved" "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz" - "version" "1.5.1" - -"resolve-cwd@^3.0.0": - "integrity" "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==" - "resolved" "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "resolve-from" "^5.0.0" - -"resolve-from@^4.0.0": - "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - "version" "4.0.0" - -"resolve-from@^5.0.0": - "integrity" "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" - "version" "5.0.0" - -"resolve-pathname@^3.0.0": - "integrity" "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" - "resolved" "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz" - "version" "3.0.0" - -"resolve@^1.12.0", "resolve@^1.14.2", "resolve@^1.9.0": - "integrity" "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==" - "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz" - "version" "1.20.0" - dependencies: - "is-core-module" "^2.2.0" - "path-parse" "^1.0.6" - -"safe-buffer@^5.1.0", "safe-buffer@~5.1.1": - "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - "version" "5.1.2" - -"scheduler@^0.20.2": - "integrity" "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==" - "resolved" "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz" - "version" "0.20.2" - dependencies: - "loose-envify" "^1.1.0" - "object-assign" "^4.1.1" - -"schema-utils@^2.6.5": - "integrity" "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" - "version" "2.7.1" - dependencies: - "@types/json-schema" "^7.0.5" - "ajv" "^6.12.4" - "ajv-keywords" "^3.5.2" - -"schema-utils@^3.0.0": - "integrity" "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "@types/json-schema" "^7.0.6" - "ajv" "^6.12.5" - "ajv-keywords" "^3.5.2" - -"semver@^6.0.0", "semver@^6.1.1", "semver@^6.1.2", "semver@^6.3.0": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^7.3.5": - "integrity" "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" - "version" "7.3.5" - dependencies: - "lru-cache" "^6.0.0" - -"semver@7.0.0": - "integrity" "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz" - "version" "7.0.0" - -"serialize-javascript@^5.0.1": - "integrity" "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==" - "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "randombytes" "^2.1.0" - -"shallow-clone@^3.0.0": - "integrity" "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==" - "resolved" "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "kind-of" "^6.0.2" - -"shebang-command@^2.0.0": - "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" - "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "shebang-regex" "^3.0.0" - -"shebang-regex@^3.0.0": - "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - "version" "3.0.0" - -"signal-exit@^3.0.3": - "integrity" "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz" - "version" "3.0.3" - -"sirv@^1.0.7": - "integrity" "sha512-SR36i3/LSWja7AJNRBz4fF/Xjpn7lQFI30tZ434dIy+bitLYSP+ZEenHg36i23V2SGEz+kqjksg0uOGZ5LPiqg==" - "resolved" "https://registry.npmjs.org/sirv/-/sirv-1.0.11.tgz" - "version" "1.0.11" - dependencies: - "@polka/url" "^1.0.0-next.9" - "mime" "^2.3.1" - "totalist" "^1.0.0" - -"sleep-promise@^9.1.0": - "integrity" "sha512-UHYzVpz9Xn8b+jikYSD6bqvf754xL2uBUzDFwiU6NcdZeifPr6UfgU43xpkPu67VMS88+TI2PSI7Eohgqf2fKA==" - "resolved" "https://registry.npmjs.org/sleep-promise/-/sleep-promise-9.1.0.tgz" - "version" "9.1.0" - -"source-list-map@^2.0.0", "source-list-map@^2.0.1": - "integrity" "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - "resolved" "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz" - "version" "2.0.1" - -"source-map-support@~0.5.19": - "integrity" "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==" - "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz" - "version" "0.5.19" - dependencies: - "buffer-from" "^1.0.0" - "source-map" "^0.6.0" - -"source-map@^0.5.0", "source-map@^0.5.7": - "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - "version" "0.5.7" - -"source-map@^0.6.0": - "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - "version" "0.6.1" - -"source-map@^0.6.1": - "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - "version" "0.6.1" - -"source-map@~0.6.1": - "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - "version" "0.6.1" - -"source-map@~0.7.2": - "integrity" "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz" - "version" "0.7.3" - -"strip-final-newline@^2.0.0": - "integrity" "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - "resolved" "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - "version" "2.0.0" - -"style-loader@^2.0.0": - "integrity" "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==" - "resolved" "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "loader-utils" "^2.0.0" - "schema-utils" "^3.0.0" - -"stylis@^4.0.3": - "integrity" "sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg==" - "resolved" "https://registry.npmjs.org/stylis/-/stylis-4.0.10.tgz" - "version" "4.0.10" - -"supports-color@^5.3.0": - "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - "version" "5.5.0" - dependencies: - "has-flag" "^3.0.0" - -"supports-color@^7.0.0": - "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - "version" "7.2.0" - dependencies: - "has-flag" "^4.0.0" - -"supports-color@^7.1.0": - "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - "version" "7.2.0" - dependencies: - "has-flag" "^4.0.0" - -"tapable@^2.1.1", "tapable@^2.2.0": - "integrity" "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==" - "resolved" "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz" - "version" "2.2.0" - -"terser-webpack-plugin@^5.1.1": - "integrity" "sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q==" - "resolved" "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "jest-worker" "^26.6.2" - "p-limit" "^3.1.0" - "schema-utils" "^3.0.0" - "serialize-javascript" "^5.0.1" - "source-map" "^0.6.1" - "terser" "^5.5.1" - -"terser@^5.5.1": - "integrity" "sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==" - "resolved" "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz" - "version" "5.7.0" - dependencies: - "commander" "^2.20.0" - "source-map" "~0.7.2" - "source-map-support" "~0.5.19" - -"tiny-invariant@^1.0.2": - "integrity" "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==" - "resolved" "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz" - "version" "1.1.0" - -"tiny-warning@^1.0.0", "tiny-warning@^1.0.3": - "integrity" "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - "resolved" "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz" - "version" "1.0.3" - -"to-fast-properties@^2.0.0": - "integrity" "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - "version" "2.0.0" - -"totalist@^1.0.0": - "integrity" "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==" - "resolved" "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz" - "version" "1.1.0" - -"tslib@^1.9.0": - "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - "version" "1.14.1" - -"unicode-canonical-property-names-ecmascript@^1.0.4": - "integrity" "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" - "resolved" "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz" - "version" "1.0.4" - -"unicode-match-property-ecmascript@^1.0.4": - "integrity" "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==" - "resolved" "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "unicode-canonical-property-names-ecmascript" "^1.0.4" - "unicode-property-aliases-ecmascript" "^1.0.4" - -"unicode-match-property-value-ecmascript@^1.2.0": - "integrity" "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==" - "resolved" "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz" - "version" "1.2.0" - -"unicode-property-aliases-ecmascript@^1.0.4": - "integrity" "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==" - "resolved" "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz" - "version" "1.1.0" - -"uri-js@^4.2.2": - "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" - "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - "version" "4.4.1" - dependencies: - "punycode" "^2.1.0" - -"url-loader@^4.1.1": - "integrity" "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==" - "resolved" "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz" - "version" "4.1.1" - dependencies: - "loader-utils" "^2.0.0" - "mime-types" "^2.1.27" - "schema-utils" "^3.0.0" - -"util-deprecate@^1.0.2": - "integrity" "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - "version" "1.0.2" - -"v8-compile-cache@^2.2.0": - "integrity" "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" - "resolved" "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" - "version" "2.3.0" - -"value-equal@^1.0.1": - "integrity" "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" - "resolved" "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz" - "version" "1.0.1" - -"watchpack@^2.0.0": - "integrity" "sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==" - "resolved" "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "glob-to-regexp" "^0.4.1" - "graceful-fs" "^4.1.2" - -"webpack-bundle-analyzer@^4.4.1": - "integrity" "sha512-j5m7WgytCkiVBoOGavzNokBOqxe6Mma13X1asfVYtKWM3wxBiRRu1u1iG0Iol5+qp9WgyhkMmBAcvjEfJ2bdDw==" - "resolved" "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.1.tgz" - "version" "4.4.1" - dependencies: - "acorn" "^8.0.4" - "acorn-walk" "^8.0.0" - "chalk" "^4.1.0" - "commander" "^6.2.0" - "gzip-size" "^6.0.0" - "lodash" "^4.17.20" - "opener" "^1.5.2" - "sirv" "^1.0.7" - "ws" "^7.3.1" - -"webpack-cli@^4.6.0": - "integrity" "sha512-9YV+qTcGMjQFiY7Nb1kmnupvb1x40lfpj8pwdO/bom+sQiP4OBMKjHq29YQrlDWDPZO9r/qWaRRywKaRDKqBTA==" - "resolved" "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.6.0.tgz" - "version" "4.6.0" - dependencies: - "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.0.2" - "@webpack-cli/info" "^1.2.3" - "@webpack-cli/serve" "^1.3.1" - "colorette" "^1.2.1" - "commander" "^7.0.0" - "enquirer" "^2.3.6" - "execa" "^5.0.0" - "fastest-levenshtein" "^1.0.12" - "import-local" "^3.0.2" - "interpret" "^2.2.0" - "rechoir" "^0.7.0" - "v8-compile-cache" "^2.2.0" - "webpack-merge" "^5.7.3" - -"webpack-merge@^5.7.3": - "integrity" "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==" - "resolved" "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz" - "version" "5.7.3" - dependencies: - "clone-deep" "^4.0.1" - "wildcard" "^2.0.0" - -"webpack-sources@^1.0.2": - "integrity" "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==" - "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" - "version" "1.4.3" - dependencies: - "source-list-map" "^2.0.0" - "source-map" "~0.6.1" - -"webpack-sources@^1.1.0": - "integrity" "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==" - "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" - "version" "1.4.3" - dependencies: - "source-list-map" "^2.0.0" - "source-map" "~0.6.1" - -"webpack-sources@^2.0.0", "webpack-sources@^2.1.1": - "integrity" "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==" - "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "source-list-map" "^2.0.1" - "source-map" "^0.6.1" - -"webpack@^5.36.0", "webpack@^5.4.0": - "integrity" "sha512-HdOhLXClUEwTnzQnzpSG9iL00ej23ojvfnGpF49ba0MkuAT2q+WhQilHFFJHOIVRBqbzakQ1vCWQV2K+QLX0Qw==" - "resolved" "https://registry.npmjs.org/webpack/-/webpack-5.36.0.tgz" - "version" "5.36.0" - dependencies: - "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.47" - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/wasm-edit" "1.11.0" - "@webassemblyjs/wasm-parser" "1.11.0" - "acorn" "^8.2.1" - "browserslist" "^4.14.5" - "chrome-trace-event" "^1.0.2" - "enhanced-resolve" "^5.8.0" - "es-module-lexer" "^0.4.0" - "eslint-scope" "^5.1.1" - "events" "^3.2.0" - "glob-to-regexp" "^0.4.1" - "graceful-fs" "^4.2.4" - "json-parse-better-errors" "^1.0.2" - "loader-runner" "^4.2.0" - "mime-types" "^2.1.27" - "neo-async" "^2.6.2" - "schema-utils" "^3.0.0" - "tapable" "^2.1.1" - "terser-webpack-plugin" "^5.1.1" - "watchpack" "^2.0.0" - "webpack-sources" "^2.1.1" - -"which@^2.0.1": - "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" - "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "isexe" "^2.0.0" - -"wildcard@^2.0.0": - "integrity" "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" - "resolved" "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz" - "version" "2.0.0" - -"wrappy@1": - "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - "version" "1.0.2" - -"ws@^7.3.1": - "integrity" "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==" - "resolved" "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz" - "version" "7.5.5" - -"yallist@^4.0.0": - "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - "version" "4.0.0" - -"yaml@^1.7.2": - "integrity" "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - "resolved" "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" - "version" "1.10.2" - -"yocto-queue@^0.1.0": - "integrity" "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - "resolved" "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - "version" "0.1.0" diff --git a/requirements.in b/requirements.in index ec8ed41b4..0dd3fc7fd 100644 --- a/requirements.in +++ b/requirements.in @@ -49,6 +49,7 @@ JSON-log-formatter==0.2.0 # MIT License # Rest Framework djangorestframework==3.12.4 # BSD License djangorestframework-filters==1.0.0.dev0 # MIT License +djangorestframework-guardian==0.3.0 drf-yasg==1.20.0 # BSD License djangorestframework-recursive==0.1.2 # ISC License drf-nested-routers==0.93.3 # Apache License 2.0 diff --git a/requirements.txt b/requirements.txt index 2471975a1..e1b00e851 100644 --- a/requirements.txt +++ b/requirements.txt @@ -168,7 +168,6 @@ cffi==1.15.0 \ --hash=sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796 # via # bcrypt - # cmarkgfm # cryptography # pynacl chardet==4.0.0 \ @@ -189,58 +188,6 @@ click==8.0.3 \ # black # safety # typer -cmarkgfm==0.6.0 \ - --hash=sha256:02f14c7e77fcddf044df14cc227d7703027ee720bac719616ac505af29812b73 \ - --hash=sha256:0c5d762351f14479b07bfda6773905caa0fa7f132f6478c35e467d0be21e9f2e \ - --hash=sha256:13c34b6dc5b77100201c543cd205366ef7ecc612efce4247e2b7a0bb258b271e \ - --hash=sha256:3157b37d1a897ee57ae57be8eafac3659e31fdce33fbbc85f76df34ee2804d5a \ - --hash=sha256:371c4a2d88508800f6cc872082970afdb414f2d3b86ac7769419f27da0d43acc \ - --hash=sha256:3a31b239dfe4945fcb6a53fcb7dac64cb857ecfb1f710d891ff96955c64509f6 \ - --hash=sha256:3a5138d76e93378a72fb7a704cbf09764ebb43cfcf121e6d7ffdc40fb7917d4a \ - --hash=sha256:3c7053c8650bf1f79c607dc88ff56652d07f52aac4b60aa1bf07529c9b4473a7 \ - --hash=sha256:4121f6047c4d4a28ded3cf02c087869549e9f0c3712e5a2af180972f9d1348a5 \ - --hash=sha256:427ca60eb2f56c6293ac0e91b728acf608297c9030dccd3c928e938b3bf3ee77 \ - --hash=sha256:51134e3775ac7c47ca2430a53b02c6ff03463143af8dfaeb1575c03e039ee485 \ - --hash=sha256:57e4f57aa9264a3244a28665d3c5ec81b1ace454b01a1c09ff0d67a2cd12ca5a \ - --hash=sha256:605bd69fa4b247be9bb4e7d75bda4df37428a153e3a67aca50d7cd9dc1ee8225 \ - --hash=sha256:6377e46d854cc32e03933a44a0b6e6750cf89b4314e1c84958a7a547c3952c23 \ - --hash=sha256:6a48a67ff8425b4dee33196f6cd9bdba7b902c0b7e369150f6704989f9c40476 \ - --hash=sha256:6bb05e1b4adc8027c41ddbd11761482c652f1aa2ae4419469e3883ec8b0bdf67 \ - --hash=sha256:706daefce3f9bd1cd955b6bb06beac31c050b65f4bec8025dade3b0f05dbeed2 \ - --hash=sha256:713bd4e64651e7bbd897bbaee6057c16b72c6ac3cf59b2b38892d635d52755eb \ - --hash=sha256:7262bb2b875d1c47dfa0e074fe349eb1ba1901e323fcf9e3fc4dbf97f0b92d97 \ - --hash=sha256:737e4525c63ae3bca731e5c57056c02078e31e579ec655b72bd28eae525d6b53 \ - --hash=sha256:7641061c0bc4caf754f119c326131ad41c25beb1e95e2479e8aab60dbd8f9f79 \ - --hash=sha256:786e8a06f7eec6eb3f3789353a586c8b065570d2db9811fdcdaced736a36ce53 \ - --hash=sha256:791c7f8aed353d540aed52c6724df408eb73208d7c9dd98aae6506d5783cb95f \ - --hash=sha256:7a974b3b90805f656054d6873cd876ee5c7949e7860d131b7ec0b29a3de3a3f3 \ - --hash=sha256:82cfc1bc7099fa819993c41d3c6778bff29e5547dbf1de1dbb113ef4d2bc0df9 \ - --hash=sha256:872f3c9d99aedf55ad6950a4158873a107f6338040bc381b21849ccf165e9d90 \ - --hash=sha256:89cc51c26a10ebdaada4ed2630f6f375cf059d3aca5d77aff493a2010f6ed60a \ - --hash=sha256:8b58277117a439fd27aee2bcc8869be334fb7e8781e27066ec31ec0a596a6a01 \ - --hash=sha256:8be0c52d0caf1852a5374c7c9a279801c1a8dd9e2040939e75262d02b003835b \ - --hash=sha256:8eebdc5ca2cd565998195d1e6189d5979a00a5db9c579d05953478cb085ef435 \ - --hash=sha256:8f901c002172a3be8bb91a422da23dfae0301afe062addf41c976385f96bc1ef \ - --hash=sha256:94ba213739648006232aa917f8c4c42c520812601d85502fa7a5dad0f0d1590e \ - --hash=sha256:989432956e34591387f0aaab98caabd699f2f5d4c708d1a0d882334a8b760cc5 \ - --hash=sha256:a386b01a266a42e8e9052c74ad42dc1ff50b209d8958a3656e0435fa018a0223 \ - --hash=sha256:ae6796d4e8ea746dc8e29173f95ffb9b12f940ff5b9186d10203445526cf8d4d \ - --hash=sha256:b04da61652984c89868b31aface2d75e3d26081273d3764e18b5661eea98916e \ - --hash=sha256:b594063a3421561e0559cc5a68419cdcb020512fc40c3eb37e4629bae2a954b6 \ - --hash=sha256:c17e19db003f86662d08ce382912767f7221637703a64cfdb85b8c1447cc4b36 \ - --hash=sha256:c58c904c22b946d436637e8e1987db5886af8041c57e0028c419f98075344f1f \ - --hash=sha256:c61f3f2cd2b9c44cb2579e165a18f824a6c99682aff10ac2779a7a74a3167e89 \ - --hash=sha256:ccbfb5e427ca815d80962e6705834ebadeb55058ac745e0339fb570bb78a6114 \ - --hash=sha256:ce717bd3e26a95b749fbbf68da42cc5cb9200779a4943bbdd38fa73711366081 \ - --hash=sha256:d4422e0dd3a11eeebbe86c6c08ac1c28783efed4b7b948a9878724e677eda107 \ - --hash=sha256:e550ca0826eab1ab87d9eed58da89cc113f13f369fdd61c799705007422dbfce \ - --hash=sha256:e66f15d4c645c87819f7170990a00e0fa9e0e8255097f8bd5eb3037d78264efb \ - --hash=sha256:e7b5b6cd8befa8c1cf2a55f750a4dcf84de05c80a7110d933ea6724fbc6d2cf8 \ - --hash=sha256:ec2bf8d5799c4b5bbfbae30a4a1dfcb06512f2e17e9ee60ba7e1d390318582fc \ - --hash=sha256:f0da78ef960f57aec8a6854821a99fa7a520dad77631b19becb68b2ebf8dbc2d \ - --hash=sha256:f56aa4940aa4ee98fd6f3e0a648b8ae1e6a27f5007d64d406aeadc51451dc13b \ - --hash=sha256:fa28b1a335adb5bad04b4a50382cbcfcc6c8d68413ba35e2cd3f657a1dc76347 - # via compliance-trestle commonmark==0.9.1 \ --hash=sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60 \ --hash=sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9 @@ -254,9 +201,9 @@ commonmarkextensions==0.0.6 \ # via # -r requirements.in # django-html-emailer -compliance-trestle==0.33.0 \ - --hash=sha256:2c040ac72e8fd11e5cc25e8ed41813c76e9cd1064562e986a0146be575be6a41 \ - --hash=sha256:931b48a50bcd7b00e2ebc3082214c44e6650454e66ae0acf72b5f715eec78c9d +compliance-trestle==0.20.0 \ + --hash=sha256:876bb52681afca4ab426ed091fea427bdd64405629265427856a25a1c39bcd9f \ + --hash=sha256:8d10587216b0b5986d547c31cc99ef7ecff6a912be7fecdbdb36335a004ba5c5 # via -r requirements.in coreapi==2.3.3 \ --hash=sha256:46145fcc1f7017c076a2ef684969b641d18a2991051fddec9458ad3f78ffc1cb \ @@ -300,27 +247,28 @@ coverage==6.0b1 \ --hash=sha256:f0b250a03891255feb3ae69ac29d05cf9a62f5869bb8bac0e7f4968e7274efac \ --hash=sha256:fdaa96733c9cf85491ad406fd78aa16025a1ea468951545b3da7ee133c150c7a # via -r requirements.in -cryptography==36.0.1 \ - --hash=sha256:0a817b961b46894c5ca8a66b599c745b9a3d9f822725221f0e0fe49dc043a3a3 \ - --hash=sha256:2d87cdcb378d3cfed944dac30596da1968f88fb96d7fc34fdae30a99054b2e31 \ - --hash=sha256:30ee1eb3ebe1644d1c3f183d115a8c04e4e603ed6ce8e394ed39eea4a98469ac \ - --hash=sha256:391432971a66cfaf94b21c24ab465a4cc3e8bf4a939c1ca5c3e3a6e0abebdbcf \ - --hash=sha256:39bdf8e70eee6b1c7b289ec6e5d84d49a6bfa11f8b8646b5b3dfe41219153316 \ - --hash=sha256:4caa4b893d8fad33cf1964d3e51842cd78ba87401ab1d2e44556826df849a8ca \ - --hash=sha256:53e5c1dc3d7a953de055d77bef2ff607ceef7a2aac0353b5d630ab67f7423638 \ - --hash=sha256:596f3cd67e1b950bc372c33f1a28a0692080625592ea6392987dba7f09f17a94 \ - --hash=sha256:5d59a9d55027a8b88fd9fd2826c4392bd487d74bf628bb9d39beecc62a644c12 \ - --hash=sha256:6c0c021f35b421ebf5976abf2daacc47e235f8b6082d3396a2fe3ccd537ab173 \ - --hash=sha256:73bc2d3f2444bcfeac67dd130ff2ea598ea5f20b40e36d19821b4df8c9c5037b \ - --hash=sha256:74d6c7e80609c0f4c2434b97b80c7f8fdfaa072ca4baab7e239a15d6d70ed73a \ - --hash=sha256:7be0eec337359c155df191d6ae00a5e8bbb63933883f4f5dffc439dac5348c3f \ - --hash=sha256:94ae132f0e40fe48f310bba63f477f14a43116f05ddb69d6fa31e93f05848ae2 \ - --hash=sha256:bb5829d027ff82aa872d76158919045a7c1e91fbf241aec32cb07956e9ebd3c9 \ - --hash=sha256:ca238ceb7ba0bdf6ce88c1b74a87bffcee5afbfa1e41e173b1ceb095b39add46 \ - --hash=sha256:ca28641954f767f9822c24e927ad894d45d5a1e501767599647259cbf030b903 \ - --hash=sha256:e0344c14c9cb89e76eb6a060e67980c9e35b3f36691e15e1b7a9e58a0a6c6dc3 \ - --hash=sha256:ebc15b1c22e55c4d5566e3ca4db8689470a0ca2babef8e3a9ee057a8b82ce4b1 \ - --hash=sha256:ec63da4e7e4a5f924b90af42eddf20b698a70e58d86a72d943857c4c6045b3ee +cryptography==36.0.0 \ + --hash=sha256:2049f8b87f449fc6190350de443ee0c1dd631f2ce4fa99efad2984de81031681 \ + --hash=sha256:231c4a69b11f6af79c1495a0e5a85909686ea8db946935224b7825cfb53827ed \ + --hash=sha256:24469d9d33217ffd0ce4582dfcf2a76671af115663a95328f63c99ec7ece61a4 \ + --hash=sha256:2deab5ec05d83ddcf9b0916319674d3dae88b0e7ee18f8962642d3cde0496568 \ + --hash=sha256:494106e9cd945c2cadfce5374fa44c94cfadf01d4566a3b13bb487d2e6c7959e \ + --hash=sha256:4c702855cd3174666ef0d2d13dcc879090aa9c6c38f5578896407a7028f75b9f \ + --hash=sha256:52f769ecb4ef39865719aedc67b4b7eae167bafa48dbc2a26dd36fa56460507f \ + --hash=sha256:5c49c9e8fb26a567a2b3fa0343c89f5d325447956cc2fc7231c943b29a973712 \ + --hash=sha256:684993ff6f67000a56454b41bdc7e015429732d65a52d06385b6e9de6181c71e \ + --hash=sha256:6fbbbb8aab4053fa018984bb0e95a16faeb051dd8cca15add2a27e267ba02b58 \ + --hash=sha256:8982c19bb90a4fa2aad3d635c6d71814e38b643649b4000a8419f8691f20ac44 \ + --hash=sha256:9511416e85e449fe1de73f7f99b21b3aa04fba4c4d335d30c486ba3756e3a2a6 \ + --hash=sha256:97199a13b772e74cdcdb03760c32109c808aff7cd49c29e9cf4b7754bb725d1d \ + --hash=sha256:a776bae1629c8d7198396fd93ec0265f8dd2341c553dc32b976168aaf0e6a636 \ + --hash=sha256:aa94d617a4cd4cdf4af9b5af65100c036bce22280ebb15d8b5262e8273ebc6ba \ + --hash=sha256:b17d83b3d1610e571fedac21b2eb36b816654d6f7496004d6a0d32f99d1d8120 \ + --hash=sha256:d73e3a96c38173e0aa5646c31bf8473bc3564837977dd480f5cbeacf1d7ef3a3 \ + --hash=sha256:d91bc9f535599bed58f6d2e21a2724cb0c3895bf41c6403fe881391d29096f1d \ + --hash=sha256:ef216d13ac8d24d9cd851776662f75f8d29c9f2d05cdcc2d34a18d32463a9b0b \ + --hash=sha256:f6a5a85beb33e57998dc605b9dbe7deaa806385fdf5c4810fb849fcd04640c81 \ + --hash=sha256:f92556f94e476c1b616e6daec5f7ddded2c082efa7cee7f31c7aeda615906ed8 # via # josepy # mozilla-django-oidc @@ -365,9 +313,9 @@ datamodel-code-generator[http]==0.11.15 \ --hash=sha256:8e80c8d9ff5ea69ecc43df2bc554a2cdf4ccd0b72cfe074cb08aec7627c535e4 \ --hash=sha256:b0d5fbf446a6b48fc71f621a6e44e45501694552a25c4830aaa2c3b479f3e0cc # via compliance-trestle -dataset==1.5.2 \ - --hash=sha256:3eb75426c422146acd150ed68aee39984050f8dd8e985675ba084732e6ccbf79 \ - --hash=sha256:4c367a7c0a85c4e748efda34eee300c3fcc3f076c75c3290b749a7a05335c847 +dataset==1.5.1 \ + --hash=sha256:037615522fe1c019e46af961036e6fe6fb051c9812dc95e1fb02fd80f98798d5 \ + --hash=sha256:a1ff061a08f8f4856bfed541a13cb2ded29d74aa26dd3078c7f397bf9d3a0283 # via -r requirements.in defusedxml==0.7.1 \ --hash=sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69 \ @@ -399,6 +347,7 @@ django==3.2.11 \ # django-notifications-hq # django-session-security # djangorestframework + # djangorestframework-guardian # djangorestframework-recursive # drf-nested-routers # drf-yasg @@ -411,16 +360,16 @@ django-auto-prefetch==1.1.0 \ --hash=sha256:b58e78a957d534e903d216122284a693a07b52f03370bbf4e9bcb35ec8b7b668 \ --hash=sha256:c39951e3bbe669b24853856022bb964721c43ac27ac6c987613c7cd4fe74e317 # via -r requirements.in -django-bootstrap3==21.2 \ - --hash=sha256:845a53e0f68fd520e3df6d53686a641e5008329e492687e225a0c394941dd430 \ - --hash=sha256:9a7e95a053455c15cdcbc5dc7f9261f9aecf01d0558435b59e7b364765f2c3e2 +django-bootstrap3==21.1 \ + --hash=sha256:20e80c0e528f3b68e48025b7f37a306b7f2499a92718f6e676a03e66fe46624c \ + --hash=sha256:e63ee3392b1a78e4ccf493397f131f767f675ddc0eaba1e37b258adb18683d5f # via -r requirements.in django-database-storage-backend==1.0.0 \ --hash=sha256:38b1ccd5ba9768b586d0af868fbbdc8a039d63aae040571ab66e17405a26bd25 # via -r requirements.in -django-debug-toolbar==3.2.4 \ - --hash=sha256:644bbd5c428d3283aa9115722471769cac1bec189edf3a0c855fd8ff870375a9 \ - --hash=sha256:6b633b6cfee24f232d73569870f19aa86c819d750e7f3e833f2344a9eb4b4409 +django-debug-toolbar==3.2.3 \ + --hash=sha256:516702e1d71302bbc06059fa3c41efd1a3bd9cbb5580fc793343118d95b309e0 \ + --hash=sha256:95880677ea846ba1077d02305fd5e2b25e1da096e1d4a735b665e3340fa2ae79 # via -r requirements.in django-extensions==3.1.2 \ --hash=sha256:081828e985485662f62a22340c1506e37989d14b927652079a5b7cd84a82368b \ @@ -433,7 +382,9 @@ django-filter==21.1 \ django-guardian==2.4.0 \ --hash=sha256:440ca61358427e575323648b25f8384739e54c38b3d655c81d75e0cd0d61b697 \ --hash=sha256:c58a68ae76922d33e6bdc0e69af1892097838de56e93e78a8361090bcd9f89a0 - # via -r requirements.in + # via + # -r requirements.in + # djangorestframework-guardian django-html-emailer==0.1.0 \ --hash=sha256:1c0db5026d59ebecb3b24504b849830b379302f667d29c02d8ced8ad82920ffd # via -r requirements.in @@ -464,6 +415,7 @@ djangorestframework==3.12.4 \ # via # -r requirements.in # djangorestframework-filters + # djangorestframework-guardian # djangorestframework-recursive # drf-nested-routers # drf-yasg @@ -471,6 +423,10 @@ djangorestframework-filters==1.0.0.dev0 \ --hash=sha256:d53692f9f0dfcdc1df4e890787f7212c3602476b85faffdefec02e2bc386c5b6 \ --hash=sha256:dfb58706f5f00ce72a01968d99fcc3e500bdeaaa275568fd60ae868bf2b90aad # via -r requirements.in +djangorestframework-guardian==0.3.0 \ + --hash=sha256:1883756452d9bfcc2a51fb4e039a6837a8f6697c756447aa83af085749b59330 \ + --hash=sha256:3bd3dd6ea58e1bceca5048faf6f8b1a93bb5dcff30ba5eb91b9a0e190a48a0c7 + # via -r requirements.in djangorestframework-recursive==0.1.2 \ --hash=sha256:e4e51b26b7ee3c9f9b838885d638b91293e7c66e85b5955f278a6e10eb34ce7c \ --hash=sha256:f8fc2d677ccb32fe53ec4153a45f66c822d0ce444824cba56edc76ca89b704ae @@ -507,13 +463,13 @@ exclusiveprocess==0.9.4 \ filemagic==1.6 \ --hash=sha256:e684359ef40820fe406f0ebc5bf8a78f89717bdb7fed688af68082d991d6dbf3 # via django-database-storage-backend -filetype==1.0.9 \ - --hash=sha256:7124e1bc6a97ffc7c6bead5b8fb2e129baf312a9e60db5772bc27c741799d475 \ - --hash=sha256:c7401fe0d0b624e29b53c65e2a46264133ab30324da88d41e0621837c25bd472 +filetype==1.0.8 \ + --hash=sha256:77df14879b73fd9711b8bd4f465dadf2ecdafff0eac3b22c0bdb0ccba68db316 \ + --hash=sha256:eb974519c5dbbd678a9fbfb5e2616105c6768ee9c01ce4a4ecaefc141e50d5e5 # via -r requirements.in -fonttools==4.28.5 \ - --hash=sha256:545c05d0f7903a863c2020e07b8f0a57517f2c40d940bded77076397872d14ca \ - --hash=sha256:edf251d5d2cc0580d5f72de4621c338d8c66c5f61abb50cf486640f73c8194d5 +fonttools==4.28.3 \ + --hash=sha256:ca6ecc67e5a5620d31754f92147f22f48fd5461fd3fafe6afe031aa9ee079b0f \ + --hash=sha256:edb48922873d3fda489ab400bd40888ac239ae8070b53f494b839bcdff0d01f6 # via matplotlib fs==2.4.14 \ --hash=sha256:9555dc2bc58c58cac03478ac7e9f622d29fe2d20a4384c24c90ab50de2c7b36c \ @@ -579,7 +535,6 @@ graphviz==0.19.1 \ --hash=sha256:f34088c08be2ec16279dfa9c3b4ff3d1453c5c67597a33e2819b000e18d4c546 # via -r requirements.in greenlet==1.1.2 \ - --hash=sha256:0051c6f1f27cb756ffc0ffbac7d2cd48cb0362ac1736871399a739b2885134d3 \ --hash=sha256:00e44c8afdbe5467e4f7b5851be223be68adb4272f44696ee71fe46b7036a711 \ --hash=sha256:013d61294b6cd8fe3242932c1c5e36e5d1db2c8afb58606c5a67efce62c1f5fd \ --hash=sha256:049fe7579230e44daef03a259faa24511d10ebfa44f69411d99e6a184fe68073 \ @@ -589,7 +544,6 @@ greenlet==1.1.2 \ --hash=sha256:1e12bdc622676ce47ae9abbf455c189e442afdde8818d9da983085df6312e7a1 \ --hash=sha256:21915eb821a6b3d9d8eefdaf57d6c345b970ad722f856cd71739493ce003ad08 \ --hash=sha256:288c6a76705dc54fba69fbcb59904ae4ad768b4c768839b8ca5fdadec6dd8cfd \ - --hash=sha256:2bde6792f313f4e918caabc46532aa64aa27a0db05d75b20edfc5c6f46479de2 \ --hash=sha256:32ca72bbc673adbcfecb935bb3fb1b74e663d10a4b241aaa2f5a75fe1d1f90aa \ --hash=sha256:356b3576ad078c89a6107caa9c50cc14e98e3a6c4874a37c3e0273e4baf33de8 \ --hash=sha256:40b951f601af999a8bf2ce8c71e8aaa4e8c6f78ff8afae7b808aae2dc50d4c40 \ @@ -602,7 +556,6 @@ greenlet==1.1.2 \ --hash=sha256:7ff61ff178250f9bb3cd89752df0f1dd0e27316a8bd1465351652b1b4a4cdfd3 \ --hash=sha256:833e1551925ed51e6b44c800e71e77dacd7e49181fdc9ac9a0bf3714d515785d \ --hash=sha256:8639cadfda96737427330a094476d4c7a56ac03de7265622fcf4cfe57c8ae18d \ - --hash=sha256:8c5d5b35f789a030ebb95bff352f1d27a93d81069f2adb3182d99882e095cefe \ --hash=sha256:8c790abda465726cfb8bb08bd4ca9a5d0a7bd77c7ac1ca1b839ad823b948ea28 \ --hash=sha256:8d2f1fb53a421b410751887eb4ff21386d119ef9cde3797bf5e7ed49fb51a3b3 \ --hash=sha256:903bbd302a2378f984aef528f76d4c9b1748f318fe1294961c072bdc7f2ffa3e \ @@ -616,8 +569,6 @@ greenlet==1.1.2 \ --hash=sha256:aec52725173bd3a7b56fe91bc56eccb26fbdff1386ef123abb63c84c5b43b63a \ --hash=sha256:b11548073a2213d950c3f671aa88e6f83cda6e2fb97a8b6317b1b5b33d850e06 \ --hash=sha256:b1692f7d6bc45e3200844be0dba153612103db241691088626a33ff1f24a0d88 \ - --hash=sha256:b336501a05e13b616ef81ce329c0e09ac5ed8c732d9ba7e3e983fcc1a9e86965 \ - --hash=sha256:b8c008de9d0daba7b6666aa5bbfdc23dcd78cafc33997c9b7741ff6353bafb7f \ --hash=sha256:b92e29e58bef6d9cfd340c72b04d74c4b4e9f70c9fa7c78b674d1fec18896dc4 \ --hash=sha256:be5f425ff1f5f4b3c1e33ad64ab994eed12fc284a6ea71c5243fd564502ecbe5 \ --hash=sha256:dd0b1e9e891f69e7675ba5c92e28b90eaa045f6ab134ffe70b52e948aa175b3c \ @@ -696,6 +647,10 @@ inlinestyler==0.2.5 \ --hash=sha256:49ff2d03bc848ab6edc1123421efb0264eb4f53bf5bad22685039fda98ee5a05 \ --hash=sha256:7cc301bdca944c9a09ae5d57a761af7b94d2ebc93aa9699ba67b12bd4d985b08 # via django-html-emailer +isodate==0.6.0 \ + --hash=sha256:2e364a3d5759479cdb2d37cce6b9376ea504db2ff90252a2e5b7cc89cc9ff2d8 \ + --hash=sha256:aa4d33c06640f5352aca96e4b81afd8ab3b47337cc12089822d6f322ac772c81 + # via openapi-schema-validator isort==5.10.1 \ --hash=sha256:6f62d78e2f89b4500b080fe3a81690850cd254227f27f75c3a0c491a1f351ba7 \ --hash=sha256:e8443a5e7a020e9d7f97f1d7d9cd17c88bcb3bc7e218bf9cf5095fe550be2951 @@ -704,12 +659,11 @@ itypes==1.2.0 \ --hash=sha256:03da6872ca89d29aef62773672b2d408f490f80db48b23079a4b194c86dd04c6 \ --hash=sha256:af886f129dea4a2a1e3d36595a2d139589e4dd287f5cab0b40e799ee81570ff1 # via coreapi -jinja2==3.0.3 \ - --hash=sha256:077ce6014f7b40d03b47d1f1ca4b0fc8328a692bd284016f806ed0eaca390ad8 \ - --hash=sha256:611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7 +jinja2==2.11.3 \ + --hash=sha256:03e47ad063331dd6a3f04a43eddca8a966a26ba0c5b7207a9a9e4e08f1b29419 \ + --hash=sha256:a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6 # via # -r requirements.in - # compliance-trestle # coreschema # datamodel-code-generator # spacy @@ -784,67 +738,67 @@ langcodes==3.3.0 \ --hash=sha256:4d89fc9acb6e9c8fdef70bcdf376113a3db09b67285d9e1d534de6d8818e7e69 \ --hash=sha256:794d07d5a28781231ac335a1561b8442f8648ca07cd518310aeb45d6f0807ef6 # via spacy -lxml==4.7.1 \ - --hash=sha256:0607ff0988ad7e173e5ddf7bf55ee65534bd18a5461183c33e8e41a59e89edf4 \ - --hash=sha256:09b738360af8cb2da275998a8bf79517a71225b0de41ab47339c2beebfff025f \ - --hash=sha256:0a5f0e4747f31cff87d1eb32a6000bde1e603107f632ef4666be0dc065889c7a \ - --hash=sha256:0b5e96e25e70917b28a5391c2ed3ffc6156513d3db0e1476c5253fcd50f7a944 \ - --hash=sha256:1104a8d47967a414a436007c52f533e933e5d52574cab407b1e49a4e9b5ddbd1 \ - --hash=sha256:13dbb5c7e8f3b6a2cf6e10b0948cacb2f4c9eb05029fe31c60592d08ac63180d \ - --hash=sha256:2a906c3890da6a63224d551c2967413b8790a6357a80bf6b257c9a7978c2c42d \ - --hash=sha256:317bd63870b4d875af3c1be1b19202de34c32623609ec803b81c99193a788c1e \ - --hash=sha256:34c22eb8c819d59cec4444d9eebe2e38b95d3dcdafe08965853f8799fd71161d \ - --hash=sha256:36b16fecb10246e599f178dd74f313cbdc9f41c56e77d52100d1361eed24f51a \ - --hash=sha256:38d9759733aa04fb1697d717bfabbedb21398046bd07734be7cccc3d19ea8675 \ - --hash=sha256:3e26ad9bc48d610bf6cc76c506b9e5ad9360ed7a945d9be3b5b2c8535a0145e3 \ - --hash=sha256:41358bfd24425c1673f184d7c26c6ae91943fe51dfecc3603b5e08187b4bcc55 \ - --hash=sha256:447d5009d6b5447b2f237395d0018901dcc673f7d9f82ba26c1b9f9c3b444b60 \ - --hash=sha256:44f552e0da3c8ee3c28e2eb82b0b784200631687fc6a71277ea8ab0828780e7d \ - --hash=sha256:490712b91c65988012e866c411a40cc65b595929ececf75eeb4c79fcc3bc80a6 \ - --hash=sha256:4c093c571bc3da9ebcd484e001ba18b8452903cd428c0bc926d9b0141bcb710e \ - --hash=sha256:50d3dba341f1e583265c1a808e897b4159208d814ab07530202b6036a4d86da5 \ - --hash=sha256:534e946bce61fd162af02bad7bfd2daec1521b71d27238869c23a672146c34a5 \ - --hash=sha256:585ea241ee4961dc18a95e2f5581dbc26285fcf330e007459688096f76be8c42 \ - --hash=sha256:59e7da839a1238807226f7143c68a479dee09244d1b3cf8c134f2fce777d12d0 \ - --hash=sha256:5b0f782f0e03555c55e37d93d7a57454efe7495dab33ba0ccd2dbe25fc50f05d \ - --hash=sha256:5bee1b0cbfdb87686a7fb0e46f1d8bd34d52d6932c0723a86de1cc532b1aa489 \ - --hash=sha256:610807cea990fd545b1559466971649e69302c8a9472cefe1d6d48a1dee97440 \ - --hash=sha256:6308062534323f0d3edb4e702a0e26a76ca9e0e23ff99be5d82750772df32a9e \ - --hash=sha256:67fa5f028e8a01e1d7944a9fb616d1d0510d5d38b0c41708310bd1bc45ae89f6 \ - --hash=sha256:6a2ab9d089324d77bb81745b01f4aeffe4094306d939e92ba5e71e9a6b99b71e \ - --hash=sha256:6c198bfc169419c09b85ab10cb0f572744e686f40d1e7f4ed09061284fc1303f \ - --hash=sha256:6e56521538f19c4a6690f439fefed551f0b296bd785adc67c1777c348beb943d \ - --hash=sha256:6ec829058785d028f467be70cd195cd0aaf1a763e4d09822584ede8c9eaa4b03 \ - --hash=sha256:718d7208b9c2d86aaf0294d9381a6acb0158b5ff0f3515902751404e318e02c9 \ - --hash=sha256:735e3b4ce9c0616e85f302f109bdc6e425ba1670a73f962c9f6b98a6d51b77c9 \ - --hash=sha256:772057fba283c095db8c8ecde4634717a35c47061d24f889468dc67190327bcd \ - --hash=sha256:7b5e2acefd33c259c4a2e157119c4373c8773cf6793e225006a1649672ab47a6 \ - --hash=sha256:82d16a64236970cb93c8d63ad18c5b9f138a704331e4b916b2737ddfad14e0c4 \ - --hash=sha256:87c1b0496e8c87ec9db5383e30042357b4839b46c2d556abd49ec770ce2ad868 \ - --hash=sha256:8e54945dd2eeb50925500957c7c579df3cd07c29db7810b83cf30495d79af267 \ - --hash=sha256:9393a05b126a7e187f3e38758255e0edf948a65b22c377414002d488221fdaa2 \ - --hash=sha256:9fbc0dee7ff5f15c4428775e6fa3ed20003140560ffa22b88326669d53b3c0f4 \ - --hash=sha256:a1613838aa6b89af4ba10a0f3a972836128801ed008078f8c1244e65958f1b24 \ - --hash=sha256:a1bbc4efa99ed1310b5009ce7f3a1784698082ed2c1ef3895332f5df9b3b92c2 \ - --hash=sha256:a555e06566c6dc167fbcd0ad507ff05fd9328502aefc963cb0a0547cfe7f00db \ - --hash=sha256:a58d78653ae422df6837dd4ca0036610b8cb4962b5cfdbd337b7b24de9e5f98a \ - --hash=sha256:a5edc58d631170de90e50adc2cc0248083541affef82f8cd93bea458e4d96db8 \ - --hash=sha256:a5f623aeaa24f71fce3177d7fee875371345eb9102b355b882243e33e04b7175 \ - --hash=sha256:adaab25be351fff0d8a691c4f09153647804d09a87a4e4ea2c3f9fe9e8651851 \ - --hash=sha256:ade74f5e3a0fd17df5782896ddca7ddb998845a5f7cd4b0be771e1ffc3b9aa5b \ - --hash=sha256:b1d381f58fcc3e63fcc0ea4f0a38335163883267f77e4c6e22d7a30877218a0e \ - --hash=sha256:bf6005708fc2e2c89a083f258b97709559a95f9a7a03e59f805dd23c93bc3986 \ - --hash=sha256:d546431636edb1d6a608b348dd58cc9841b81f4116745857b6cb9f8dadb2725f \ - --hash=sha256:d5618d49de6ba63fe4510bdada62d06a8acfca0b4b5c904956c777d28382b419 \ - --hash=sha256:dfd0d464f3d86a1460683cd742306d1138b4e99b79094f4e07e1ca85ee267fe7 \ - --hash=sha256:e18281a7d80d76b66a9f9e68a98cf7e1d153182772400d9a9ce855264d7d0ce7 \ - --hash=sha256:e410cf3a2272d0a85526d700782a2fa92c1e304fdcc519ba74ac80b8297adf36 \ - --hash=sha256:e662c6266e3a275bdcb6bb049edc7cd77d0b0f7e119a53101d367c841afc66dc \ - --hash=sha256:ec9027d0beb785a35aa9951d14e06d48cfbf876d8ff67519403a2522b181943b \ - --hash=sha256:eed394099a7792834f0cb4a8f615319152b9d801444c1c9e1b1a2c36d2239f9e \ - --hash=sha256:f76dbe44e31abf516114f6347a46fa4e7c2e8bceaa4b6f7ee3a0a03c8eba3c17 \ - --hash=sha256:fc15874816b9320581133ddc2096b644582ab870cf6a6ed63684433e7af4b0d3 \ - --hash=sha256:fc9fb11b65e7bc49f7f75aaba1b700f7181d95d4e151cf2f24d51bfd14410b77 +lxml==4.6.5 \ + --hash=sha256:11ae552a78612620afd15625be9f1b82e3cc2e634f90d6b11709b10a100cba59 \ + --hash=sha256:121fc6f71c692b49af6c963b84ab7084402624ffbe605287da362f8af0668ea3 \ + --hash=sha256:124f09614f999551ac65e5b9875981ce4b66ac4b8e2ba9284572f741935df3d9 \ + --hash=sha256:12ae2339d32a2b15010972e1e2467345b7bf962e155671239fba74c229564b7f \ + --hash=sha256:12d8d6fe3ddef629ac1349fa89a638b296a34b6529573f5055d1cb4e5245f73b \ + --hash=sha256:1a2a7659b8eb93c6daee350a0d844994d49245a0f6c05c747f619386fb90ba04 \ + --hash=sha256:1ccbfe5d17835db906f2bab6f15b34194db1a5b07929cba3cf45a96dbfbfefc0 \ + --hash=sha256:2f77556266a8fe5428b8759fbfc4bd70be1d1d9c9b25d2a414f6a0c0b0f09120 \ + --hash=sha256:3534d7c468c044f6aef3c0aff541db2826986a29ea73f2ca831f5d5284d9b570 \ + --hash=sha256:3884476a90d415be79adfa4e0e393048630d0d5bcd5757c4c07d8b4b00a1096b \ + --hash=sha256:3b95fb7e6f9c2f53db88f4642231fc2b8907d854e614710996a96f1f32018d5c \ + --hash=sha256:46515773570a33eae13e451c8fcf440222ef24bd3b26f40774dd0bd8b6db15b2 \ + --hash=sha256:46f21f2600d001af10e847df9eb3b832e8a439f696c04891bcb8a8cedd859af9 \ + --hash=sha256:473701599665d874919d05bb33b56180447b3a9da8d52d6d9799f381ce23f95c \ + --hash=sha256:4b9390bf973e3907d967b75be199cf1978ca8443183cf1e78ad80ad8be9cf242 \ + --hash=sha256:4f415624cf8b065796649a5e4621773dc5c9ea574a944c76a7f8a6d3d2906b41 \ + --hash=sha256:534032a5ceb34bba1da193b7d386ac575127cc39338379f39a164b10d97ade89 \ + --hash=sha256:558485218ee06458643b929765ac1eb04519ca3d1e2dcc288517de864c747c33 \ + --hash=sha256:57cf05466917e08f90e323f025b96f493f92c0344694f5702579ab4b7e2eb10d \ + --hash=sha256:59d77bfa3bea13caee95bc0d3f1c518b15049b97dd61ea8b3d71ce677a67f808 \ + --hash=sha256:5d5254c815c186744c8f922e2ce861a2bdeabc06520b4b30b2f7d9767791ce6e \ + --hash=sha256:5ea121cb66d7e5cb396b4c3ca90471252b94e01809805cfe3e4e44be2db3a99c \ + --hash=sha256:60aeb14ff9022d2687ef98ce55f6342944c40d00916452bb90899a191802137a \ + --hash=sha256:642eb4cabd997c9b949a994f9643cd8ae00cf4ca8c5cd9c273962296fadf1c44 \ + --hash=sha256:6548fc551de15f310dd0564751d9dc3d405278d45ea9b2b369ed1eccf142e1f5 \ + --hash=sha256:68a851176c931e2b3de6214347b767451243eeed3bea34c172127bbb5bf6c210 \ + --hash=sha256:6e84edecc3a82f90d44ddee2ee2a2630d4994b8471816e226d2b771cda7ac4ca \ + --hash=sha256:73e8614258404b2689a26cb5d002512b8bc4dfa18aca86382f68f959aee9b0c8 \ + --hash=sha256:7679bb6e4d9a3978a46ab19a3560e8d2b7265ef3c88152e7fdc130d649789887 \ + --hash=sha256:76b6c296e4f7a1a8a128aec42d128646897f9ae9a700ef6839cdc9b3900db9b5 \ + --hash=sha256:7f00cc64b49d2ef19ddae898a3def9dd8fda9c3d27c8a174c2889ee757918e71 \ + --hash=sha256:8021eeff7fabde21b9858ed058a8250ad230cede91764d598c2466b0ba70db8b \ + --hash=sha256:87f8f7df70b90fbe7b49969f07b347e3f978f8bd1046bb8ecae659921869202b \ + --hash=sha256:916d457ad84e05b7db52700bad0a15c56e0c3000dcaf1263b2fb7a56fe148996 \ + --hash=sha256:925174cafb0f1179a7fd38da90302555d7445e34c9ece68019e53c946be7f542 \ + --hash=sha256:9801bcd52ac9c795a7d81ea67471a42cffe532e46cfb750cd5713befc5c019c0 \ + --hash=sha256:99cf827f5a783038eb313beee6533dddb8bdb086d7269c5c144c1c952d142ace \ + --hash=sha256:a21b78af7e2e13bec6bea12fc33bc05730197674f3e5402ce214d07026ccfebd \ + --hash=sha256:a52e8f317336a44836475e9c802f51c2dc38d612eaa76532cb1d17690338b63b \ + --hash=sha256:a702005e447d712375433ed0499cb6e1503fadd6c96a47f51d707b4d37b76d3c \ + --hash=sha256:a708c291900c40a7ecf23f1d2384ed0bc0604e24094dd13417c7e7f8f7a50d93 \ + --hash=sha256:a7790a273225b0c46e5f859c1327f0f659896cc72eaa537d23aa3ad9ff2a1cc1 \ + --hash=sha256:abcf7daa5ebcc89328326254f6dd6d566adb483d4d00178892afd386ab389de2 \ + --hash=sha256:add017c5bd6b9ec3a5f09248396b6ee2ce61c5621f087eb2269c813cd8813808 \ + --hash=sha256:af4139172ff0263d269abdcc641e944c9de4b5d660894a3ec7e9f9db63b56ac9 \ + --hash=sha256:b4015baed99d046c760f09a4c59d234d8f398a454380c3cf0b859aba97136090 \ + --hash=sha256:ba0006799f21d83c3717fe20e2707a10bbc296475155aadf4f5850f6659b96b9 \ + --hash=sha256:bdb98f4c9e8a1735efddfaa995b0c96559792da15d56b76428bdfc29f77c4cdb \ + --hash=sha256:c34234a1bc9e466c104372af74d11a9f98338a3f72fae22b80485171a64e0144 \ + --hash=sha256:c580c2a61d8297a6e47f4d01f066517dbb019be98032880d19ece7f337a9401d \ + --hash=sha256:ca9a40497f7e97a2a961c04fa8a6f23d790b0521350a8b455759d786b0bcb203 \ + --hash=sha256:cab343b265e38d4e00649cbbad9278b734c5715f9bcbb72c85a1f99b1a58e19a \ + --hash=sha256:ce52aad32ec6e46d1a91ff8b8014a91538800dd533914bfc4a82f5018d971408 \ + --hash=sha256:da07c7e7fc9a3f40446b78c54dbba8bfd5c9100dfecb21b65bfe3f57844f5e71 \ + --hash=sha256:dc8a0dbb2a10ae8bb609584f5c504789f0f3d0d81840da4849102ec84289f952 \ + --hash=sha256:e5b4b0d9440046ead3bd425eb2b852499241ee0cef1ae151038e4f87ede888c4 \ + --hash=sha256:f33d8efb42e4fc2b31b3b4527940b25cdebb3026fb56a80c1c1c11a4271d2352 \ + --hash=sha256:f6befb83bca720b71d6bd6326a3b26e9496ae6649e26585de024890fe50f49b8 \ + --hash=sha256:fcc849b28f584ed1dbf277291ded5c32bb3476a37032df4a1d523b55faa5f944 \ + --hash=sha256:ff44de36772b05c2eb74f2b4b6d1ae29b8f41ed5506310ce1258d44826ee38c1 # via # inlinestyler # parsel @@ -852,78 +806,62 @@ mako==1.1.6 \ --hash=sha256:4e9e345a41924a954251b95b4b28e14a301145b544901332e658907a7464b6b2 \ --hash=sha256:afaf8e515d075b22fad7d7b8b30e4a1c90624ff2f3733a06ec125f5a5f043a57 # via alembic -markupsafe==2.0.1 \ - --hash=sha256:01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298 \ - --hash=sha256:023cb26ec21ece8dc3907c0e8320058b2e0cb3c55cf9564da612bc325bed5e64 \ - --hash=sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b \ - --hash=sha256:04635854b943835a6ea959e948d19dcd311762c5c0c6e1f0e16ee57022669194 \ - --hash=sha256:0717a7390a68be14b8c793ba258e075c6f4ca819f15edfc2a3a027c823718567 \ - --hash=sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff \ - --hash=sha256:0d4b31cc67ab36e3392bbf3862cfbadac3db12bdd8b02a2731f509ed5b829724 \ - --hash=sha256:10f82115e21dc0dfec9ab5c0223652f7197feb168c940f3ef61563fc2d6beb74 \ - --hash=sha256:168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646 \ - --hash=sha256:1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35 \ - --hash=sha256:1f2ade76b9903f39aa442b4aadd2177decb66525062db244b35d71d0ee8599b6 \ - --hash=sha256:20dca64a3ef2d6e4d5d615a3fd418ad3bde77a47ec8a23d984a12b5b4c74491a \ - --hash=sha256:2a7d351cbd8cfeb19ca00de495e224dea7e7d919659c2841bbb7f420ad03e2d6 \ - --hash=sha256:2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad \ - --hash=sha256:2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26 \ - --hash=sha256:36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38 \ - --hash=sha256:37205cac2a79194e3750b0af2a5720d95f786a55ce7df90c3af697bfa100eaac \ - --hash=sha256:3c112550557578c26af18a1ccc9e090bfe03832ae994343cfdacd287db6a6ae7 \ - --hash=sha256:3dd007d54ee88b46be476e293f48c85048603f5f516008bee124ddd891398ed6 \ - --hash=sha256:4296f2b1ce8c86a6aea78613c34bb1a672ea0e3de9c6ba08a960efe0b0a09047 \ - --hash=sha256:47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75 \ - --hash=sha256:49e3ceeabbfb9d66c3aef5af3a60cc43b85c33df25ce03d0031a608b0a8b2e3f \ - --hash=sha256:4dc8f9fb58f7364b63fd9f85013b780ef83c11857ae79f2feda41e270468dd9b \ - --hash=sha256:4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135 \ - --hash=sha256:53edb4da6925ad13c07b6d26c2a852bd81e364f95301c66e930ab2aef5b5ddd8 \ - --hash=sha256:5855f8438a7d1d458206a2466bf82b0f104a3724bf96a1c781ab731e4201731a \ - --hash=sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a \ - --hash=sha256:5b6d930f030f8ed98e3e6c98ffa0652bdb82601e7a016ec2ab5d7ff23baa78d1 \ - --hash=sha256:5bb28c636d87e840583ee3adeb78172efc47c8b26127267f54a9c0ec251d41a9 \ - --hash=sha256:60bf42e36abfaf9aff1f50f52644b336d4f0a3fd6d8a60ca0d054ac9f713a864 \ - --hash=sha256:611d1ad9a4288cf3e3c16014564df047fe08410e628f89805e475368bd304914 \ - --hash=sha256:6300b8454aa6930a24b9618fbb54b5a68135092bc666f7b06901f897fa5c2fee \ - --hash=sha256:63f3268ba69ace99cab4e3e3b5840b03340efed0948ab8f78d2fd87ee5442a4f \ - --hash=sha256:6557b31b5e2c9ddf0de32a691f2312a32f77cd7681d8af66c2692efdbef84c18 \ - --hash=sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8 \ - --hash=sha256:6a7fae0dd14cf60ad5ff42baa2e95727c3d81ded453457771d02b7d2b3f9c0c2 \ - --hash=sha256:6c4ca60fa24e85fe25b912b01e62cb969d69a23a5d5867682dd3e80b5b02581d \ - --hash=sha256:6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b \ - --hash=sha256:7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b \ - --hash=sha256:89c687013cb1cd489a0f0ac24febe8c7a666e6e221b783e53ac50ebf68e45d86 \ - --hash=sha256:8d206346619592c6200148b01a2142798c989edcb9c896f9ac9722a99d4e77e6 \ - --hash=sha256:905fec760bd2fa1388bb5b489ee8ee5f7291d692638ea5f67982d968366bef9f \ - --hash=sha256:97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb \ - --hash=sha256:984d76483eb32f1bcb536dc27e4ad56bba4baa70be32fa87152832cdd9db0833 \ - --hash=sha256:99df47edb6bda1249d3e80fdabb1dab8c08ef3975f69aed437cb69d0a5de1e28 \ - --hash=sha256:9f02365d4e99430a12647f09b6cc8bab61a6564363f313126f775eb4f6ef798e \ - --hash=sha256:a30e67a65b53ea0a5e62fe23682cfe22712e01f453b95233b25502f7c61cb415 \ - --hash=sha256:ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902 \ - --hash=sha256:aca6377c0cb8a8253e493c6b451565ac77e98c2951c45f913e0b52facdcff83f \ - --hash=sha256:add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d \ - --hash=sha256:b2f4bf27480f5e5e8ce285a8c8fd176c0b03e93dcc6646477d4630e83440c6a9 \ - --hash=sha256:b7f2d075102dc8c794cbde1947378051c4e5180d52d276987b8d28a3bd58c17d \ - --hash=sha256:baa1a4e8f868845af802979fcdbf0bb11f94f1cb7ced4c4b8a351bb60d108145 \ - --hash=sha256:be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066 \ - --hash=sha256:bf5d821ffabf0ef3533c39c518f3357b171a1651c1ff6827325e4489b0e46c3c \ - --hash=sha256:c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1 \ - --hash=sha256:cdfba22ea2f0029c9261a4bd07e830a8da012291fbe44dc794e488b6c9bb353a \ - --hash=sha256:d6c7ebd4e944c85e2c3421e612a7057a2f48d478d79e61800d81468a8d842207 \ - --hash=sha256:d7f9850398e85aba693bb640262d3611788b1f29a79f0c93c565694658f4071f \ - --hash=sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53 \ - --hash=sha256:deb993cacb280823246a026e3b2d81c493c53de6acfd5e6bfe31ab3402bb37dd \ - --hash=sha256:e0f138900af21926a02425cf736db95be9f4af72ba1bb21453432a07f6082134 \ - --hash=sha256:e9936f0b261d4df76ad22f8fee3ae83b60d7c3e871292cd42f40b81b70afae85 \ - --hash=sha256:f0567c4dc99f264f49fe27da5f735f414c4e7e7dd850cfd8e69f0862d7c74ea9 \ - --hash=sha256:f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5 \ - --hash=sha256:f826e31d18b516f653fe296d967d700fddad5901ae07c622bb3705955e1faa94 \ - --hash=sha256:f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509 \ - --hash=sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51 \ - --hash=sha256:fa130dd50c57d53368c9d59395cb5526eda596d3ffe36666cd81a44d56e48872 +markupsafe==1.1.1 \ + --hash=sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473 \ + --hash=sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161 \ + --hash=sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235 \ + --hash=sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5 \ + --hash=sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42 \ + --hash=sha256:195d7d2c4fbb0ee8139a6cf67194f3973a6b3042d742ebe0a9ed36d8b6f0c07f \ + --hash=sha256:22c178a091fc6630d0d045bdb5992d2dfe14e3259760e713c490da5323866c39 \ + --hash=sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff \ + --hash=sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b \ + --hash=sha256:2beec1e0de6924ea551859edb9e7679da6e4870d32cb766240ce17e0a0ba2014 \ + --hash=sha256:3b8a6499709d29c2e2399569d96719a1b21dcd94410a586a18526b143ec8470f \ + --hash=sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1 \ + --hash=sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e \ + --hash=sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183 \ + --hash=sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66 \ + --hash=sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b \ + --hash=sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1 \ + --hash=sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15 \ + --hash=sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1 \ + --hash=sha256:6f1e273a344928347c1290119b493a1f0303c52f5a5eae5f16d74f48c15d4a85 \ + --hash=sha256:6fffc775d90dcc9aed1b89219549b329a9250d918fd0b8fa8d93d154918422e1 \ + --hash=sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e \ + --hash=sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b \ + --hash=sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905 \ + --hash=sha256:7fed13866cf14bba33e7176717346713881f56d9d2bcebab207f7a036f41b850 \ + --hash=sha256:84dee80c15f1b560d55bcfe6d47b27d070b4681c699c572af2e3c7cc90a3b8e0 \ + --hash=sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735 \ + --hash=sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d \ + --hash=sha256:98bae9582248d6cf62321dcb52aaf5d9adf0bad3b40582925ef7c7f0ed85fceb \ + --hash=sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e \ + --hash=sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d \ + --hash=sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c \ + --hash=sha256:a6a744282b7718a2a62d2ed9d993cad6f5f585605ad352c11de459f4108df0a1 \ + --hash=sha256:acf08ac40292838b3cbbb06cfe9b2cb9ec78fce8baca31ddb87aaac2e2dc3bc2 \ + --hash=sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21 \ + --hash=sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2 \ + --hash=sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5 \ + --hash=sha256:b1dba4527182c95a0db8b6060cc98ac49b9e2f5e64320e2b56e47cb2831978c7 \ + --hash=sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b \ + --hash=sha256:b7d644ddb4dbd407d31ffb699f1d140bc35478da613b441c582aeb7c43838dd8 \ + --hash=sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6 \ + --hash=sha256:bf5aa3cbcfdf57fa2ee9cd1822c862ef23037f5c832ad09cfea57fa846dec193 \ + --hash=sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f \ + --hash=sha256:caabedc8323f1e93231b52fc32bdcde6db817623d33e100708d9a68e1f53b26b \ + --hash=sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f \ + --hash=sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2 \ + --hash=sha256:d53bc011414228441014aa71dbec320c66468c1030aae3a6e29778a3382d96e5 \ + --hash=sha256:d73a845f227b0bfe8a7455ee623525ee656a9e2e749e4742706d80a6065d5e2c \ + --hash=sha256:d9be0ba6c527163cbed5e0857c451fcd092ce83947944d6c14bc95441203f032 \ + --hash=sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7 \ + --hash=sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be \ + --hash=sha256:feb7b34d6325451ef96bc0e36e1a6c0c1c64bc1fbec4b854f4529e51887b1621 # via # -r requirements.in + # compliance-trestle # jinja2 # mako matplotlib==3.5.1 \ @@ -963,6 +901,10 @@ matplotlib==3.5.1 \ --hash=sha256:edf5e4e1d5fb22c18820e8586fb867455de3b109c309cb4fce3aaed85d9468d1 \ --hash=sha256:fe8d40c434a8e2c68d64c6d6a04e77f21791a93ff6afe0dce169597c110d3079 # via wordcloud +mistune==2.0.0rc1 \ + --hash=sha256:02437870a8d594e61e4f6cff2f56f5104d17d56e3fea5fb234070ede5e7c2eae \ + --hash=sha256:452bdba97c27efc7c1a83823ed0d6a08a9ad6ea5c67648248509f618b68aa7d9 + # via compliance-trestle mozilla-django-oidc==1.2.4 \ --hash=sha256:6f1064ec35c0dc42a7f6487e8649c9b51db04df52c424f48ebad6fe35e7481c8 \ --hash=sha256:a5130790bc71096b864d67486bbdabbbd4efc9bf1a755fb50d1f51891c11f423 @@ -992,9 +934,9 @@ mypy-extensions==0.4.3 \ --hash=sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d \ --hash=sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8 # via black -natsort==8.0.2 \ - --hash=sha256:09cff3cabb617f9794f643758ab5b337c1c0af1a6df11edf5c04de496fd7fb26 \ - --hash=sha256:feb87e0ce1dc1f8f3f21e18a85216c790e746d76a5ff6889563394605f504a2b +natsort==8.0.1 \ + --hash=sha256:2e8fbc2b9e44ed7cbdf55d782375d706ba8742591c1c5910992542f3899abbed \ + --hash=sha256:c504a229c38926e047e9c3952a08920bc585efb62d7d160514ace9898b00ac0b # via -r requirements.in nplusone==1.0.0 \ --hash=sha256:1726c0a10c0aa7eabb04e24db2882ff97b6b7ee29d729a8d97dcbd12ef5a5651 \ @@ -1024,7 +966,6 @@ numpy==1.22.0 \ --hash=sha256:e41e8951749c4b5c9a2dc5fdbc1a4eec6ab2a140fdae9b460b0f557eed870f4d \ --hash=sha256:f71d57cc8645f14816ae249407d309be250ad8de93ef61d9709b45a0ddf4050c # via - # -r requirements.in # blis # matplotlib # pandas @@ -1047,39 +988,11 @@ openapi-spec-validator==0.3.1 \ openpyxl==3.0.9 \ --hash=sha256:40f568b9829bf9e446acfffce30250ac1fa39035124d55fc024025c41481c90f \ --hash=sha256:8f3b11bd896a95468a4ab162fc4fcd260d46157155d1f8bfaabb99d88cfcf79f - # via - # -r requirements.in - # compliance-trestle + # via -r requirements.in orderedmultidict==1.0.1 \ --hash=sha256:04070bbb5e87291cc9bfa51df413677faf2141c73c61d2a5f7b26bea3cd882ad \ --hash=sha256:43c839a17ee3cdd62234c47deca1a8508a3f2ca1d0678a3bf791c87cf84adbf3 # via furl -orjson==3.6.5 \ - --hash=sha256:001962a334e1ab2162d2f695f2770d2383c7ffd2805cec6dbb63ea2ad96bf0ad \ - --hash=sha256:0720d60db3fa25956011a573274a269eb37de98070f3bc186582af1222a2d084 \ - --hash=sha256:0d65cc67f2e358712e33bc53810022ef5181c2378a7603249cd0898aa6cd28d4 \ - --hash=sha256:0fa32319072fadf0732d2c1746152f868a1b0f83c8cce2cad4996f5f3ca4e979 \ - --hash=sha256:206237fa5e45164a678b12acc02aac7c5b50272f7f31116e1e08f8bcaf654f93 \ - --hash=sha256:331f9a3bdba30a6913ad1d149df08e4837581e3ce92bf614277d84efccaf796f \ - --hash=sha256:432c6da3d8d4630739f5303dcc45e8029d357b7ff8e70b7239be7bd047df6b19 \ - --hash=sha256:443f39bc5e7966880142430ce091e502aea068b38cb9db5f1ffdcfee682bc2d4 \ - --hash=sha256:470596fbe300a7350fd7bbcf94d2647156401ab6465decb672a00e201af1813a \ - --hash=sha256:51ab01fed3b3e21561f21386a2f86a0415338541938883b6ca095001a3014a3e \ - --hash=sha256:522c088679c69e0dd2c72f43cd26a9e73df4ccf9ed725ac73c151bbe816fe51a \ - --hash=sha256:6a5e9eb031b44b7a429c705ca48820371d25b9467c9323b6ae7a712daf15fbef \ - --hash=sha256:6c444edc073eb69cf85b28851a7a957807a41ce9bb3a9c14eefa8b33030cf050 \ - --hash=sha256:80dba3dbc0563c49719e8cc7d1568a5cf738accfcd1aa6ca5e8222b57436e75e \ - --hash=sha256:82cb42dbd45a3856dbad0a22b54deb5e90b2567cdc2b8ea6708e0c4fe2e12be3 \ - --hash=sha256:a06f2dd88323a480ac1b14d5829fb6cdd9b0d72d505fabbfbd394da2e2e07f6f \ - --hash=sha256:d2680d9edc98171b0c59e52c1ed964619be5cb9661289c0dd2e667773fa87f15 \ - --hash=sha256:d2b871a745a64f72631b633271577c99da628a9b63e10bd5c9c20706e19fe282 \ - --hash=sha256:d5aceeb226b060d11ccb5a84a4cfd760f8024289e3810ec446ef2993a85dbaca \ - --hash=sha256:e169a8876aed7a5bff413c53257ef1fa1d9b68c855eb05d658c4e73ed8dff508 \ - --hash=sha256:eb3a7d92d783c89df26951ef3e5aca9d96c9c6f2284c752aa3382c736f950597 \ - --hash=sha256:ece5dfe346b91b442590a41af7afe61df0af369195fed13a1b29b96b1ba82905 \ - --hash=sha256:fa8e3d0f0466b7d771a8f067bd8961bc17ca6ea4c89a91cd34d6648e6b1d1e47 \ - --hash=sha256:fc7e62edbc7ece95779a034d9e206d7ba9e2b638cc548fd3a82dc5225f656625 - # via compliance-trestle outcome==1.1.0 \ --hash=sha256:c7dd9375cfd3c12db9801d080a3b63d4b0a261aa996c4c13152380587288d958 \ --hash=sha256:e862f01d4e626e63e8f92c38d1f8d5546d3f9cce989263c521b2e7990d186967 @@ -1177,9 +1090,9 @@ pillow==9.0.0 \ # -r requirements.in # matplotlib # wordcloud -platformdirs==2.4.1 \ - --hash=sha256:1d7385c7db91728b83efd0ca99a5afb296cab9d0ed8313a45ed8ba17967ecfca \ - --hash=sha256:440633ddfebcc36264232365d7840a970e75e1018d15b4327d11f91909045fda +platformdirs==2.4.0 \ + --hash=sha256:367a5e80b3d04d2428ffa76d33f124cf11e8fff2acdaa9b43d545f5c7d661ef2 \ + --hash=sha256:8868bbe3c3c80d42f20156f22e7131d2fb321f5bc86a2a345375c6481a67021d # via black prance==0.21.8.0 \ --hash=sha256:51ec41d10b317bf5d4e74782a7f7f0c0488c6042433b5b4fde2a988cd069d235 \ @@ -1545,15 +1458,11 @@ ruamel.yaml==0.17.20 \ # prance ruamel.yaml.clib==0.2.6 \ --hash=sha256:0847201b767447fc33b9c235780d3aa90357d20dd6108b92be544427bea197dd \ - --hash=sha256:1070ba9dd7f9370d0513d649420c3b362ac2d687fe78c6e888f5b12bf8bc7bee \ --hash=sha256:1866cf2c284a03b9524a5cc00daca56d80057c5ce3cdc86a52020f4c720856f0 \ - --hash=sha256:221eca6f35076c6ae472a531afa1c223b9c29377e62936f61bc8e6e8bdc5f9e7 \ --hash=sha256:31ea73e564a7b5fbbe8188ab8b334393e06d997914a4e184975348f204790277 \ --hash=sha256:3fb9575a5acd13031c57a62cc7823e5d2ff8bc3835ba4d94b921b4e6ee664104 \ --hash=sha256:4ff604ce439abb20794f05613c374759ce10e3595d1867764dd1ae675b85acbd \ - --hash=sha256:6e7be2c5bcb297f5b82fee9c665eb2eb7001d1050deaba8471842979293a80b0 \ --hash=sha256:72a2b8b2ff0a627496aad76f37a652bcef400fd861721744201ef1b45199ab78 \ - --hash=sha256:77df077d32921ad46f34816a9a16e6356d8100374579bc35e15bab5d4e9377de \ --hash=sha256:78988ed190206672da0f5d50c61afef8f67daa718d614377dcd5e3ed85ab4a99 \ --hash=sha256:7b2927e92feb51d830f531de4ccb11b320255ee95e791022555971c466af4527 \ --hash=sha256:7f7ecb53ae6848f959db6ae93bdff1740e651809780822270eab111500842a84 \ @@ -1707,43 +1616,42 @@ spacy-loggers==1.0.1 \ --hash=sha256:17d0e249b2e6c6546c49fc6561a0a685f91a8edbf24a5b2b7759ead443c74654 \ --hash=sha256:5e610c980efb831fa428c24fd659e5dd850ea6140c9ed987efe0e8d26df3ee7c # via spacy -sqlalchemy==1.4.29 \ - --hash=sha256:0072f9887aabe66db23f818bbe950cfa1b6127c5cb769b00bcc07935b3adb0ad \ - --hash=sha256:027f356c727db24f3c75828c7feb426f87ce1241242d08958e454bd025810660 \ - --hash=sha256:08cfd35eecaba79be930c9bfd2e1f0c67a7e1314355d83a378f9a512b1cf7587 \ - --hash=sha256:0fc4eec2f46b40bdd42112b3be3fbbf88e194bcf02950fbb88bcdc1b32f07dc7 \ - --hash=sha256:101d2e100ba9182c9039699588e0b2d833c54b3bad46c67c192159876c9f27ea \ - --hash=sha256:15b65887b6c324cad638c7671cb95985817b733242a7eb69edd7cdf6953be1e0 \ - --hash=sha256:37b46bfc4af3dc226acb6fa28ecd2e1fd223433dc5e15a2bad62bf0a0cbb4e8b \ - --hash=sha256:56d9d62021946263d4478c9ca012fbd1805f10994cb615c88e7bfd1ae14604d8 \ - --hash=sha256:5919e647e1d4805867ea556ed4967c68b4d8b266059fa35020dbaed8ffdd60f3 \ - --hash=sha256:5a717c2e70fd1bb477161c4cc85258e41d978584fbe5522613618195f7e87d9b \ - --hash=sha256:5e9cd33459afa69c88fa648e803d1f1245e3caa60bfe8b80a9595e5edd3bda9c \ - --hash=sha256:621854dbb4d2413c759a5571564170de45ef37299df52e78e62b42e2880192e1 \ - --hash=sha256:78abc507d17753ed434b6cc0c0693126279723d5656d9775bfcac966a99a899b \ - --hash=sha256:7dd0502cb091660ad0d89c5e95a29825f37cde2a5249957838e975871fbffaad \ - --hash=sha256:804e22d5b6165a4f3f019dd9c94bec5687de985a9c54286b93ded9f7846b8c82 \ - --hash=sha256:878daecb6405e786b07f97e1c77a9cfbbbec17432e8a90c487967e32cfdecb33 \ - --hash=sha256:886359f734b95ad1ef443b13bb4518bcade4db4f9553c9ce33d6d04ebda8d44e \ - --hash=sha256:9ce960a1dc60524136cf6f75621588e2508a117e04a6e3eedb0968bd13b8c824 \ - --hash=sha256:ad618d687d26d4cbfa9c6fa6141d59e05bcdfc60cb6e1f1d3baa18d8c62fef5f \ - --hash=sha256:c5de7adfb91d351f44062b8dedf29f49d4af7cb765be65816e79223a4e31062b \ - --hash=sha256:ceac84dd9abbbe115e8be0c817bed85d9fa639b4d294e7817f9e61162d5f766c \ - --hash=sha256:da64423c05256f4ab8c0058b90202053b201cbe3a081f3a43eb590cd554395ab \ - --hash=sha256:dc27dcc6c72eb38be7f144e9c2c4372d35a3684d3a6dd43bd98c1238358ee17c \ - --hash=sha256:dd49d21d1f03c81fbec9080ecdc4486d5ddda67e7fbb75ebf48294465c022cdc \ - --hash=sha256:debaf09a823061f88a8dee04949814cf7e82fb394c5bca22c780cb03172ca23b \ - --hash=sha256:e027bdf0a4cf6bd0a3ad3b998643ea374d7991bd117b90bf9982e41ceb742941 \ - --hash=sha256:e4ddd4f2e247128c58bb3dd4489922874afce157d2cff0b2295d67fcd0f22494 \ - --hash=sha256:e5f6959466a42b6569774c257e55f9cd85200d5b0ba09f0f5d8b5845349c5822 \ - --hash=sha256:e89347d3bd2ef873832b47e85f4bbd810a5e626c5e749d90a07638da100eb1c8 \ - --hash=sha256:e9cc6d844e24c307c3272677982a9b33816aeb45e4977791c3bdd47637a8d810 \ - --hash=sha256:eb8c993706e86178ce15a6b86a335a2064f52254b640e7f53365e716423d33f4 \ - --hash=sha256:eeaebceb24b46e884c4ad3c04f37feb178b81f6ce720af19bfa2592ca32fdef7 \ - --hash=sha256:f3909194751bb6cb7c5511dd18bcf77e6e3f0b31604ed4004dffa9461f71e737 \ - --hash=sha256:f74d6c05d2d163464adbdfbc1ab85048cc15462ff7d134b8aed22bd521e1faa5 \ - --hash=sha256:fa2bad14e1474ba649cfc969c1d2ec915dd3e79677f346bbfe08e93ef9020b39 \ - --hash=sha256:fbc6e63e481fa323036f305ada96a3362e1d60dd2bfa026cac10c3553e6880e9 +sqlalchemy==1.4.28 \ + --hash=sha256:08e39d65b38d4c3f77c4c9bf090b0ba4ec5721a6e0a74b63d2a9781cdcacf142 \ + --hash=sha256:2019b332cf4f9a513133fdf056dc4cecec7fbae7016ebc574d0f310103eed7ee \ + --hash=sha256:261fcb3ff8c59e17ec44f9e61713a44ceaa97ae816da978d5cd1dc2c36f32478 \ + --hash=sha256:29d10796e5604ab7bc067eda7231a2d2411a51eda43082673641245a49d1c4bb \ + --hash=sha256:387365c157e96eceacdd6c5468815ad05a523ba778680de4c8139a029e1fe044 \ + --hash=sha256:38df997ffa9007e953ad574f2263f61b9b683fd63ae397480ea4960be9bda0fd \ + --hash=sha256:3b64f5d1c1d0e5f2ed4aa66f2b65ff6bdcdf4c5cc83b71c4bbf69695b09e9e19 \ + --hash=sha256:41a02030f8934b0de843341e7014192a0c16ee2726a06da154c81153fbe56b33 \ + --hash=sha256:4490b10f83cd56ca2cdcd94b140d89911ac331e42a727b79157963b1b04fdd0c \ + --hash=sha256:4999b03daa6c9afb9a0bf9e3b8769128ef1880557dacfca86fa7562920c49f6b \ + --hash=sha256:525e962af8f25fc24ce019e6f237d49f8720d757a8a56c9b4caa2d91e2c66111 \ + --hash=sha256:555d56b71f61b4c9fa55fe203fe6e1e561c9385fa97c5849783ae050a89113af \ + --hash=sha256:5639800f1cfe751569af2242041b30a08a6c0b9e5d95ed674ec8082d381eff13 \ + --hash=sha256:5d91dce14ac3347bce301062ca825e7fb7e15c133f3909f15989e94878b1082f \ + --hash=sha256:61965abc63c8b54038574698888e91a126753a4bdc0ec001397acb14501834e0 \ + --hash=sha256:6dd6fa51cf08d9433d28802228d2204e175324f1a284c4492e4af2dd36a2d485 \ + --hash=sha256:7fdb7b775fb0739d3e71461509f978beb788935bc0aa9e47df14837cb33e5226 \ + --hash=sha256:83ee7f6fa5faed23996c67044376d46815f65183ad6d744d94d68b18cdef060b \ + --hash=sha256:853de08e881dae0305647dd61b4429758f11d1bf02a9faf02793cad44bb2e0d5 \ + --hash=sha256:b5541355b8d4970753d4f7292f73a320704b20406e06cd29b469d156f0a484d8 \ + --hash=sha256:b72744fed32ecf2bf786d2e2f6756c04126c323ba939f47177b9722775626889 \ + --hash=sha256:bb2d8530b7cc94b7fd9341843c3e49b6db48ea22313a8db9df21c41615b5e7b1 \ + --hash=sha256:bf2c1d64c4ee0f30e08e1844ff0acf3c1b6c4277c0e89ec3e8bf1722d245b108 \ + --hash=sha256:c3497cd63c5f90112b8882ea4dd694052166f779ce9055cd5c4305e0b76d72d9 \ + --hash=sha256:c85ead1d17acc5e8b282c578394dba253728bcbcbeb66e4ef0e25f4bab53935a \ + --hash=sha256:c90b21360cf14d33c8a004f991aa336c7906a8db825d4ec38722c5ff1c47dada \ + --hash=sha256:ca500f30619daf863ab1c66d57d53a0987361a8f3266454290198aabd18f2599 \ + --hash=sha256:ce4f2b34378561bc2e42635888fe86efe13d104ba1d95b5ca67b4d60d8e53e67 \ + --hash=sha256:cf3a3c2f32d53a4166b2eb8de35f93bcb640e51c32033024af500017d8e8a8c9 \ + --hash=sha256:daddcd6ba1706cc5fcc9cfaa913aa4bf331172dc7efd385fe3ee1feae3b513bc \ + --hash=sha256:dd041324328cece3ccdf70cfbd71b5ab968e564a22318ffd88b054f5eadeb9be \ + --hash=sha256:dfa093bd8ecfceafff62078910178567323005e44fbe4d7933e6cbce4512cea2 \ + --hash=sha256:e659f256b7d402338563913bdeba53bf1eadd4c09e6f6dc93cc47938f7962a8f \ + --hash=sha256:f25c02991e22ddce134ef1093ef5a9d5de448fc87b91432e4f879826e93cd1c7 \ + --hash=sha256:f667a947378bcb12a371ab38bed1b708f3a682d1ba30176422652082919285a2 # via # alembic # dataset @@ -1777,9 +1685,9 @@ stevedore==3.5.0 \ --hash=sha256:a547de73308fd7e90075bb4d301405bebf705292fa90a90fc3bcf9133f58616c \ --hash=sha256:f40253887d8712eaa2bb0ea3830374416736dc8ec0e22f5a65092c1174c44335 # via bandit -structlog==21.5.0 \ - --hash=sha256:68c4c29c003714fe86834f347cb107452847ba52414390a7ee583472bde00fc9 \ - --hash=sha256:fd7922e195262b337da85c2a91c84be94ccab1f8fd1957bd6986f6904e3761c8 +structlog==21.4.0 \ + --hash=sha256:305a66201f9605a2e8a2595271a446f258175901c09c01e4c2c2a8ac5b68edf1 \ + --hash=sha256:6ed8fadb27cf8362be0e606f5e79ccdd3b1e879aac65f9dc0ac3033fd013a7be # via -r requirements.in swapper==1.3.0 \ --hash=sha256:48a814f67be1abefe6c1495013808d1ff8e6b294f78384c88f5a93b81f7015fd \ @@ -1812,9 +1720,9 @@ toml==0.10.2 \ # via # datamodel-code-generator # dparse -tomli==1.2.3 \ - --hash=sha256:05b6166bff487dc068d322585c7ea4ef78deed501cc124060e0f238e89a9231f \ - --hash=sha256:e3069e4be3ead9668e21cb9b074cd948f7b3113fd9c8bba083f48247aab8b11c +tomli==1.2.2 \ + --hash=sha256:c6ce0015eb38820eaf32b5db832dbc26deb3dd427bd5f6556cf0acac2c214fee \ + --hash=sha256:f04066f68f5554911363063a30b108d2b5a5b1a010aa8b6132af78489fe3aade # via black tqdm==4.62.3 \ --hash=sha256:8dd278a422499cd6b727e6ae4061c40b48fce8b76d1ccbf5d34fca9b7f925b0c \ diff --git a/siteapp/model_mixins/events.py b/siteapp/model_mixins/events.py new file mode 100644 index 000000000..87610cc6b --- /dev/null +++ b/siteapp/model_mixins/events.py @@ -0,0 +1,65 @@ +from django.db import models +from django.http import JsonResponse + +class TagModelMixin(models.Model): + tags = models.ManyToManyField("siteapp.Tag", related_name="%(class)s") + + def add_tags(self, tags=None): + if tags is None: + tags = [] + elif isinstance(tags, str): + tags = [tags] + assert isinstance(tags, list) + self.tags.add(*tags) + + def remove_tags(self, tags=None): + if tags is None: + tags = [] + elif isinstance(tags, str): + tags = [tags] + assert isinstance(tags, list) + self.tags.remove(*tags) + + class Meta: + abstract = True + +class TagView: + + @staticmethod + def add_tag(request, obj_id, tag_id, model): + from siteapp.models import Tag + try: + tag = Tag.objects.get(id=tag_id) + except Tag.DoesNotExist: + return JsonResponse({"status": "error", "message": f"Tag does not exist"}, status=404) + model.objects.get(id=obj_id).add_tags(tags=[tag]) + return JsonResponse({"status": "ok", "data": tag.serialize()}, status=201) + + @staticmethod + def remove_tag(request, obj_id, tag_id, model): + from siteapp.models import Tag + try: + tag = Tag.objects.get(id=tag_id) + except Tag.DoesNotExist: + return JsonResponse({"status": "error", "message": f"Tag does not exist"}, status=404) + model.objects.get(id=obj_id).remove_tags(tags=[tag]) + return JsonResponse({"status": "ok"}) + + @staticmethod + def list_tags(request, obj_id, model): + tags = [] + for tag in model.objects.get(id=obj_id).tags.all().iterator(): + tags.append(tag.serialize()) + return JsonResponse({"status": "ok", "data": tags}) + +def build_tag_urls(path_prefix, model): + from django.conf.urls import url + return [ + url(rf'{path_prefix}tags/(\d+)/_add$', lambda *args, **kwargs: TagView.add_tag(*args, model, **kwargs), + name=f"add_tag_to_{model.__name__.lower()}"), + url(rf'{path_prefix}tags/(\d+)/_remove$', + lambda *args, **kwargs: TagView.remove_tag(*args, model, **kwargs), + name=f"remove_tag_from_{model.__name__.lower()}"), + url(rf'{path_prefix}tags/$', lambda *args, **kwargs: TagView.list_tags(*args, model, **kwargs), + name=f"list_element_{model.__name__.lower()}"), + ] diff --git a/siteapp/models.py b/siteapp/models.py index 731930e0c..30c90dff4 100644 --- a/siteapp/models.py +++ b/siteapp/models.py @@ -198,7 +198,7 @@ def create_default_portfolio_if_missing(self): def get_portfolios_from_projects(self): projects = get_objects_for_user(self, 'siteapp.view_project') portfolio_list = projects.values_list('portfolio', flat=True) - portfolios = Portfolio.objects.select_related('projects').filter(id__in=portfolio_list) + portfolios = Portfolio.objects.prefetch_related('projects').filter(id__in=portfolio_list) return portfolios @@ -345,7 +345,6 @@ def __str__(self): class Portfolio(BaseModel): title = models.CharField(max_length=255, help_text="The title of this Portfolio.", unique=True) description = models.CharField(max_length=512, blank=True, help_text="A description of this Portfolio.") - class Meta: permissions = [ ('can_grant_portfolio_owner_permission', 'Grant a user portfolio owner permission'), diff --git a/siteapp/settings.py b/siteapp/settings.py index 3b04f2cdc..50985d961 100644 --- a/siteapp/settings.py +++ b/siteapp/settings.py @@ -131,6 +131,7 @@ def make_secret_key(): INSTALLED_APPS = DJANGO_APPS + THIRD_PARTY_APPS REST_FRAMEWORK = { + 'ORDERING_PARAM': 'orderBy', 'DEFAULT_PAGINATION_CLASS': 'api.utils.pagination.Pagination', 'TEST_REQUEST_DEFAULT_FORMAT': 'json', 'DEFAULT_RENDERER_CLASSES': ( diff --git a/siteapp/static/css/govready-q.css b/siteapp/static/css/govready-q.css index 0fb9868f3..3953fecaa 100644 --- a/siteapp/static/css/govready-q.css +++ b/siteapp/static/css/govready-q.css @@ -582,3 +582,7 @@ form #id_appsource_compapp { width: 100%; overflow: auto !important; } .sidebardark-head-title {color: #D9D9D9; } .sidebardarkheader { border:none; display:block; margin:25px 0 25px 20px; } +.sidebar-item{ + margin-bottom: 5px; + +} \ No newline at end of file diff --git a/siteapp/static/js/authoring_tool.js b/siteapp/static/js/authoring_tool.js index 751c7654f..b2078398c 100644 --- a/siteapp/static/js/authoring_tool.js +++ b/siteapp/static/js/authoring_tool.js @@ -218,7 +218,7 @@ function authoring_tool_save_question() { } data.push( { name: "question", value: q_authoring_tool_state.current_question } ); console.log('authoring_tool_save_question') - console.log(data) + // console.log(data) ajax_with_indicator({ url: "/tasks/_authoring_tool/edit-question2", method: "POST", diff --git a/siteapp/views.py b/siteapp/views.py index 7107437a1..71b15bca3 100644 --- a/siteapp/views.py +++ b/siteapp/views.py @@ -1867,7 +1867,7 @@ def portfolio_list(request): ) return render(request, "portfolios/index.html", { - "portfolios": request.user.portfolio_list() if request.user.is_authenticated else None, + # "portfolios": request.user.portfolio_list() if request.user.is_authenticated else None, }) diff --git a/templates/appversion_modules.html b/templates/appversion_modules.html index 7733ed8e6..3eb7a7aea 100644 --- a/templates/appversion_modules.html +++ b/templates/appversion_modules.html @@ -208,7 +208,6 @@

{{m.spec.title}}

var data = formElm.serializeArray(); data.push( { name: "task", value: {{ task.id }} } ); data.push( { name: "question", value: formElm.find('input[name="key"]').val() } ); - console.log(data); ajax_with_indicator({ url: "/tasks/_authoring_tool/edit-question-new", method: "POST", diff --git a/templates/base.html b/templates/base.html index d012939d7..607e2fae1 100644 --- a/templates/base.html +++ b/templates/base.html @@ -80,6 +80,7 @@ {% endif %} {% block body-wide %} +
{% block body %} {% endblock %} diff --git a/templates/components/component_library.html b/templates/components/component_library.html index 48432c082..70cc8e55f 100644 --- a/templates/components/component_library.html +++ b/templates/components/component_library.html @@ -29,6 +29,11 @@
+ {% comment %}
{% endcomment %} + + + +

Component Library

- +

Sergio

@@ -59,19 +64,19 @@

Component Library

{% csrf_token %} -
- - - -
{% include 'components/paginate_comp.html' %}
-
+
+ + + +
{% include 'components/paginate_comp.html' %}
+
-
-
Component
-
Description
-
Select
-
Statements
-
+
+
Component
+
Description
+
Select
+
Statements
+
{% for component in page_obj %}
@@ -96,12 +101,15 @@

Component Library

{% include "components/import-component-modal.html" %} -
+
{{ block.super }} {% endblock %} {% block scripts %} + + {% comment %} + {% endcomment %} {% endblock %} diff --git a/templates/controls/index-group.html b/templates/controls/index-group.html index bd8f1995c..0aabfb85d 100644 --- a/templates/controls/index-group.html +++ b/templates/controls/index-group.html @@ -23,6 +23,7 @@ {% block body %} +
@@ -79,6 +80,7 @@

var url = "/controls/catalogs/{{ catalog.catalog_key }}/control/"+control_id; window.location.href = url; } + {% endblock %} diff --git a/templates/controls/index.html b/templates/controls/index.html index 2bd3ddfdd..19e8a8b89 100644 --- a/templates/controls/index.html +++ b/templates/controls/index.html @@ -24,6 +24,7 @@ % block body-wide % {% block body %} +
@@ -81,5 +82,6 @@

var url = "/controls/catalogs/{{ catalog.catalog_key }}/control/"+control_id; window.location.href = url; } + window.controlGroupings({{ system.id }}); {% endblock %} diff --git a/templates/portfolios/index.html b/templates/portfolios/index.html index 618dcf7b1..c0a9ce86e 100644 --- a/templates/portfolios/index.html +++ b/templates/portfolios/index.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load q %} + {% block title %} Your Compliance Portfolios @@ -15,21 +15,18 @@ {% block body %}
-
- - -

Portfolios

- {% if portfolios|length > 0 %} -

You have access to {{ portfolios|length }} portfolio{{ portfolios|pluralize }}

- {% else %} -

You do not have access to any portfolios.

- {% endif %} - - {% include "portfolios/portfolios_table.html" with portfolios=portfolios %} +
+ + +
+
- {% endblock %} +{% endblock %} +{% block scripts %} + +{% endblock %} \ No newline at end of file diff --git a/templates/project-base.html b/templates/project-base.html index eb78be30b..91daf033c 100644 --- a/templates/project-base.html +++ b/templates/project-base.html @@ -88,7 +88,9 @@ {% if action_buttons %} {% for q in action_buttons %}
-
{{ project.root_task.module.spec.title }}
+ + {% comment %}
{{ project.root_task.module.spec.title }}
{% endcomment %} + {# Display for started tasks #} {% if can_start_task and q.can_start_new_task %}
- {{ q.question.spec.title }} » - + {% endcomment %} +
{% else %} {# Display for not yet started tasks #} @@ -136,6 +140,7 @@ {% include "move-project-modal.html" %} {% block scripts %} + {{ block.super }} + +{% endblock %} \ No newline at end of file diff --git a/templates/systems/components_selected.html b/templates/systems/components_selected.html index 92edddf66..71ffda10d 100644 --- a/templates/systems/components_selected.html +++ b/templates/systems/components_selected.html @@ -15,6 +15,9 @@ {% endblock %} {% block body_content %} + {% comment %}
{% endcomment %} + +
Selected components
@@ -77,6 +80,9 @@ {% block scripts %} {{ block.super }} + {% endblock %} diff --git a/templates/systems/deployments_list.html b/templates/systems/deployments_list.html index 98c43c6a0..94ad145ac 100644 --- a/templates/systems/deployments_list.html +++ b/templates/systems/deployments_list.html @@ -1,9 +1,6 @@ {% extends "project-base.html" %} {% load humanize %} -{% load guardian_tags %} {% load static %} -{% load q %} -{% load system_tags %} {% block title %} Deployments List @@ -18,49 +15,14 @@ {% block body_content %} -
-
-
Deployments
-
 
- -
- {% if deployments|length < 1 %} -
-
-

No Deployments are currently identified for this system.

-
-
- {% else %} - {% for deployment in deployments %} -
- -
- {{ deployment.description }} -
-
-   -
-
- {{ deployment.updated|timesince}} ago -
-
- -   - -
-
- {% endfor %} - {% endif %} -
- +
{% endblock %} {% block scripts %} {{ block.super }} + diff --git a/templates/systems/poams_list.html b/templates/systems/poams_list.html index 92325319e..171c7ce48 100644 --- a/templates/systems/poams_list.html +++ b/templates/systems/poams_list.html @@ -1,9 +1,6 @@ {% extends "project-base.html" %} {% load humanize %} -{% load guardian_tags %} {% load static %} -{% load q %} -{% load system_tags %} {% block title %} POA&Ms @@ -18,68 +15,16 @@ {% block body_content %} -
-
-
POA&Ms
-
 
-
- New POA&M - -
-
- {% if poam_smts|length < 1 %} -
-
-

No POA&Ms are currently identified for this system.

-
-
- {% else %} - {% for poam_smt in poam_smts %} -
- -
- {{ poam_smt.poam.weakness_name }} -
-
- {{ poam_smt.status }} -
-
- {{ poam_smt.updated|timesince}} ago -
-
- {% endfor %} - {% endif %} -
+
+ + {% endblock %} {% block scripts %} {{ block.super }} {% endblock %} diff --git a/templates/systems/sar_list.html b/templates/systems/sar_list.html index ad4130177..a2ca6da6d 100644 --- a/templates/systems/sar_list.html +++ b/templates/systems/sar_list.html @@ -1,9 +1,6 @@ {% extends "project-base.html" %} {% load humanize %} -{% load guardian_tags %} {% load static %} -{% load q %} -{% load system_tags %} {% block title %} Assessment List @@ -31,6 +28,7 @@ {% block body_content %} +
@@ -92,53 +90,14 @@
+
-
-
System Assessment Results
-
 
- -
- {% if sars|length < 1 %} -
-
-

No System Assessment Results items are currently identified for this deployment.

-
-
- {% else %} - {% for item in sars %} -
- -
- {{ item.deployment.name }} -
-
- {% if item.description %}{{ item.description }}{% else %}No description provided.{% endif %} -
-
- {{ item.updated|timesince}} ago -
-
- - - - -
-
- {% endfor %} - {% endif %} - - -
{% endblock %} {% block scripts %} {{ block.super }} {% endblock %}