From f90fdc059826bce2d54ad2fe94b2c38c5cb2b72f Mon Sep 17 00:00:00 2001 From: Florian Hoss Date: Tue, 4 Jul 2023 11:51:13 +0200 Subject: [PATCH] Init --- .gitattributes | 2 + .gitignore | 576 ++ .gitlab-ci.yml | 9 + .gitlab/_common.gitlab-ci.yml | 14 + .gitlab/_rules.gitlab-ci.yml | 17 + .gitlab/build.gitlab-ci.yml | 24 + .gitlab/deploy.gitlab-ci.yml | 18 + LICENSE | 21 + README.md | 76 + api/middlwares.go | 52 + api/router.go | 62 + api/routesBill.go | 112 + api/routesOrder.go | 258 + api/routesTable.go | 54 + api/routesUser.go | 60 + api/static.go | 26 + api/swagger.go | 31 + api/types.go | 16 + config.toml | 10 + config/config.go | 72 + database/database.go | 80 + docker-compose.yml | 129 + docker/Dockerfile | 51 + docker/Dockerfile.dev | 15 + docker/authelia/configuration.yml | 50 + docker/authelia/users_database.yml | 14 + docker/secrets/not_secure | 1 + frontend/.dockerignore | 2 + frontend/.gitignore | 24 + frontend/README.md | 29 + frontend/babel.config.js | 3 + frontend/package.json | 98 + .../public/favicon/android-chrome-192x192.png | Bin 0 -> 36406 bytes .../public/favicon/android-chrome-512x512.png | Bin 0 -> 182680 bytes frontend/public/favicon/apple-touch-icon.png | Bin 0 -> 32716 bytes frontend/public/favicon/browserconfig.xml | 9 + frontend/public/favicon/favicon-16x16.png | Bin 0 -> 1406 bytes frontend/public/favicon/favicon-32x32.png | Bin 0 -> 2963 bytes frontend/public/favicon/favicon.ico | Bin 0 -> 12014 bytes frontend/public/favicon/mstile-150x150.png | Bin 0 -> 19832 bytes frontend/public/favicon/safari-pinned-tab.svg | 153 + frontend/public/favicon/site.webmanifest | 19 + frontend/public/index.html | 24 + frontend/src/App.vue | 91 + frontend/src/assets/fonts/roboto.ttf | Bin 0 -> 167000 bytes frontend/src/assets/logos/logo.png | Bin 0 -> 17693 bytes frontend/src/assets/logos/logo_white.png | Bin 0 -> 25477 bytes frontend/src/components/Bills/BillModal.vue | 107 + .../components/OrderItem/OrderItemList.vue | 189 + frontend/src/components/Orders/OrderCard.vue | 53 + .../src/components/Orders/OrderSection.vue | 60 + .../components/Tables/OrderAmountChange.vue | 25 + .../src/components/Tables/OverviewPerType.vue | 48 + frontend/src/components/Tables/TableCard.vue | 48 + .../src/components/Tables/TableOrderCard.vue | 30 + .../src/components/Tables/TableOverview.vue | 172 + frontend/src/components/UI/BaseCard.vue | 50 + frontend/src/components/UI/BaseItem.vue | 17 + frontend/src/components/UI/BaseToolbar.vue | 43 + .../src/components/UI/BottomNavigation.vue | 33 + frontend/src/components/UI/SmallCard.vue | 60 + frontend/src/components/UI/TheBadge.vue | 36 + frontend/src/components/UI/TheNavigation.vue | 109 + frontend/src/components/UI/WaveSpinner.vue | 87 + frontend/src/components/User/UserSettings.vue | 48 + frontend/src/keys.ts | 5 + frontend/src/main.ts | 138 + frontend/src/router/index.ts | 33 + frontend/src/shims-vue.d.ts | 6 + frontend/src/store/index.ts | 43 + frontend/src/store/orderItems/index.ts | 76 + frontend/src/store/tables/index.ts | 47 + frontend/src/utils.ts | 78 + frontend/src/views/Bills.vue | 158 + frontend/src/views/Checkout.vue | 195 + frontend/src/views/Empty.vue | 21 + frontend/src/views/Items.vue | 78 + frontend/src/views/Orders.vue | 155 + frontend/src/views/Tables.vue | 50 + frontend/tests/unit/example.spec.ts | 12 + frontend/tsconfig.json | 23 + frontend/vue.config.js | 7 + frontend/yarn.lock | 9160 +++++++++++++++++ go.mod | 70 + go.sum | 662 ++ hub/hub.go | 55 + main.go | 39 + scripts/dev.sh | 25 + scripts/entrypoint.sh | 34 + scripts/swagger.sh | 15 + service/bill.go | 124 + service/order.go | 169 + service/service.go | 18 + service/table.go | 75 + templates/index.html | 12 + types/types.go | 59 + types/types_test.go | 23 + user/user.go | 42 + websocket/websocket.go | 36 + 99 files changed, 15260 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .gitlab-ci.yml create mode 100644 .gitlab/_common.gitlab-ci.yml create mode 100644 .gitlab/_rules.gitlab-ci.yml create mode 100644 .gitlab/build.gitlab-ci.yml create mode 100644 .gitlab/deploy.gitlab-ci.yml create mode 100644 LICENSE create mode 100644 README.md create mode 100644 api/middlwares.go create mode 100644 api/router.go create mode 100644 api/routesBill.go create mode 100644 api/routesOrder.go create mode 100644 api/routesTable.go create mode 100644 api/routesUser.go create mode 100644 api/static.go create mode 100644 api/swagger.go create mode 100644 api/types.go create mode 100644 config.toml create mode 100644 config/config.go create mode 100644 database/database.go create mode 100644 docker-compose.yml create mode 100644 docker/Dockerfile create mode 100644 docker/Dockerfile.dev create mode 100644 docker/authelia/configuration.yml create mode 100644 docker/authelia/users_database.yml create mode 100644 docker/secrets/not_secure create mode 100644 frontend/.dockerignore create mode 100644 frontend/.gitignore create mode 100644 frontend/README.md create mode 100644 frontend/babel.config.js create mode 100644 frontend/package.json create mode 100644 frontend/public/favicon/android-chrome-192x192.png create mode 100644 frontend/public/favicon/android-chrome-512x512.png create mode 100644 frontend/public/favicon/apple-touch-icon.png create mode 100644 frontend/public/favicon/browserconfig.xml create mode 100644 frontend/public/favicon/favicon-16x16.png create mode 100644 frontend/public/favicon/favicon-32x32.png create mode 100644 frontend/public/favicon/favicon.ico create mode 100644 frontend/public/favicon/mstile-150x150.png create mode 100644 frontend/public/favicon/safari-pinned-tab.svg create mode 100644 frontend/public/favicon/site.webmanifest create mode 100644 frontend/public/index.html create mode 100644 frontend/src/App.vue create mode 100644 frontend/src/assets/fonts/roboto.ttf create mode 100644 frontend/src/assets/logos/logo.png create mode 100644 frontend/src/assets/logos/logo_white.png create mode 100644 frontend/src/components/Bills/BillModal.vue create mode 100644 frontend/src/components/OrderItem/OrderItemList.vue create mode 100644 frontend/src/components/Orders/OrderCard.vue create mode 100644 frontend/src/components/Orders/OrderSection.vue create mode 100644 frontend/src/components/Tables/OrderAmountChange.vue create mode 100644 frontend/src/components/Tables/OverviewPerType.vue create mode 100644 frontend/src/components/Tables/TableCard.vue create mode 100644 frontend/src/components/Tables/TableOrderCard.vue create mode 100644 frontend/src/components/Tables/TableOverview.vue create mode 100644 frontend/src/components/UI/BaseCard.vue create mode 100644 frontend/src/components/UI/BaseItem.vue create mode 100644 frontend/src/components/UI/BaseToolbar.vue create mode 100644 frontend/src/components/UI/BottomNavigation.vue create mode 100644 frontend/src/components/UI/SmallCard.vue create mode 100644 frontend/src/components/UI/TheBadge.vue create mode 100644 frontend/src/components/UI/TheNavigation.vue create mode 100644 frontend/src/components/UI/WaveSpinner.vue create mode 100644 frontend/src/components/User/UserSettings.vue create mode 100644 frontend/src/keys.ts create mode 100644 frontend/src/main.ts create mode 100644 frontend/src/router/index.ts create mode 100644 frontend/src/shims-vue.d.ts create mode 100644 frontend/src/store/index.ts create mode 100644 frontend/src/store/orderItems/index.ts create mode 100644 frontend/src/store/tables/index.ts create mode 100644 frontend/src/utils.ts create mode 100644 frontend/src/views/Bills.vue create mode 100644 frontend/src/views/Checkout.vue create mode 100644 frontend/src/views/Empty.vue create mode 100644 frontend/src/views/Items.vue create mode 100644 frontend/src/views/Orders.vue create mode 100644 frontend/src/views/Tables.vue create mode 100644 frontend/tests/unit/example.spec.ts create mode 100644 frontend/tsconfig.json create mode 100644 frontend/vue.config.js create mode 100644 frontend/yarn.lock create mode 100644 go.mod create mode 100644 go.sum create mode 100644 hub/hub.go create mode 100644 main.go create mode 100755 scripts/dev.sh create mode 100755 scripts/entrypoint.sh create mode 100755 scripts/swagger.sh create mode 100644 service/bill.go create mode 100644 service/order.go create mode 100644 service/service.go create mode 100644 service/table.go create mode 100644 templates/index.html create mode 100644 types/types.go create mode 100644 types/types_test.go create mode 100644 user/user.go create mode 100644 websocket/websocket.go diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..642b579 --- /dev/null +++ b/.gitignore @@ -0,0 +1,576 @@ +### JetBrains template +.idea/ + +### Linux template +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +### Node template +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +### Go template +# Binaries for programs and plugins +*.exe +*.exe~ +*.dll +*.so +*.dylib + +# Test binary, built with `go test -c` +*.test + +# Output of the go coverage tool, specifically when used with LiteIDE +*.out + +# Dependency directories (remove the comment below to include it) +# vendor/ + +### VisualStudio template +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +### Windows template +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +### macOS template +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +storage/ +docs/ +dist/ +tmp/ + +docker/**/*.sqlite3 +docker/**/*.txt diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..a2660bc --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,9 @@ +stages: + - build + - deploy + +include: + - local: .gitlab/_common.gitlab-ci.yml + - local: .gitlab/_rules.gitlab-ci.yml + - local: /.gitlab/build.gitlab-ci.yml + - local: /.gitlab/deploy.gitlab-ci.yml diff --git a/.gitlab/_common.gitlab-ci.yml b/.gitlab/_common.gitlab-ci.yml new file mode 100644 index 0000000..fb6d21b --- /dev/null +++ b/.gitlab/_common.gitlab-ci.yml @@ -0,0 +1,14 @@ +variables: + LATEST_IMAGE: '$CI_REGISTRY_IMAGE:latest' + DOCKER_VERSION: '24.0.2' + GOLANG_VERSION: '1.20' + NODE_VERSION: '18' + ALPINE_VERSION: '3' + DEBIAN_VERSION: '12' + TELEPORT_VERSION: '13.1.1' + +image: docker:$DOCKER_VERSION-git + +.login_registry: + before_script: + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY diff --git a/.gitlab/_rules.gitlab-ci.yml b/.gitlab/_rules.gitlab-ci.yml new file mode 100644 index 0000000..2504b8b --- /dev/null +++ b/.gitlab/_rules.gitlab-ci.yml @@ -0,0 +1,17 @@ +.if-release-candidate-tag: &if-release-candidate-tag + if: '$CI_COMMIT_TAG =~ /^v[0-9]+\.[0-9]+\.[0-9]+-rc[0-9]+/' + +.if-stable-release-tag: &if-stable-release-tag + if: '$CI_COMMIT_TAG =~ /^v[0-9]+\.[0-9]+\.[0-9]+$/' + +.if-default-branch: &if-default-branch + if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + +.rules:release: + rules: + - <<: *if-release-candidate-tag + - <<: *if-stable-release-tag + +.rules:default: + rules: + - <<: *if-default-branch diff --git a/.gitlab/build.gitlab-ci.yml b/.gitlab/build.gitlab-ci.yml new file mode 100644 index 0000000..d34188e --- /dev/null +++ b/.gitlab/build.gitlab-ci.yml @@ -0,0 +1,24 @@ +build_release: + rules: !reference [.rules:release, rules] + stage: build + extends: .login_registry + services: + - name: docker:$DOCKER_VERSION-dind + alias: docker + variables: + DOCKER_TLS_CERTDIR: '/certs' + CURRENT_IMAGE: '$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG' + script: + - > + docker build . + --file docker/Dockerfile + --build-arg GOLANG_VERSION=$GOLANG_VERSION + --build-arg NODE_VERSION=$NODE_VERSION + --build-arg ALPINE_VERSION=$ALPINE_VERSION + --build-arg APP_VERSION=$CI_COMMIT_TAG + --build-arg BUILD_TIME=$CI_JOB_STARTED_AT + --tag $CURRENT_IMAGE + --tag $LATEST_IMAGE + - docker inspect $CURRENT_IMAGE + - docker push $CURRENT_IMAGE + - docker push $LATEST_IMAGE diff --git a/.gitlab/deploy.gitlab-ci.yml b/.gitlab/deploy.gitlab-ci.yml new file mode 100644 index 0000000..cbf09ac --- /dev/null +++ b/.gitlab/deploy.gitlab-ci.yml @@ -0,0 +1,18 @@ +deploy_release: + rules: !reference [.rules:release, rules] + stage: deploy + image: debian:${DEBIAN_VERSION}-slim + id_tokens: + TBOT_GITLAB_JWT: + aud: tp.fhoss.de + script: + - apt-get update && apt-get install curl -y + - cd /tmp + - 'curl -O https://cdn.teleport.dev/teleport-v${TELEPORT_VERSION}-linux-amd64-bin.tar.gz' + - tar -xvf teleport-v${TELEPORT_VERSION}-linux-amd64-bin.tar.gz + - ./teleport/install + - 'tbot start --token=gitlab --destination-dir=/tmp/tbot-user --data-dir=/tmp/tbot-data --auth-server=tp.fhoss.de:443 --join-method=gitlab --oneshot' + - 'tsh -i /tmp/tbot-user/identity --proxy tp.fhoss.de:443 ssh bot@cafe "docker compose -f /opt/docker/cafe/docker-compose.yml up -d --pull always"' + - 'tsh -i /tmp/tbot-user/identity --proxy tp.fhoss.de:443 ssh bot@cafe "docker system prune --force"' + environment: + name: production diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..2e3ff6e --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Florian Hoss + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..1d55a17 --- /dev/null +++ b/README.md @@ -0,0 +1,76 @@ +# Café Plätschwiesle + +![Alt vue](https://img.shields.io/badge/Framework-Vue3-informational?style=for-the-badge&logo=vuedotjs&color=4FC08D) +![Alt typescript](https://img.shields.io/badge/Language-Typescript-informational?style=for-the-badge&logo=typescript&color=3178C6) +![Alt go](https://img.shields.io/badge/Language-Go-informational?style=for-the-badge&logo=go&color=00ADD8) + +## docker-compose example + +```yaml +services: + cafe: + image: ghcr.io/flohoss/cafe-plaetschwiesle:latest + container_name: cafe + restart: unless-stopped + environment: + - PUID=1000 + - PGID=1000 + - ALLOWED_HOSTS=http://localhost:5000,https://home.example.com + - SWAGGER=true + - LOG_LEVEL=info # trace,debug,info,warn,error,fatal,panic + volumes: + - ./storage:/app/storage + ports: + - '127.0.0.1:5000:5000' +``` + +## docker-compose example with MariaDB as database + +```yaml +networks: + net: + external: false + +services: + cafe-db: + image: lscr.io/linuxserver/mariadb:latest + container_name: cafe-db + restart: unless-stopped + environment: + - PUID=1000 + - PGID=1000 + - MYSQL_ROOT_PASSWORD=root + - TZ=Europe/Berlin + - MYSQL_DATABASE=db + - MYSQL_USER=user + - MYSQL_PASSWORD=password + volumes: + - ./db:/config + expose: + - 3306 + networks: + - net + + cafe: + image: ghcr.io/flohoss/cafe-plaetschwiesle:latest + container_name: cafe + restart: unless-stopped + depends_on: + - cafe-db + environment: + - PUID=1000 + - PGID=1000 + - ALLOWED_HOSTS=http://localhost:5000,https://home.example.com + - SWAGGER=true + - LOG_LEVEL=info # trace,debug,info,warn,error,fatal,panic + - MYSQL_URL=cafe-db:3306 + - MYSQL_USER=user + - MYSQL_PASSWORD=password + - MYSQL_DATABASE=db + volumes: + - ./storage:/app/storage + ports: + - '127.0.0.1:5000:5000' + networks: + - net +``` diff --git a/api/middlwares.go b/api/middlwares.go new file mode 100644 index 0000000..9cedeca --- /dev/null +++ b/api/middlwares.go @@ -0,0 +1,52 @@ +package api + +import ( + "cafe/config" + "net/http" + "strings" + "time" + + "github.com/gin-contrib/cors" + "github.com/gin-gonic/gin" + "github.com/sirupsen/logrus" +) + +func myLogger() gin.HandlerFunc { + return func(c *gin.Context) { + if logrus.GetLevel() != logrus.TraceLevel { + return + } + reqUri := c.Request.RequestURI + if strings.Contains(reqUri, "/storage") { + return + } + startTime := time.Now() + c.Next() + endTime := time.Now() + latencyTime := endTime.Sub(startTime) + logrus.WithFields(logrus.Fields{ + "status": http.StatusText(c.Writer.Status()), + "latency": latencyTime, + "client": c.ClientIP(), + "method": c.Request.Method, + }).Trace(reqUri) + } +} + +func authHeader() gin.HandlerFunc { + return func(c *gin.Context) { + c.Writer.Header().Set("Remote-Groups", c.Request.Header.Get("Remote-Groups")) + c.Writer.Header().Set("Remote-Name", c.Request.Header.Get("Remote-Name")) + } +} + +func (a *Api) SetMiddlewares() { + a.Router.Use(myLogger()) + a.Router.Use(gin.Recovery()) + a.Router.Use(cors.Default()) + _ = a.Router.SetTrustedProxies(nil) + a.Router.MaxMultipartMemory = 8 << 20 // 8 MiB + logrus.WithFields(logrus.Fields{ + "allowedOrigins": config.Cafe.AllowedHosts, + }).Debug("Middlewares set") +} diff --git a/api/router.go b/api/router.go new file mode 100644 index 0000000..7b06266 --- /dev/null +++ b/api/router.go @@ -0,0 +1,62 @@ +package api + +import ( + "net/http" + + "github.com/gin-gonic/gin" + "github.com/sirupsen/logrus" +) + +func (a *Api) SetupRouter() { + api := a.Router.Group("/api") + { + tableGroup := api.Group("/tables") + { + tableGroup.GET("", a.getTables) + tableGroup.POST("", a.createTable) + tableGroup.DELETE("", a.deleteTable) + } + orderGroup := api.Group("/orders") + { + orderGroup.GET("", a.getOrders) + orderGroup.POST("", a.createOrder) + orderGroup.DELETE("", a.deleteOrder) + orderGroup.PUT("", a.updateOrder) + orderGroup.GET("/ws", a.serveWs) + orderItemGroup := orderGroup.Group("/items") + { + orderItemGroup.GET("", a.getOrderItems) + orderItemGroup.POST("", a.createOrderItem) + orderItemGroup.PUT("", a.updateOrderItem) + orderItemGroup.DELETE("/:id", a.deleteOrderItem) + } + } + billGroup := api.Group("/bills") + { + billGroup.GET("", a.getBills) + billGroup.POST("", a.createBill) + billGroup.DELETE("/:id", a.deleteBill) + billItemGroup := billGroup.Group("/items") + { + billItemGroup.GET("", a.getBillItems) + } + } + userGroup := api.Group("/users") + { + userGroup.GET("/:username", a.getUser) + userGroup.PUT("", a.updateUser) + } + health := api.Group("/health") + { + health.Use(authHeader()) + health.GET("", func(c *gin.Context) { + c.Status(http.StatusOK) + }) + } + } + + a.Router.NoRoute(func(c *gin.Context) { + c.HTML(http.StatusOK, "index.html", nil) + }) + logrus.WithField("amount", len(a.Router.Routes())).Debug("Routes initialized") +} diff --git a/api/routesBill.go b/api/routesBill.go new file mode 100644 index 0000000..38d0453 --- /dev/null +++ b/api/routesBill.go @@ -0,0 +1,112 @@ +package api + +import ( + "cafe/service" + "cafe/types" + "net/http" + "strconv" + "strings" + + "github.com/gin-gonic/gin" +) + +// @Schemes +// @Summary get all bills +// @Description gets all bills as array +// @Tags bills +// @Produce json +// @Param year query int true "year" +// @Param month query int true "month (1-12)" +// @Param day query int true "day (1-31)" +// @Success 200 {array} service.Bill +// @Router /bills [get] +func (a *Api) getBills(c *gin.Context) { + year, presentYear := c.GetQuery("year") + month, presentMonth := c.GetQuery("month") + day, presentDay := c.GetQuery("day") + if !presentYear || !presentMonth || !presentDay { + c.JSON(http.StatusBadRequest, errorResponse{types.MissingInformation.String()}) + return + } + bills, err := service.GetAllBills(year, month, day) + if err != nil { + c.JSON(http.StatusBadRequest, errorResponse{err.Error()}) + } else { + c.JSON(http.StatusOK, bills) + } +} + +// @Schemes +// @Summary get all billItems +// @Description gets all billItems for bill +// @Tags bills +// @Produce json +// @Param bill query int true "Bill ID" +// @Success 200 {array} service.BillItem +// @Router /bills/items [get] +func (a *Api) getBillItems(c *gin.Context) { + bill, err := service.DoesBillExist(c.Query("bill")) + if err != nil { + c.JSON(http.StatusNotFound, errorResponse{err.Error()}) + return + } + billItems, err := service.GetAllBillItems(bill.ID) + if err != nil { + c.JSON(http.StatusNotFound, errorResponse{err.Error()}) + } else { + c.JSON(http.StatusOK, billItems) + } +} + +// @Schemes +// @Summary create new bill +// @Description creates a new bill and returns it +// @Tags bills +// @Produce json +// @Param table query int true "Table ID" +// @Param filter query string false "filter" +// @Success 201 {object} service.Bill +// @Failure 404 "Not Found" +// @Failure 500 {object} errorResponse +// @Router /bills [post] +func (a *Api) createBill(c *gin.Context) { + table, tableErr := strconv.ParseUint(c.Query("table"), 10, 64) + if tableErr != nil { + c.JSON(http.StatusBadRequest, errorResponse{types.MissingInformation.String()}) + return + } + stringFiler, filterPresent := c.GetQuery("filter") + var filter []string + if filterPresent { + filter = strings.Split(stringFiler, ",") + } + bill, err := service.CreateBill(service.GetOrderOptions{TableId: table, Grouped: true, Filter: filter}) + if err != nil { + c.JSON(http.StatusInternalServerError, errorResponse{err.Error()}) + } + c.JSON(http.StatusCreated, bill) +} + +// @Schemes +// @Summary delete a bill +// @Description deletes a bill +// @Tags bills +// @Produce json +// @Param id path int true "Bill ID" +// @Success 200 "OK" +// @Failure 404 "Not Found" +// @Failure 500 {object} errorResponse +// @Router /bills/{id} [delete] +func (a *Api) deleteBill(c *gin.Context) { + id := c.Param("id") + bill, err := service.DoesBillExist(id) + if err != nil { + c.JSON(http.StatusNotFound, errorResponse{err.Error()}) + return + } + err = service.DeleteBill(&bill) + if err != nil { + c.JSON(http.StatusInternalServerError, errorResponse{err.Error()}) + } + c.Status(http.StatusOK) +} diff --git a/api/routesOrder.go b/api/routesOrder.go new file mode 100644 index 0000000..80da9bc --- /dev/null +++ b/api/routesOrder.go @@ -0,0 +1,258 @@ +package api + +import ( + "cafe/hub" + "cafe/service" + "cafe/types" + ws "cafe/websocket" + "net/http" + "strconv" + "strings" + + "github.com/gin-gonic/gin" + "github.com/gorilla/websocket" + "github.com/sirupsen/logrus" +) + +// @Schemes +// @Summary get all orders +// @Description gets all orders as array +// @Tags orders +// @Produce json +// @Param table query int false "Table ID" +// @Param grouping query bool false "grouping" +// @Param filter query string false "filter" +// @Success 200 {array} service.Order +// @Router /orders [get] +func (a *Api) getOrders(c *gin.Context) { + table, _ := strconv.ParseUint(c.Query("table"), 10, 64) + grouping, _ := strconv.ParseBool(c.Query("grouping")) + stringFiler, filterPresent := c.GetQuery("filter") + var filter []string + if filterPresent { + filter = strings.Split(stringFiler, ",") + } + options := service.GetOrderOptions{TableId: table, Grouped: grouping, Filter: filter} + var orders []service.Order + if options.TableId == 0 { + orders = service.GetAllActiveOrders() + } else { + orders = service.GetAllOrdersForTable(options) + } + c.JSON(http.StatusOK, orders) +} + +// @Schemes +// @Summary create new order +// @Description creates a new order and returns it +// @Tags orders +// @Accept json +// @Produce json +// @Param item query int true "OrderItem ID" +// @Param table query int true "Table ID" +// @Success 201 {object} service.Order +// @Failure 400 {object} errorResponse +// @Failure 500 {object} errorResponse +// @Router /orders [post] +func (a *Api) createOrder(c *gin.Context) { + table, err1 := strconv.ParseUint(c.Query("table"), 10, 64) + item, err2 := strconv.ParseUint(c.Query("item"), 10, 64) + if err1 != nil || err2 != nil { + c.JSON(http.StatusBadRequest, errorResponse{types.MissingInformation.String()}) + return + } + order := service.Order{TableID: table, OrderItemID: item, IsServed: false} + err := service.CreateOrder(&order) + if err != nil { + c.JSON(http.StatusInternalServerError, errorResponse{err.Error()}) + } else { + c.JSON(http.StatusCreated, order) + } +} + +// @Schemes +// @Summary delete an order +// @Description deletes an order from the database +// @Tags orders +// @Produce json +// @Param item query int true "OrderItem ID" +// @Param table query int true "Table ID" +// @Success 200 "OK" +// @Failure 400 {object} errorResponse +// @Failure 500 {object} errorResponse +// @Router /orders [delete] +func (a *Api) deleteOrder(c *gin.Context) { + item := c.Query("item") + table := c.Query("table") + if table == "" || item == "" { + c.JSON(http.StatusBadRequest, errorResponse{types.MissingInformation.String()}) + return + } + err := service.DeleteOrder(table, item) + if err != nil { + c.JSON(http.StatusInternalServerError, errorResponse{err.Error()}) + } else { + c.Status(http.StatusOK) + } +} + +// @Schemes +// @Summary update an order +// @Description updates an order with provided information +// @Tags orders +// @Accept json +// @Produce json +// @Param order body service.Order true "updated Order" +// @Success 200 {object} service.Order +// @Failure 400 {object} errorResponse +// @Failure 404 "Not Found" errorResponse +// @Failure 500 {object} errorResponse +// @Router /orders [put] +func (a *Api) updateOrder(c *gin.Context) { + var newOrder service.Order + err := c.ShouldBindJSON(&newOrder) + if err != nil { + c.JSON(http.StatusBadRequest, errorResponse{types.MissingInformation.String()}) + return + } + oldOrder, err := service.DoesOrderExist(strconv.Itoa(int(newOrder.ID))) + if err != nil { + c.JSON(http.StatusNotFound, errorResponse{err.Error()}) + return + } + err = service.UpdateOrder(&oldOrder, &newOrder) + if err != nil { + c.JSON(http.StatusInternalServerError, errorResponse{err.Error()}) + } else { + c.JSON(http.StatusOK, newOrder) + } +} + +func (a *Api) serveWs(c *gin.Context) { + conn, err := ws.Upgrader.Upgrade(c.Writer, c.Request, nil) + if err != nil { + logrus.WithField("error", err).Warning("Cannot upgrade websocket") + return + } + messageChan := make(hub.NotifierChan) + a.Hub.NewClients <- messageChan + defer func() { + a.Hub.ClosingClients <- messageChan + conn.Close() + }() + go ws.ReadPump(conn) + for { + msg, ok := <-messageChan + if !ok { + err := conn.WriteMessage(websocket.CloseMessage, []byte{}) + if err != nil { + return + } + return + } + err := conn.WriteJSON(msg) + if err != nil { + return + } + } +} + +// @Schemes +// @Summary get all orderItems +// @Description gets all orderItems as array +// @Tags orderItems +// @Produce json +// @Param type query int true "ItemType" +// @Success 200 {array} service.OrderItem +// @Router /orders/items [get] +func (a *Api) getOrderItems(c *gin.Context) { + orderType := c.Query("type") + if orderType == "" { + c.JSON(http.StatusBadRequest, errorResponse{types.MissingInformation.String()}) + } else { + c.JSON(http.StatusOK, service.GetOrderItemsForType(orderType)) + } +} + +// @Schemes +// @Summary create new orderItem +// @Description creates a new orderItem and returns it +// @Tags orderItems +// @Accept json +// @Produce json +// @Param order body service.OrderItem true "OrderItem ID" +// @Success 201 {object} service.OrderItem +// @Failure 400 {object} errorResponse +// @Failure 500 {object} errorResponse +// @Router /orders/items [post] +func (a *Api) createOrderItem(c *gin.Context) { + var orderItem service.OrderItem + err := c.ShouldBindJSON(&orderItem) + if err != nil { + c.JSON(http.StatusBadRequest, errorResponse{types.MissingInformation.String()}) + return + } + err = service.CreateOrderItem(&orderItem) + if err != nil { + c.JSON(http.StatusInternalServerError, errorResponse{err.Error()}) + } else { + c.JSON(http.StatusCreated, orderItem) + } +} + +// @Schemes +// @Summary update a orderItem +// @Description updates a orderItem with provided information +// @Tags orderItems +// @Accept json +// @Produce json +// @Param orderItem body service.OrderItem true "updated OrderItem" +// @Success 200 {object} service.OrderItem +// @Failure 400 {object} errorResponse +// @Failure 404 "Not Found" errorResponse +// @Failure 500 {object} errorResponse +// @Router /orders/items [put] +func (a *Api) updateOrderItem(c *gin.Context) { + var newOrderItem service.OrderItem + err := c.ShouldBindJSON(&newOrderItem) + if err != nil { + c.JSON(http.StatusBadRequest, errorResponse{types.MissingInformation.String()}) + return + } + oldOrderItem, err := service.DoesOrderItemExist(strconv.Itoa(int(newOrderItem.ID))) + if err != nil { + c.JSON(http.StatusNotFound, errorResponse{err.Error()}) + return + } + err = service.UpdateOrderItem(&oldOrderItem, &newOrderItem) + if err != nil { + c.JSON(http.StatusInternalServerError, errorResponse{err.Error()}) + } else { + c.JSON(http.StatusOK, newOrderItem) + } +} + +// @Schemes +// @Summary delete an orderItem +// @Description deletes an orderItem from the database +// @Tags orderItems +// @Produce json +// @Param id path int true "OrderItem ID" +// @Success 200 "OK" +// @Failure 404 "Not Found" +// @Failure 500 {object} errorResponse +// @Router /orders/items/{id} [delete] +func (a *Api) deleteOrderItem(c *gin.Context) { + id := c.Param("id") + orderItem, err := service.DoesOrderItemExist(id) + if err != nil { + c.JSON(http.StatusNotFound, errorResponse{err.Error()}) + return + } + err = service.DeleteOrderItem(&orderItem) + if err != nil { + c.JSON(http.StatusInternalServerError, errorResponse{err.Error()}) + } else { + c.Status(http.StatusOK) + } +} diff --git a/api/routesTable.go b/api/routesTable.go new file mode 100644 index 0000000..6706dcf --- /dev/null +++ b/api/routesTable.go @@ -0,0 +1,54 @@ +package api + +import ( + "cafe/service" + "net/http" + + "github.com/gin-gonic/gin" +) + +// @Schemes +// @Summary get all active tables +// @Description gets all active tables as array +// @Tags tables +// @Produce json +// @Success 200 {array} service.Table +// @Router /tables [get] +func (a *Api) getTables(c *gin.Context) { + c.JSON(http.StatusOK, service.GetAllTables()) +} + +// @Schemes +// @Summary create new table +// @Description creates a new table and returns it +// @Tags tables +// @Accept json +// @Produce json +// @Success 201 {object} service.Table "Table has been created" +// @Failure 500 {object} errorResponse "Cannot create table" +// @Router /tables [post] +func (a *Api) createTable(c *gin.Context) { + table, err := service.CreateNewTable() + if err != nil { + c.JSON(http.StatusInternalServerError, errorResponse{err.Error()}) + } else { + c.JSON(http.StatusCreated, table) + } +} + +// @Schemes +// @Summary delete the latest table +// @Description deletes the latest table from the database +// @Tags tables +// @Produce json +// @Success 200 "OK" +// @Failure 500 {object} errorResponse "Cannot delete table" +// @Router /tables [delete] +func (a *Api) deleteTable(c *gin.Context) { + err := service.DeleteLatestTable() + if err != nil { + c.JSON(http.StatusInternalServerError, errorResponse{err.Error()}) + } else { + c.Status(http.StatusOK) + } +} diff --git a/api/routesUser.go b/api/routesUser.go new file mode 100644 index 0000000..79265a4 --- /dev/null +++ b/api/routesUser.go @@ -0,0 +1,60 @@ +package api + +import ( + "cafe/types" + "cafe/user" + "net/http" + + "github.com/gin-gonic/gin" +) + +// @Schemes +// @Summary get a user +// @Description gets a user +// @Tags users +// @Produce json +// @Param username path string true "Username" +// @Success 200 {object} user.User +// @Failure 500 {object} errorResponse +// @Router /users/{username} [get] +func (a *Api) getUser(c *gin.Context) { + username := c.Param("username") + u, err := user.GetUserOrCreate(username) + if err != nil { + c.JSON(http.StatusBadRequest, errorResponse{err.Error()}) + } else { + c.JSON(http.StatusOK, u) + } +} + +// @Schemes +// @Summary update a user +// @Description updates a user with provided information +// @Tags users +// @Accept json +// @Produce json +// @Param user body user.User true "updated User" +// @Success 200 {object} user.User +// @Failure 400 {object} errorResponse +// @Failure 404 "Not Found" errorResponse +// @Failure 500 {object} errorResponse +// @Router /users [put] +func (a *Api) updateUser(c *gin.Context) { + var newUser user.User + err := c.ShouldBindJSON(&newUser) + if err != nil { + c.JSON(http.StatusBadRequest, errorResponse{types.MissingInformation.String()}) + return + } + oldUser, err := user.DoesUserExist(newUser.Username) + if err != nil { + c.JSON(http.StatusNotFound, errorResponse{err.Error()}) + return + } + err = user.UpdateUser(&oldUser, &newUser) + if err != nil { + c.JSON(http.StatusInternalServerError, errorResponse{err.Error()}) + } else { + c.JSON(http.StatusOK, newUser) + } +} diff --git a/api/static.go b/api/static.go new file mode 100644 index 0000000..0e4ba35 --- /dev/null +++ b/api/static.go @@ -0,0 +1,26 @@ +package api + +import ( + "cafe/config" + "os" + "path/filepath" + "strings" + + "github.com/gin-contrib/static" + "github.com/sirupsen/logrus" +) + +func (a *Api) HandleStaticFiles() { + a.Router.LoadHTMLFiles(config.TemplatesDir + "index.html") + a.serveFoldersInTemplates() +} + +func (a *Api) serveFoldersInTemplates() { + _ = filepath.WalkDir(config.TemplatesDir, func(path string, info os.DirEntry, err error) error { + if info.IsDir() && info.Name() != strings.TrimSuffix(config.TemplatesDir, "/") { + a.Router.Use(static.Serve("/"+info.Name(), static.LocalFile(config.TemplatesDir+info.Name(), false))) + logrus.WithField("folder", info.Name()).Debug("Serve static folder") + } + return err + }) +} diff --git a/api/swagger.go b/api/swagger.go new file mode 100644 index 0000000..947416d --- /dev/null +++ b/api/swagger.go @@ -0,0 +1,31 @@ +package api + +import ( + "cafe/config" + "cafe/docs" + "net/http" + "net/url" + "os" + + "github.com/gin-gonic/gin" + "github.com/sirupsen/logrus" + swaggerFiles "github.com/swaggo/files" + ginSwagger "github.com/swaggo/gin-swagger" +) + +func (a *Api) SetupSwagger() { + if config.Cafe.Swagger { + docs.SwaggerInfo.Title = "Cafe" + docs.SwaggerInfo.Description = "This is the backend of a cafe" + docs.SwaggerInfo.Version = os.Getenv("VERSION") + docs.SwaggerInfo.BasePath = "/api" + parsed, _ := url.Parse(config.Cafe.AllowedHosts[0]) + docs.SwaggerInfo.Host = parsed.Host + + a.Router.GET("/swagger", func(c *gin.Context) { + c.Redirect(http.StatusMovedPermanently, "/swagger/index.html") + }) + a.Router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) + logrus.WithField("url", config.Cafe.AllowedHosts[0]+"/swagger").Info("Swagger running") + } +} diff --git a/api/types.go b/api/types.go new file mode 100644 index 0000000..616b354 --- /dev/null +++ b/api/types.go @@ -0,0 +1,16 @@ +package api + +import ( + "cafe/hub" + + "github.com/gin-gonic/gin" +) + +type Api struct { + Router *gin.Engine + Hub hub.Hub +} + +type errorResponse struct { + Error string `json:"error" validate:"required"` +} diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..570fb9e --- /dev/null +++ b/config.toml @@ -0,0 +1,10 @@ +ALLOWED_HOSTS = "https://cafe.test" +LOG_LEVEL = "info" +PORT = 5000 +SWAGGER = true + +[MYSQL] +DATABASE = "" +PASSWORD = "" +URL = "" +USER = "" diff --git a/config/config.go b/config/config.go new file mode 100644 index 0000000..390bf58 --- /dev/null +++ b/config/config.go @@ -0,0 +1,72 @@ +package config + +import ( + "cafe/database" + "strings" + + "github.com/mitchellh/mapstructure" + "github.com/sirupsen/logrus" + "github.com/spf13/viper" + "github.com/unjx-de/go-folder" +) + +const StorageDir = "storage/" +const TemplatesDir = "templates/" + +type Config struct { + Port int + AllowedHosts []string `mapstructure:"ALLOWED_HOSTS"` + Swagger bool + Bookmarks bool + LogLevel string `mapstructure:"LOG_LEVEL"` + Database database.MySQL `mapstructure:"MYSQL"` +} + +var Cafe = Config{} + +func configLogger() { + logrus.SetFormatter(&logrus.TextFormatter{TimestampFormat: "2006/01/02 15:04:05", FullTimestamp: true}) +} + +func readConfig() { + viper.AddConfigPath(".") + viper.SetConfigName("config") + viper.SetConfigType("toml") + err := viper.ReadInConfig() + if err != nil { + logrus.WithField("error", err).Fatal("Failed opening config file") + } + viper.SetEnvKeyReplacer(strings.NewReplacer(".", "_")) + viper.AutomaticEnv() + err = viper.Unmarshal(&Cafe, viper.DecodeHook(mapstructure.StringToSliceHookFunc(","))) + if err != nil { + logrus.WithField("error", err).Fatal("Failed reading environment variables") + } + logrus.WithField("file", viper.ConfigFileUsed()).Info("Initializing configuration") +} + +func setLogLevel() { + logLevel, err := logrus.ParseLevel(Cafe.LogLevel) + if err != nil { + logrus.SetLevel(logrus.InfoLevel) + } else { + logrus.SetLevel(logLevel) + } + logrus.WithField("logLevel", logLevel.String()).Debug("Log level set") +} + +func createFolderStructure() { + folders := []string{StorageDir, TemplatesDir} + err := folder.CreateFolders(folders, 0755) + if err != nil { + logrus.WithField("error", err).Fatal("Failed creating folders") + } + logrus.WithField("folders", folders).Debug("Folders created") +} + +func init() { + configLogger() + readConfig() + setLogLevel() + createFolderStructure() +} diff --git a/database/database.go b/database/database.go new file mode 100644 index 0000000..fe9bae0 --- /dev/null +++ b/database/database.go @@ -0,0 +1,80 @@ +package database + +import ( + "fmt" + "net" + "time" + + "github.com/sirupsen/logrus" + "gorm.io/driver/mysql" + "gorm.io/driver/sqlite" + "gorm.io/gorm" +) + +type MySQL struct { + Url string + User string + Password string + Database string + ORM *gorm.DB +} + +func (config *MySQL) MigrateHelper(i interface{}, name string) { + err := config.ORM.AutoMigrate(i) + if err != nil { + logrus.WithField("error", err).Fatalf("Failed to migrate %s", name) + } +} + +func (config *MySQL) tryDbConnection() { + i := 1 + total := 20 + for i <= total { + ln, err := net.DialTimeout("tcp", config.Url, 1*time.Second) + if err != nil { + if i == total { + logrus.WithField("attempt", i).Fatal("Failed connecting to database") + } + logrus.WithField("attempt", i).Warning("Connecting to database") + time.Sleep(2 * time.Second) + i++ + } else { + _ = ln.Close() + logrus.WithField("attempt", i).Info("Connected to database") + i = total + 1 + } + } +} + +func (config *MySQL) initializeMySql() { + var err error + config.tryDbConnection() + dsn := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8mb4&parseTime=True&loc=Local", + config.User, + config.Password, + config.Url, + config.Database, + ) + config.ORM, err = gorm.Open(mysql.Open(dsn), &gorm.Config{PrepareStmt: true}) + if err != nil { + logrus.WithField("error", err).Fatal("Failed to open database") + } +} + +func (config *MySQL) initializeSqLite(storageDir string) { + var err error + absPath := storageDir + "db.sqlite" + config.ORM, err = gorm.Open(sqlite.Open(absPath), &gorm.Config{PrepareStmt: true}) + if err != nil { + logrus.WithField("error", err).Fatal("Failed to open database") + } +} + +func (config *MySQL) Initialize(storageDir string) { + if config.Url == "" { + config.initializeSqLite(storageDir) + } else { + config.initializeMySql() + } + logrus.WithField("dialect", config.ORM.Dialector.Name()).Debug("Database initialized") +} diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..a2ec2e3 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,129 @@ +networks: + net: + +secrets: + jwt: + file: ./docker/secrets/not_secure + session: + file: ./docker/secrets/not_secure + storage: + file: ./docker/secrets/not_secure + +services: + traefik: + image: traefik:2.10 + container_name: traefik + restart: unless-stopped + command: + - '--api=true' + - '--api.dashboard=true' + - '--api.insecure=false' + - '--pilot.dashboard=false' + - '--global.sendAnonymousUsage=false' + - '--global.checkNewVersion=false' + - '--providers.docker=true' + - '--providers.docker.exposedByDefault=false' + - '--entryPoints.http=true' + - '--entryPoints.http.address=:80/tcp' + - '--entryPoints.http.http.redirections.entryPoint.to=https' + - '--entryPoints.http.http.redirections.entryPoint.scheme=https' + - '--entryPoints.http.forwardedHeaders.trustedIPs=172.23.0.0/16' + - '--entryPoints.http.proxyProtocol.trustedIPs=172.23.0.0/16' + - '--entryPoints.http.forwardedHeaders.insecure=false' + - '--entryPoints.http.proxyProtocol.insecure=false' + - '--entryPoints.https=true' + - '--entryPoints.https.address=:443/tcp' + - '--entryPoints.https.forwardedHeaders.trustedIPs=172.23.0.0/16' + - '--entryPoints.https.proxyProtocol.trustedIPs=172.23.0.0/16' + - '--entryPoints.https.forwardedHeaders.insecure=false' + - '--entryPoints.https.proxyProtocol.insecure=false' + environment: + - TZ=Europe/Berlin + volumes: + - /var/run/docker.sock:/var/run/docker.sock + ports: + - '80:80' + - '443:443' + labels: + - 'traefik.enable=true' + - 'traefik.http.middlewares.authelia.forwardAuth.address=http://authelia:9091/api/verify?rd=https%3A%2F%2Fcafe.test/auth%2F' + - 'traefik.http.middlewares.authelia.forwardAuth.trustForwardHeader=true' + - 'traefik.http.middlewares.authelia.forwardAuth.authResponseHeaders=Remote-User,Remote-Groups,Remote-Name,Remote-Email' + - 'traefik.http.routers.api.rule=Host(`proxy.cafe.test`)' + - 'traefik.http.routers.api.entryPoints=https' + - 'traefik.http.routers.api.tls=true' + - 'traefik.http.routers.api.service=api@internal' + networks: + - net + + authelia: + image: authelia/authelia:latest + container_name: authelia + secrets: + - jwt + - session + - storage + environment: + - TZ=Europe/Berlin + - AUTHELIA_JWT_SECRET_FILE=/run/secrets/jwt + - AUTHELIA_SESSION_SECRET_FILE=/run/secrets/session + - AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE=/run/secrets/storage + labels: + - 'traefik.enable=true' + - 'traefik.http.routers.authelia.rule=Host(`cafe.test`) && PathPrefix(`/auth`)' + - 'traefik.http.routers.authelia.entryPoints=https' + - 'traefik.http.routers.authelia.tls=true' + volumes: + - /etc/localtime:/etc/localtime:ro + - ./docker/authelia:/config + healthcheck: + disable: true + expose: + - 9091 + networks: + - net + + cafe-frontend: + build: + context: . + dockerfile_inline: | + FROM node:18 + container_name: cafe-frontend + entrypoint: yarn run serve + working_dir: /app + labels: + - 'traefik.enable=true' + - 'traefik.http.routers.frontend.rule=Host(`cafe.test`)' + - 'traefik.http.routers.frontend.entryPoints=https' + - 'traefik.http.routers.frontend.tls=true' + - 'traefik.http.routers.frontend.middlewares=authelia@docker' + ports: + - '8080:8080' + networks: + - net + volumes: + - ./frontend:/app/ + + cafe-backend: + build: + context: . + dockerfile: docker/Dockerfile.dev + args: + - GOLANG_VERSION=${GOLANG_VERSION} + container_name: cafe-backend + entrypoint: air --build.exclude_dir "node_modules,frontend,static,docs,storage,tmp,dist" + environment: + - PUID=1000 + - PGID=1000 + labels: + - 'traefik.enable=true' + - 'traefik.http.routers.backend.rule=Host(`cafe.test`) && PathPrefix(`/api`)' + - 'traefik.http.routers.backend.entryPoints=https' + - 'traefik.http.routers.backend.tls=true' + - 'traefik.http.routers.backend.middlewares=authelia@docker' + expose: + - 5000 + networks: + - net + volumes: + - ./:/app/ diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..3186a36 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,51 @@ +ARG GOLANG_VERSION +ARG NODE_VERSION +ARG ALPINE_VERSION +FROM golang:${GOLANG_VERSION}-alpine AS goBuilder +RUN apk add cmake g++ gcc +WORKDIR /app + +COPY ./swagger.sh . +RUN ./swagger.sh install + +COPY ./go.mod . +COPY ./go.sum . +RUN go mod download + +COPY . . +RUN ./swagger.sh init +RUN go build -ldflags="-s -w" + +FROM node:${NODE_VERSION}-alpine AS nodeBuilder +WORKDIR /app + +COPY ./frontend/package.json . +COPY ./frontend/yarn.lock . +RUN yarn install --frozen-lockfile + +COPY --from=goBuilder /app/docs/swagger.json ../docs/swagger.json +COPY ./frontend/ . +RUN yarn run types:openapi +RUN yarn run build + +FROM alpine:${ALPINE_VERSION} AS logo +RUN apk add figlet +RUN figlet Cafe > logo.txt + +FROM alpine:${ALPINE_VERSION} AS final +RUN apk add tzdata + +WORKDIR /app +COPY ./scripts/entrypoint.sh . + +COPY --from=logo /logo.txt . +COPY --from=nodeBuilder /app/dist/ ./templates/ +COPY --from=goBuilder /app/cafe . +COPY config.toml . + +ARG VERSION +ENV VERSION=$VERSION +ARG BUILD_TIME +ENV BUILD_TIME=$BUILD_TIME + +ENTRYPOINT ["/app/entrypoint.sh"] diff --git a/docker/Dockerfile.dev b/docker/Dockerfile.dev new file mode 100644 index 0000000..5aa8461 --- /dev/null +++ b/docker/Dockerfile.dev @@ -0,0 +1,15 @@ +ARG GOLANG_VERSION +FROM golang:${GOLANG_VERSION}-alpine +RUN apk add cmake g++ gcc + +WORKDIR /app +COPY ./go.mod . +COPY ./go.sum . +RUN go mod download + +RUN go install github.com/cosmtrek/air@latest + +ENV VERSION=v0.0.0-DEV +ENV BUILD_TIME=2023-06-01T08:07:43.454Z + +CMD ["air"] diff --git a/docker/authelia/configuration.yml b/docker/authelia/configuration.yml new file mode 100644 index 0000000..5feaaa1 --- /dev/null +++ b/docker/authelia/configuration.yml @@ -0,0 +1,50 @@ +default_redirection_url: http://cafe.test + +server: + host: authelia + path: auth + port: 9091 + buffers: + read: 8192 + write: 8192 + +log: + level: error + +theme: auto + +authentication_backend: + password_reset: + disable: true + file: + path: /config/users_database.yml + +access_control: + default_policy: deny + rules: + - domain_regex: 'cafe.test' + policy: one_factor + +totp: + disable: true + +webauthn: + disable: true + +session: + name: auth_cafe_plaetschwiesle + domain: cafe.test + +regulation: + max_retries: 3 + find_time: 2m + ban_time: 5m + +storage: + local: + path: /config/db.sqlite3 + +notifier: + disable_startup_check: false + filesystem: + filename: /config/notification.txt diff --git a/docker/authelia/users_database.yml b/docker/authelia/users_database.yml new file mode 100644 index 0000000..3dc627e --- /dev/null +++ b/docker/authelia/users_database.yml @@ -0,0 +1,14 @@ +users: + besitzer: + displayname: 'Besitzer' + password: '$argon2id$v=19$m=65536,t=3,p=4$Qno2VXJTVVNNNERjVkVXbQ$rEUoGFLekVIVXm76ahP8hcqLHjstRpM1pMLf0tUTBJM' + email: mail@example.com + groups: + - account + - serve + bedienung: + displayname: 'Bedienung' + password: '$argon2id$v=19$m=65536,t=3,p=4$WjlhejJVSXc5TVNLQVprUw$i6DzQukeTsXh3VL36KtCyt+rAdbJSG5AMe3c8Xiw34Q' + email: mail@example.com + groups: + - serve diff --git a/docker/secrets/not_secure b/docker/secrets/not_secure new file mode 100644 index 0000000..22d06da --- /dev/null +++ b/docker/secrets/not_secure @@ -0,0 +1 @@ +this_is_not_a_secure_password \ No newline at end of file diff --git a/frontend/.dockerignore b/frontend/.dockerignore new file mode 100644 index 0000000..51f61ef --- /dev/null +++ b/frontend/.dockerignore @@ -0,0 +1,2 @@ +src/services/openapi/ +node_modules/ diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 0000000..2c4af22 --- /dev/null +++ b/frontend/.gitignore @@ -0,0 +1,24 @@ +.DS_Store +node_modules +/dist + + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? +/src/services/openapi/ diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 0000000..fb1f6eb --- /dev/null +++ b/frontend/README.md @@ -0,0 +1,29 @@ +# frontend + +## Project setup +``` +npm install +``` + +### Compiles and hot-reloads for development +``` +npm run serve +``` + +### Compiles and minifies for production +``` +npm run build +``` + +### Run your unit tests +``` +npm run test:unit +``` + +### Lints and fixes files +``` +npm run lint +``` + +### Customize configuration +See [Configuration Reference](https://cli.vuejs.org/config/). diff --git a/frontend/babel.config.js b/frontend/babel.config.js new file mode 100644 index 0000000..162a3ea --- /dev/null +++ b/frontend/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: ["@vue/cli-plugin-babel/preset"], +}; diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..7be8523 --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,98 @@ +{ + "name": "frontend", + "version": "0.1.0", + "private": true, + "scripts": { + "types:openapi": "openapi -i ../docs/swagger.json -o src/services/openapi", + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "test:unit": "vue-cli-service test:unit", + "lint": "vue-cli-service lint" + }, + "dependencies": { + "@fortawesome/fontawesome-svg-core": "^6.1.1", + "@fortawesome/free-solid-svg-icons": "^6.1.1", + "@fortawesome/vue-fontawesome": "^3.0.1", + "@vuelidate/core": "^2.0.0", + "@vuelidate/validators": "^2.0.0", + "core-js": "^3.8.3", + "moment": "^2.29.3", + "primeflex": "^3.3.0", + "primeicons": "^6.0.1", + "primevue": "^3.23.0", + "vue": "^3.2.13", + "vue-router": "^4.0.3", + "vuex": "^4.0.0" + }, + "devDependencies": { + "@babel/core": "^7.8.0", + "@types/jest": "^29.5.2", + "@typescript-eslint/eslint-plugin": "^5.4.0", + "@typescript-eslint/parser": "^5.4.0", + "@vue/cli-plugin-babel": "~5.0.0", + "@vue/cli-plugin-eslint": "~5.0.0", + "@vue/cli-plugin-router": "~5.0.0", + "@vue/cli-plugin-typescript": "~5.0.0", + "@vue/cli-plugin-unit-jest": "~5.0.0", + "@vue/cli-plugin-vuex": "~5.0.0", + "@vue/cli-service": "~5.0.0", + "@vue/compiler-dom": "^3.0.1", + "@vue/eslint-config-typescript": "^11.0.3", + "@vue/server-renderer": "^3.0.1", + "@vue/test-utils": "^2.0.0-0", + "@vue/vue3-jest": "^29.2.4", + "babel-jest": "^29.5.0", + "eslint": "^8.44.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^4.0.0", + "eslint-plugin-vue": "^9.15.1", + "jest": "^29.5.0", + "less": "^4.0.0", + "less-loader": "^11.1.3", + "openapi-typescript": "^6.2.8", + "openapi-typescript-codegen": "^0.24.0", + "prettier": "^2.4.1", + "ts-jest": "^29.1.1", + "typescript": ">=3.3.1 <5.1.0", + "webpack": "^5.0.0" + }, + "eslintConfig": { + "root": true, + "env": { + "node": true + }, + "extends": [ + "plugin:vue/vue3-essential", + "eslint:recommended", + "@vue/typescript/recommended", + "plugin:prettier/recommended" + ], + "parserOptions": { + "ecmaVersion": 2020 + }, + "rules": {}, + "overrides": [ + { + "files": [ + "**/__tests__/*.{j,t}s?(x)", + "**/tests/unit/**/*.spec.{j,t}s?(x)" + ], + "env": { + "jest": true + } + } + ] + }, + "prettier": { + "printWidth": 160 + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not dead", + "not ie 11" + ], + "jest": { + "preset": "@vue/cli-plugin-unit-jest/presets/typescript-and-babel" + } +} diff --git a/frontend/public/favicon/android-chrome-192x192.png b/frontend/public/favicon/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..c4965d9c5a826abaeb1660a1e60bc97010b9fc10 GIT binary patch literal 36406 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 (|1#>2@=ncNTy3HX5&Wt{m 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Π9C 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

C zeTIFL7+g(;Og8(;S?AsH^D8`&Aj_1bthL-Aw}yO44LSm%S9hq>wW}-*9C^3=Wp?Xo zYwfLdI9iN|nJ3jdrIK*1?>LM(@*-=k8Bf?S7Gi0nz zNF^YMnVG$-))AJTh)(Lug|BD#`pU1Kd+FY1uTX>!)0S(TY}5OI!F*e?C@yP`Zc|) zF8Q6#53ZG*)NhaRwF*?T^QwcdnnhW-SNl^o&N|;Lgltnab$mWi_PplI*!li*?1_%Y zC#p|iQiI+^B?f|V7Fz+dx~2#8S8Y5ePJ>lR+-4}SVO2Z-7q?&ymYS<(p8=-$t@t*p z+2Z7ovG-a%hA5|+PRfD1ku)jT(-GLot%8wRI{yJtAY8ULddi5Iwwo6mwV8=47Qx2tSHt=y$hPHU9wPk-eQT$5F9h0W_S1rA%e0&Jx?t@Qp$JjTeT%1_mZYJ0D7?hYLV5$|o0HC9?4tB9l4 zy>~`ObSfjdBC><-om{BD=xS0}-K*y;*pG`#?gTN4?pJG-vHu8A&_0K)v8|{#+$+3h zl}t3ryu;mdwlJbc<~06Jgu7KQ6y#Cjq{Nw=y6I!4b2d2IpAOAB~NTw}Is3+haddfnH|K#(4sj!dWeZBn*#yrWwE_9Gx3v|RA zHxC^mC_>g~z6xg_#Cc!oS@uXD1DnvH0*i2vpP{xBU9%h2LVy!rb6{U zU7qiw@m1lO5c0R>>w`L`SGROHTk`jprQ$})R3U_f4LyH%RHm>@2i?{DlrK!g)F770 z9szBQttX{U_cNkg+73TEy(x=C^2|Jg=y zVBr7$l^04LT%hZXBD=IDYCdD$g$F5P!_1&|ox#J1c={CxI@!5ejvo&UvO&;u1baj} zd`v}A{A#a9xF+)8#M0;)HhD5rmmF~EDfCaWHpG;bRs6gkor*ksS9()i#T$;MBj;SD zGQ_V!dqyAd-YZQ(EJnmnIGvIyQp5L8h+T+RTlZJO5_fYPkl=rxn(E&S`#>QM91eI$ z5RAj0hF1`*g0i808O_J{mTdM(6as{Jx_*+Pk==LFOI-g@ryK`M6%0ncY*u7Q^@8u- z0an39rKR~0UI3&UOS;0S=ev0dY9BXtPOWLyk)aSC3kLGWGm|#EP&ZU8=n_MHr6+si zdK0~s(_|L?`3SY^@eMYke^aXWscpy3A5G7)GojXv9YMv@rX;bKn3-~Zw=`h*r*djN zFIb1qgqW?0fM%Nc^_x)}&0PlQjQS5kQ*IGukAg}LGTW+GjIB}k+U{iCyJo6s zDlPRD=q=s;Erhg;^zNzV--@SwNbwJdj}WhKsC^e-Xfr94K0#yJA3QPixr)~e*gyBV znXy4EG_vaJgJJFv&mKsd%h_4Y|1o)NfA3$$T5p?c*X>#Py~Bk4%e?OI&>+J6wYaf9 z_7}3tbU-{#JC@Pt^VHz&lT+l9ta*o@yu60bo=7F*cSH>GkK=_|i&- zv$0_gChFs5#e?_kjbA(;9XrxEyL;^|br~>(MY1%MqHkk{WIEu3eam)bG_ZTY59&o<(`hIu(a zwKW5=s#HNoxB`kX;_1Jr*MIPQ=KH*J1s)XZlm33OW z=vaX76|=k*UEz6Xj`-CAE`)exVJh){X$ZWW$KBMP^8F%VG&gs3KI&(^-1Xk)v}u9< z@gs6R)B=sC?DbjRd@q;&wUwhBO8gUeeV9`-n3n^%aT)~>{uTM6pTpvf^mdN4)E7Mb zD2tCv5{bq{V;Z=97CIHsxU9M)Q}i-U%~zI-L( z;&S4re$W^k{m)$`1>!L8=$QxQ6Hy1>Wc;L{ucZuAIA3gxZv6zKdPwk+GA z|7GBxmu>br|7-R3_U|CnHk#NJOtyq*+%8=TSq|Fq6PWdXWc0c0cLHiGyd5{{tJ?KD zVdT258lV2qlNw>9*7+x^E^)pWT%2Nj>#m(!{p3;lNazD2BkN#XSO#4|^S@pR-m!(4 zji!Ki*e-V?(_yiXz^|0JT4dm#1hsi6fqmNd`+bO>eDoeb#v?1K+|XKNPN0nHUPb`R zAntc}eN+M(EQ0s_Y69?Uygh)<1JG zGiQ~QAbjo`Mn)>e#^P~>%Ctg4axXvUurWT2Fw;YsgRw)>^Y(`98^TVzJdv7U{htr~ z$LsNNK4FA3&E8wuISP@W82Jztx?&n>Mmh1pMd#_if|y%DyH)?|{g+M`Bjr08q<;Hv zyRVlzk@~w=>H{Ue*44$7I<<6X^8!uuJ-Vs@Y3SnLRsP&gJ5B?dZQwtfWvF-7)P;=;8dvg5$lJsqRC;z>`u3DJWvS zWQV$h)s?xXiVEkC(cE5|-;{kEBHb!}`-5m5(K4k5d38SPVP&g=Ca1V7rAhM#G<(le z^X&rJ+{Ok62F~_8+LTO8B;XYc%7hpoTo14fd#B@9W8qlac=+EScp<2J?e6aGS_vf2hBQ$}4jqUnkr=Q)r>I%`7bVubogj#f zw@YTBAo`W1Nc-hL{_JKrZrj8* zk0DhYC6se$lCc9TD+shxAN_h!j)0zIZq9^;yF4@Q@e(G+CV#Vtk>~;0(EHvMmSuGd zt&O^i)8U>gE>7l_;lmRVq!hBVe~!X+X$PmIcbuDEX!l~T5-erDmSL-XJ6o0fxGvfz z<4p*_+pcTdM54Va$W$St#jU*w4D9`Roi}$b-#`WEd1~7^`M|({OuC+9*1FDPmunX! zeG`YPjt$KH8MM}oZB2P73!EqzR!$a80BuXbXp-b}Rly9lC;lPF2TmJe3&(HXiPZYc zwGxLrtflecokeDUqeTQgKx`BRSnJQW%!?2-I5yS)o(x{O?`#Yph)ddsuCmm?+Itl_ z8nmu~yE{{8UbZ96iKd$JX_2>i(YfzD=7UR-6B1t#_V@ZjGmFRq~WH;L7ZRSOD zH{Ye#lP^nsxAVsBw}L&HrfG)L-A6u%QVGQQwO^~ST0B@Jp0+KSR!}AA|0)&W8z<5! z>p#XGw#*QrFONCyUhlj6_~Nu1k>s@%2_~i*zEZ!9M@z=rdgovj(QAR|7slKeJxV2h ztE8qD^D{5~S>vKJ=@Z!x1y%?xXR6bU-uAeJ(#w}4*waLlPud#$ue3!uTK-|t?rb-5 zf)<3`u$g4yL5V4iekl9VQ}^F^#-3tE>5uE#vnidd+ofRovYLA;Jp2 z%-k%R%mD=@JN_2ZjYM($1<^O}ikD8_(X&@?OQhdOL|?}KYx}g(Wa2)2g!=T6 z;i!(pUR$3HX$0S_yx8Y&yyPKT$?s8?r@QnrF(Ar<7xHuqXp zp(?7dP_FNB=pZlpnn-u3+UCrA&O1tqTNrPCrTw7@S5ndilI-re6o)e;9ac9s;?mPq z+*JiDt98Tmjq52^&&B1lGOW;09)*-dkQKNDO>EHjzm~bH-DXWHw5{-4A#u+*CvN|Y zVj=5KX6t%oI>zbW-=}}|_brA^hJ1AbwZx192{0nZrlz{7Zw^>zYhPNaYhFh)%3^wi zMN-B%ABRMJn0gRt zFdQLSXuaNbnt--eSS68?QjS|Pt;kj`_1lm!A!2f14!8@k0_dyRF z*H^m|+!;oNu@up}H6C(_X+0lBa~Q(oE!iHSX_zA2_eWLWrn!UdrZaW@wm$o%w$7uh zrg5Ylu}~E^kJoeRLZYYGqc6ykGE#bAsU5L!^Y1=D{8Yi}>L|iPhm<~U2b{^;$a@oi zD`R}IGT$6X^7A{FKGML~p~7IB`FZ@GFHvzAN{yA>9V8VZW6mAb#&-gaB=}c{LuI=( z*4@s%lpdzGw&)VqTWT&|oBW2Jc6wU-vhiXm4V(mJL9jZ)zWoPfHMchlw<#eQ+? zc4A@iU$H7?ta!tc9`nQFy9RULR{6xG2wk47gAZ1rYI?`&Dg)Fp_4M>`i;G7C0J#Fk zCSmV?STNHI%FdohN=kboO0}VyER|3+aiSA22L2a+JN=@vVo9YJnCuf$uU-+> zI<=7*2s%CWmb+K$v=E(=Le|Ad_4mvDqc!LEF@K)?*FUIaIGXGt z?tWeoq{5{C+f-hkbLB+?Qi%EN6{esGadFdY!lE7SwOd{xp-?D_CTfGiFAxyps}1%W zF6<-43`^QSSu<>Q-%thf$aFMik6X79W-WiUrYnu432-sI$F=tcA5fBqssUf(cRy_r zS{8?4EF8)kR*49+&WhifeBO|glRJdkQ49p*0;VIgSp~Su42=w%0g(Ob)vGi|jbM{) zhoJAq3VFp(G6ueN9z$|#{P*u*m|2)k6bwSeWHgW_X5HaLw)XZ?N=j@gDXGs4o6CN= zIjTA;s&vYc?oV)TMn{p_;v6%3D_rFEC`EsC3=W=S%j~wxPW5YuG^NCPxHivhT4bV- z8;C-8rRqt-wm|9a?R|KZc}sD5y05l04kO-Hac9}SsMdd_CT&zEXUoK3BPIGwf`h_9 zd{;~6xg?>K8Ci9;mBJl=t4C7l?7QDzOqX^}x81x>`_CJ#$z5z?#YyeDm}Ir%ZMrid z1Rc8f-<~qSC;K3u%lCa@2dYLeKWnSFvPC5c4Xu`oVpL}4Mp;H=C%;O4bWqSe+~xO= zG9Zq4d6(Onw%BgX_oQ3uzi#A|+q-uJ-sEJ#PayltS3)*@{fd`!BB0AA+xb!2*|_)m zx3L8F=Xz^yrzAMzvQz`{J=j?aDM3oysD9(BA@kPm2_p`3In38MP%R+NaV51 zpGw{tSIMkX2q7M%Eh(N)5wDfjP6k$br&4|kzbieHbo;*QeuGAF_sRp z?|)DhOh8F^X|i={@3F2#VCuC0&`bPU{b@#{#|c6@=ZC_t_Kt-Gh3lnzO%mqjjJr*D zexu{#E(L;?tjtErHJx3m@8pEe`8GR9^~@AK+s%*C91SVV%V{t{2sF|#;ldvMu2F02 z7dO7~WUFhTFd}~S-Me==-@cJO(J5`Eai0mu6n4+euR?cqJpq(Xnf^%DHKCpv=FI(v zH74!f?JraMaW}oIZ4a>9Ti1k2U0i(>w@3(`a@g|T&ijyC=*6zEcW_20{6_n&wO+KF z^|Z=1K?9Iq@Ii7?8Q>D!QO3u|+wOXfjuqb*$R|y#zp8-ACa?K->8_Ry4A%PJhO8&9I2rQj;+UUuo^9u6$<`TQ0@?@Tid>oy<1nQx@gF>pq&n>gaE@9bm( z772k=BJ+W3dIK*aC0Xic?zR6c%Ad|@Q)LU8B5Z}na##Gdocj9xqK=f=;v24j{{Sf^ zT48>M@CxGth3D!w>?%(F=Qn#usVmUMph2Xx7<+B|70=<48ib~X{x>Hc|L(_{w1wh5 zW@O6S{l|Oz?)x#ZI-v|OBbHg!V@_bH61fXh%k3;+nsJ}^UEkVji*NEKKJcIp zmh-v5@YY?&HMsYl(8p;X6_9nsWx=j5{k01s-|;%_t*zS*$$yw-uxMoT=Xh6bInT1W z=04%5;XNZacKBO~j$Ef)e0(7Q{U>X*hT9rUuV^*mMdQ_MmV9yQd-`*s^S+~uySu>D z)U=5nSBrp2QNMe_K5w;HHrn48Xwb-SMrGpB^P*3cyTl>-%EKgUq^nsSAMzL2QXIY$ zgrX)XrdR9ch6yWWQ?_v?jLhS3)FXf_g1XH*42CjaY<&CtEEel`eCe3sIS4KaO?Rm4 zaU4+_DGWgwF8)+OKltKnk3Ol3Uev+eO)M~Jkh*_g{SM>)uALJ;O;Y7=(sJv-_$T&; zI2!y1M)xK$vMf5LuY*oTh@9eSxuJ`%C-PiL)X9dhx`sx z!9b1M{nh<;jZ_4$fELx%_tlU1n8L(+nIxy8J^SWGq`71j6fa%favK{Tylp*D3o$1S zOiCiFvE9->zg`oMMUGBt&gQ%;OxrL3QSoRXd!H@peb2UAsQl}tXSk1Dn@Z9ibVA?g zsdV9<4lRQ|Y*y`edXr6ouKr2h7!7w(FS6gC(QWw0@1#jZs*2#)IaOd8>_`OzUbB2uO0Nq2fLS!fluJ! zPX&n+4u6gv4P(OIhl^KrK*=Alq~!z zaK90qclyTzw>%Pdg+^=!vxF)d`ZtDVi?jv24eF%2wOJpB|1K!yrx|0XL1m?>YtJjH zY@(*!R&BaifG093(qRa=eth;g+i^E#j?XBM^sYleaMY^_sPtGH>F9)E-t`3`UrZN? z(F>H-n#-qBG|5q-R@Vz+Z*{$DQ_I28GAVWa)hDZV@@mM{fKcj%wqbO-LnAstb`xUp zdz+x!c8dEFX`xCn*-(cidy3LRYv*}8+AXjZe6H=v*LV=^XmSJW4t@qohGLlY$>T?^ zN%3S^?(sZ}6S*H=Ss(VCSE4FTGxBi10ifZ4CyNLCik@@Zm}|6O0a@&)x;mv!Q&_t%S}U?TwifIdY%=XPL*l#YcA1~^gF%0 z$&Fy*EL(h!;lHuiC!cK6ioSl8@bwi1hGM`{D`8E%khZ{VwX$vPDesb9&^80M(IT>$LIRH`4j~&!oW`x=A5+WwQ~;y$Q0xFoD11dB#IO z{cR0Ygz{>XS(0Y=l^jHOH(Wn~QbqscH@oJ8Zy&cZAyCg0m6kpS{9Y?7tD))XsK0;p zV%emHZ!njqu;`u82AgNL*?#qeKJ2t8@@IXUl z=5X#YPhS#;q_Z!lIey813o`$lKE)5X=ns42cB^p?S$vUW?O>E0?q{~dhmOxSu2Fl7 zV`?J@-x^Q%uVCCQej?ZhhLjM9T4Go_@aPTQOWc_F!R7SyK0R8p{UibuNxy22e*aQ8 zH0)?`>vnwm&GA#GT`?rV^#}#JNM3CqCxX_~6Lz;B37mtw3taXKGZ$|`nn{@XbT1lV zH490rTHVKi7~;S`6m4xf4cDy$+P_KqX z^kBsjK*gp-mpmUgecEzBdEJ@ZbZF_bp=2!cb_6?iLHV`Z3RRVEWeSv|P7Fg_D;*g{ z;X*#IGDgwh#?Z#=kqVbb`uh4#*X_>0|Dw}83ui`)2^zMse3Sv4QD`6M2Z9Kj)vV!Q|&U;T-&-M>Phzp0n4ireKN7K)U z`1#LY!7vHdtz<`c|3;iX2%H?y` zbR+O)=0{u@4)O1wEtxKO>TL_2-0-KDf=ctT`RGtb$}|zw-Nd_BH3>=hF9e_SKii;t zJ&n&o52nd@AQo}R{aTQTi5c3DP>e7s#tFtiNwbkC+65C6=ktBj(eY6eUo`@=q+qh()pAK#%ubUI`n?4O)lFg01s;-pX!W}!V#tCx*EGLHo|wla6pa>uax zFroF)KQk?Z-`9>FinHU>ioL%(X}V?3^1P&Mx3;R$H0iD*5jjyxY*N4j-E9pRNFNN| z9ji@NyWWS_>=9FF<^Fi*r;win&NHd0TSi*Mf192L3cq8;dK$%Od+X2ENpoQ^(b7U7 z*4%y`Y?Z8(U8lWLjR_=z0S5=pz<>pfERjriVis?N+mxyxEjVHSO<=-#*Yo0?6t6Q( zn8Y8|7AlBEhB5>V>L|Zh8-J7^B_;p#m4AGr-``SJ{mgP72+DbJZ0k?b>Zy3TGam*b z07!pj`I3+DjO5Ul?4pQ7vx^p<#SXd#No^%^b0wm51qA5UC|G`FU0d3Y4#Yb?>eD;F;%&xmzUE z+`74bH}fj0M*6`7cVp9@?|&(RZaY&Usi`%JT1;&YV~(h2AAwUUS&(VUWS#w!+XLD= zBKH};U*RVLP;!eYdl7`%SjU$1@AXSI17|i;5i%(T2ziUz{eeL}Q%#Kll8C7(Az)sI z5BeR!ad%t=VXO(P!F$a-^F%fMnj?B(iNe{9>cdI8uG9@RgR-*v)HPqBCa#BSNTkmY zGQ(aDS*P7tZ6M_SkcXknC0pFk{X9+RT{UKD3iFvxzLl$m6~UqY?=bFp{ z&QxShf3Ze%eC^`%`+u2Lo8JTO+}4l&wdDO@qzQDBCxmvZQ}mDR=auA z$Ug+7KUyTGLNVAH2m54y+ysSzUSnLMBK$y+a4C z9U{0xuBKSu3mhJIcYONE`_b?Bp=V&ONT1mcj{kGnvsYqB*utRKmn@wM0?lAaMS+Yu zFHWG96UPdtx^lUB^78W3&GiwZ;4YrD3{5~w4yoOEX$Npw3LNy^eXIMY5=CeyoF0OP-`{lb zp$0=x)_#!A&)4MLa43(JS!K4|2ZmTefqp16&YksG5JPI8YC)LL``Fmedmhx)>a8jUGx3< z27x!BL>fMxgvT^C9n5kfPO*4!n!xZN)_gEa6q!aDJIk@#IkTN1bkR587bN5KIZ2@c zmq=>nZ!I>kjCTbd_|gE?3s|n>EP_b|_ekV%shJM41(Mj_ew4Ml2SbcvgJSY0ILHPo z%ef}BNhtUCLi$}zDUc&6WWuvSy%P-NKcu9mz0nWn%L!HFf0J;8k8ZpPZ%O#uC?(p%$UlYFJS zc0q%s*rb6+(Y8DL>i}6XBCXYl-(uZ1q;Hx~Q=?{KG(-8|Yv>;gCEqV#A@S2D_{Nu4&n_>nKc3k`$ZRc4NsA;p&kY?|J~2NHtbxOj8SyQ!5~x|0)Qg; zj!R(bPa*OQK3%a0a3BU;VB~`V)YK`k$9M-ID@cD@zoODSzq;s>a5_hYFyt<=i2?x`>w1M_5Hz~i z^uXN87tB&&kfd0g)rP}^!-Us^BAHHW#@FV1~{`kj0 zbm^Jg$44FGwyUGpDCwfuFAAxpEUTiTjI$rXA%jj}TS7hYLZJ)Vz2ot5pg<-U`JH~x zHod#O0a1^Uss^Q)rq%wl&T651-;8EM!ftPskjO_Qm|z8QVT^E_P!yQ3<=@UHYNaQ{ zveA+tYWH8sRKEU*VS{1sRJw(N#`%px>@bez97x_!gEY3Ms&L{pHJzyC48KJAeYBp6 zfY2ziDY}gBE_L2VN1L9{a3cBsNFn8~%pz)F^=1_KVTFCgNh5ZOBY%cJ=8#y_w+yv( z2UU;)LKPF4iZZ@i6*wQEy$c5lHe)fO*#JRYv?5NPHV8J<;3wL6n8>lrlYJo!2vaT2 z)TPhfQ3m6^xFKibjLGfN<&EI|uM1%>z@SrE9xjer>B%4ttd8OTYWSVpoMc&$)dK}8 zQZ|s-WF1!%l+p4UjQc}${9qRyw3p-Gq=8%9UBedk5*_x0Wk&CJdHF^IUI-_$&ln}j z;29@z!6<7c2Avv@Qp@J|1YSs{{3KvxUs3!)mvcEN)I}~Q&Chon{iApa2c7mg#={Ky zy+cjGOhbaT<1*_3(m))b)J?&sr*51WgPyt>=ZQt$$uHl=yLVZZOb`!4V1pt1LT)r@ zBN*0e4U$=Yxc>O`>(~A72YNsQ0uXrqcP^McA`&_Ef%K!^;HeAFOh*+LvjQ0Nb8#_N zflaHkfx7geN8uDE&Z89wBB##Ma*Hz1J^G$5s%TV*%LGxz8!E1iK0=4+GTkE-{|W=# zO~?4=zTfpS?Q(Hp){?1TyD)X|vzwkP`M5lb1Y&T)kt6N$4&43E++W)|EX}9R%ncf> zGP2-og;$Q;Zk4Tp}q#};4v zF1IWbudr|wP*E)dn(AvuM>#+RXM2JXsD)8h&iTnxp}4_+1VRM9@w2QQLQkhP>gmwB zvPOlbLh_3THBg|BD{2;}_bDk`M$|+@Xm8fLJXTh8IC)6IEcNDA(l*623&o+1e-jOj z_vZs>(0u5PFueR|3d zn0GDJG?Ud&Gr|lk@rT|LuAdE-?ZFkRZ-T*3vG=q5*&V_sKC@j>Cen%4h49gNr&kG<>-UNr(x!O6*U)5c`dYLWLsf|4)bE8UaBPIWFPv8tE7e znZqW45n0W4Wgm#-#gNTtvee@&ilbUWbzB}%JN(Ea!j;_I+zjELotm-7HJ50AQ8%84 zden2$QLo(^FD~G01sFLw2G>d^e^}(6w}SKY9-jb6uOGhrsteNz#-?hG zMIhp%i2hh$p#+|-S{~x`S|3ep62rij$Z1BtA37+4$@^2xA^(=^RkWy140COj< zcbB}NFY>vcA$H+eRPN73w}eCK>U6t=4s0Sx%|CwzJ+cgd)!CjDXn84rl|aifUj%Ci zox>lCjcTP^URNGcr>IPtnNL;(_kis5QxYJb3j$X`{rOVV`9Z8-aD%r|E4W?&v+k^) z;MjcV4Rhw1a@#`sv;3mclFn~G=OXXcvhOI}=idqdF{Ou_#3%b;KUxK91_Ww*n#4i{ z2KOI@6@EU8hgwqy8o}827>U#qa9{g@c2)@wB1Euerkz%(A5Bb5n2)R^14c0H=7yOR zz94(?9iw+Jkbya5t0pBatrb|^bMd~zR#6!MJ0{E~O-vQaH`L9Aa-7cC4S81Q|926f zpdea5RQdx{E~VKJk}4U=WofyFM8DWe+%!?J%~N3?GsGZEol5;B^jha zw)x7~IQEre1KIrT_)lkmxYNDV`!pP_*#-q0Bj(*Dre``)tu874$dcOeO{nnF`% z`wTTcwMe+}?P2oy3Wt9Hn0mE18|>!?ymeo{xmO>X@g?I&nDO-FX!zCcF9KvS?zB@S z3~)b_Y5cs8*;kk6l1;W{mvT}e{D=ReEi~8Y^#bZ!&5W=9lm8p&F?s)NF z0nWQ#S4!NVTyW@qdHJmsFa?n25sBgwXISv*{cv4s@a`kRQlcyvB7nur@#!gYq5_CO zkG0f^(c(;KTI`d>%0CvX~Z4}uPpkAH) z?#|J8ceA(5;eUYxdNY>M9c7PY)X|*CIf2PA7gT{F*a$B~2(Gy$9s;p&|MM{a=J7A3 zQkL3eP*FnDXr2KowCkV1_pNM@D@WuJBgFDD6>NJg&}Go0K(~D%Q_&KC927rc%-1|y z#0;=W(f#g*$3Fk=*_-K3AP@y8>(mc<`CF*@RYF1+*O4kC2?@#iP5Hg97@8m(3LqPm zP*I6?p-XsyqAY_c|H`6(#Pt~pqWmArr(9T>i_w0s9=jztUWU%=SkIhgu#FX2sk=G= zf8+qTZcxRFo>I(tUD@|5t6k-Kj*533$d1YLi%S!u6QRUYm78(BnJI?>Yj)1Y)BQG} zM-H&jgDBvS9;*nFS)ow9exv?HT~*c3Mt1yJ^1(|J*6{|$#|uizyyr{4&%-%xv$K1# z%+MzNPTT-ZHwWB&O?Pd3$T7>bYX}E@0BWdml2A6@uqzkWvw&n{KT6P;QHXdF6Nv0X z{BI_qz7ojXs3^_?8|O%b-MU9l*2t>lSUxF>P)Y(eX^T&cpJjg!Bi{rK z3#f9P50+#f?mRT;Qb|=CzKHQYP4^MoBwbiif8D_bmSF?KyyTA5;jqbN@`sVMKEo6(0 z!6g{0!~Ggv7lS|Rhvwn?n*CF9Oo;cH@dXay5aQ0|&T8c?F#{rRed#_sCQ4{ek0@1o z8WObT<>Olf!e>GMMHFzJve2_iFc_K<>RBqupeU=UEdz0vpvOMls+Bd8LjbtGM6AvJ zYIwP3VZJ*<%!b9|(YT=YHP4$ku$dfSfPg;>0Yum3Ik~nmf6ok8-Xv3*$y8mnoFumE z;B?w?8RbhY#1HS%&o za?Ck#Nx;zo>`h<=1Wd9+P@eZ0(3N|DGR6TwO=uf zFNc%&2ORy7)*N9r`ruPT7gykP!L6JcpS=R{8*5+p_KrRLFm}%-0tPMRZP+jnckQ=c zShsXMVO)BF#tm1MQFd{?;JRZ^-N`!!7R=IP!ShL9id&j$I_o=kxRTtIVA zYexjZH%LKou6bV(231B-O|mN))+jH;Z2V(DQ|32drmx`$8 ztpM-TX8$z`Cui46bB4yKmd6D*+rLuL7_$saDp0n@T|Xl`sqfzfy;pIUc%1XAbxP#o41#s0jni4^B_as1B3zsRzpYp8QSRW-_1Abu<@3jK;=FplcDi& ztZc!~_=*b20qE_;UcrGBN#Wg~n#zo_q+NO+3y3@Sx+2Uu~26RKiFNrrALabK$GUU`&KXROxVV&}*>JoYk zREUME1k>)(TZYmD$J;|*4uM+`NN)--t4TmK2TVFljM6W|hk>w|ts>84)f*1!>+thm zjTNw;vtIWfT=xgn9CW4+jgG>*+yLqy_wg5F{~vcfr2;jlB^|mB^5TyOg@M4+09+MmlVi_659Fv!HWgKa(m48&T1PuRNApD z-Dl4R>}Fo8q?TcNJhZWhK!G|ncUxS~duA<52ah{6-yLaQuXnS|d0yEg^*Np2!Ak^q z%*TklGdzOk39nUi>mEe05J98p|gq-+8#} z0%tk4JInl!>_F0kH|S#m&4tYvR|`*MxKoKsNtqG|DMEX$+7_a8d<{jb?Pnt~A9z5t zSCfXivsF}NiHW@z5$f1oZj!74rbF8i@|7Zm7Xb2<<^Ev|P_`yEZ3u!v6lzH;LhRIC zFMs@kIJvk27y+;VB3N2V*RrI6daJF|N_MKt`H{!WggY)rV+|%p(=|8#1CekrQ-fvjvg{an(T-y>03geUCmdLpJ>(CX`=Cc^w|eNspw+usV*GyhG^8cF#V4keWXL;>VPTLAp43mT!9CO#${hltS`4 z9~D-w{Pc!>x&4*h%d*Z{+9u5G3vkw4Zhj$((nhG4tk=?XElNytHqXAi{_WRiCOxQg zyq3QD%j`t)4{ID)GHRYgkUVqg)*+#!M|?=(DZ0S~c;SF{(gBE^2fyZT@CU(E?)DZ& z#=5}wL_|y7uRxfu=W(%zwUqh`y@1nk{u!q>yqde)s|t{B2)GS!HLJEl*upw>w-6mU zx77#)?K#?*Kb`zs|1Q`vCF~IfL`ZLDiyz^Io@fIOPqO@0ZR)`^ z5O4vDy#-@XyGMSRHopuuFfhM|Hlz_=L_n4&Hm0pT3CyV)_d7V2NV3n-0IH8(OD^ck z5suB1(8$et^sS%&?qg;tkNsh41}cvF8t7?1{9PZ~1r_hsUucez4n_ z8aG=sN|a-_Wx2_h+Ohs1RKt0bw>30}!POv{hk${aTD_Gg8=d(jP>l%*>nsA*PFt7w zt@HMb=Tne2_Ci~`c=wS%1=HCg9mdJ+LR7s|bn#Hup?x?i8;&VP z`D{5_bAJz#-La!!s(b0aSUv5~26*|hNJbU@SA|D3P&YpY4jt%t z9}+<<66gz6)-b5q9R<5qbxL$64-Z1V)|Md51JDOx{c_s@y_4T$^+09@wOpnH_4H?g z-xd$xeqGXeaJG@ww6QPF1HUtoWIE?%JOL9~B^*H9A^TQLU0B*D!%ec+c)^*KzlAKv zB`b@KlyISx6p2ca3Fn1wyeU`NB$3dF17|=!>q1sE$ZEVf02T1d-zcWd4QV#45-`eI zLA)|cz*2pLGww%xQE_pLoY*0e$oWE0%~t8Jp{hEZn4RVy$|+2RLj~N|oLwWn&(cv` zo*51**?mBVEJkA3k)4MEm|7#So9zbcVG^fX2CIR>;z#?;wp30um`GOPv}02=&_rPj zil2#uh7BH$L^;WSw2(eTOBj@r&8H%nxdqD9h%Y}KyYK|&5a4qk+!t_=0XB*7mG`e> za@1F>P#zRR4DxZSzvg7296=2$2wF%l+YvOOgO*1pLM2V7`9XPjaO=IdcmYPDx4u_H z-v2m(p;}RAlKph!e%(9b8A9a|t(lvCOZh1Ut(PyCBA=8tXS&Zt0Av$W$I$iB<0ntX z9KWWZgGq5QY@{;5hT$VG!1>1J{#TPGi9v8dNiajl;4D~Ibj{5Q&TQUKH5EBo6JI{_ zKNl4fJcoe-L?S#q5#O3v**aM(YtW35d5LEOnj9KJJSnX~`8nf)exXaXE)V;(4LiT!9uOfu(bGA4AsASJa{5!f>q`5Uv#~mk`+4zw z_hDIHo2(*tGj9c5wppx}zdt)bJD*}uJw9|FR<)%F9UM0Xf`s*XVwMQL+qmfUZ#|3PCY7o3R-`lG#K1hO<DlvRFBmVZ4GxAO2i>tr4 z@bd`c!i#U;iaP)!zh?P#`d|axk=6FofQE)g*~ZZq(zk|Amh)^v(2hfZ_wL`vJ%^HUqv6g5`G*!1Ewso1^-bT;(9D z-WGNH!@x%>^W{9x2o?QdK^k9Q>jiw%vHx%700O)j2=sXE;PBku9uI==w+iaijWSV$ zxv{^wcPXC%DEG3Mqj zX2bx&0JE3mgY8m7kF!j70JhO@XDM6YzN`0!0d&Ec=3j0}UP3GP)6!MuU`G@>KqPAc z3O*pyAUAkBz*hsB%Rd10T3xkLjep$k>@k^Sns#kbbb`62%6t($DDM)Ff(rS5Jy%v` zKQlB%+dLKrb0hFum-ZKpu6G>EmS)}OB#q~tGib!3YGqKs*gKWn`t0o+?dR-E*1J3% z^AZekX!H`6mSlh{=CnrRz66l0&M{%JK;V3s^;eDXT)ycZ7p2cxQX0oIrjv?VErE($ z#R5;N|HclGeT@YST6hcpm(F^}Zo|A-gAZSHz8C>RH?L!sGXjrWPb7VjXM`t*p%AgP z-!aaMTf?qt!eI9cE5MWrf&+$Dw>oYc!hAX>G$8cS>+9BTC!qg3FGmZQ0gM$4kRt#$ zEjyyw*&v0|(COJu9Jb+&lLwJ3X8)Gpmzb9a0Ki{J z)G_K@oNE(&d&&l`)!m^kilQO;7X#aQc7>G@yYHw-*pf<@1Jwh`o<2SA9@AN#Q}aOq z8JWy=<6lEH89fk{t7nsdU56z!q|x+7TGIM zG3g*HCY@wYRLI#DGlx1ytAMB2j5*;7Ul6~uvkPg035MqWEm`-@On|ZA_X9!PxK|P- zOFS?{xeO~}jqPTqIvCL;R2z^8@=JXcpEeX|Yg z<_)ct7fJ~O@``uQ!Bb$s)SuMFabv-1lF>o%=+L(L%ycX}D=RA_KWeYxiha&!>nRd~ z2mb`vHJB~f)}vLadi6J^hg44JXiJUW4Y!mPS73n?tz#D8e7|<KF7T&85vIard72ao2f}V#+d09%IgzUEKWNx~HMo-7MGxcsa^QOu9;kPK+Okyn^ zozLGI@I+^~oG(@fYJeHG^Gc#lZbJj=37%^??vs5FnQO%EyN-GzMD@k`30r!+dTj(o zR-o@gJytBD#X>2c7`IjhRrlU<`};t30VJltWU@Wr=BmOGFhuuTFp-js$;lKdojS&x zf8P)g@kf=9B(I#GN(t@xH5hG*!U6OkEse_FbnOD-dPHl$sHDPqgsH>A<`=#I(YhE; z%$HUj>6RDWx*A7S-RXZnCcc9teAJa8bSsU0|Nk3Yz^G*V!!qhDBw@miOs)$Ksq3;Hm{8Mlv;8FGlPqUf?+EK3+0-@e}{yL%}#x zy+m!Y*Lr^fk;1v@(;eN0IvgN0l(g2l2Rx_1Bx`|tQK2*>2__RqP|J>LZglhShB3yi zNL@oAt1W;;#}x1{7KLY$rG?(~t`m1Tn@saFF*7@_57ARUb3yC6x-8#o_RDx66b+=0 z=C)o`z-I8HEVs^81G{9FFJ&yp$Sp9Y55nF-zys{k;mGW%;&UWxpZaJyjT0EB~F65o)69h?WJUULqC?Nf@ojLUe|Ps#{Mkf+gcu}ImYvluZ%d7< zNc0^jDobQkT={^HBds!sRY2ihxv*)7WU_>455|{=wmUa!gqAM;19z z72#I3u^I6;SITAs^@>Fv^g{|TU$C+&0LX7JAdyfDI!P3r#4i3@P*7G?F=bDMRwP{l z@iYc)Yn>pv_&s?s9M#LVc=W33>V*<;LZ8jLFL&N|kT|-Vp&opS%v;Szvwl^$)KCCe4|@M+lgx=hl>D#6Arn@A?$y@neEUS5 zB=0@ploSfNy+!c*uZT}~{|3zwcyn$|(1fHqiRJN6jNzTk>xy`Qm^N#N(t<+a`U_1KvO zddTR#6X9We6V78yy%h8EG-0SM9wIS4Jqm!0vj`*!$de+1qzgnGOCp(-fH0bpm38X5 z#$e z*|&NEpPSRR$25OgaM8Lw!&dq}Zuf$vLtcs$hA?;tO0^=W{xm@d8&UC|M0$3_GC+*@ zw+>t4b{KY@F=2Csy|S9hrzU@>>~=@HzWfRuS%cSjIHQ$r0RZ6guo#mM`U?-vQ*YsC z@q~^^KC3b@s_ni%cyC`|lUrE=Ox`lrH#gfs7!JrDApcQSZKiF_{Ib*_VsrCxyIEpU zQMmJ*`@qGv24V3IeOg^&Z7bS>5E8SQF+d>!gdl(hgPNE;{gw+C7kBA+i10T)0izfX z>Z{FbnoMN z;kD?&Ei>Xu)A4V8QdRN7)PAHm5Kpng*PzK5e$bD_^(6E(#tq1|Rwh9jyhH7Zl|hy3 z6a81y>Mw|vsUGP3D}iW7hMCdmS3+Ts-;2<&d&l|{<4CXrJWm-&!ch|qYTf#HkIbo* z{}k6%BNAHLYco0Htl009^>T0{2iK*b-xAvGW$zP@lQA9V^)_h=F&-&UDyPlYL1Ml(Q7_64qgTX@0RAW;bHg(ejhSJ1`N@&6~bi@r}9$E>?Car34%Ev4F~{BbvxjM8ojwmwVQ(N zG*5uSDMjk3#@>SyJ{0^qu^$WCw_8mAZkjB^0Cpx3G&Bu1>3-cmY{+FV`68Cqm&UTx zS~}^$q)aeLOl<7pb}Em@S;JYm`<@XHchUhBEEk_B9yWvOT2|?(X~uh&e6(;~m8O*N?Sz){r+1Yw}s z0!S!Q%nznU$l38yM--B70(cG2<>ZiRQUJ6m!_#kOW~e{*`DP)6R~4c*kR(bPReK1cbtZ zN8SgAjy*TissDy*Vn8`Tn=4Dg8k_+02hcx1xcchZSJ0sApG1Ymac^gx4GFQEPsEg% z;(;@B2MFQX2XNY=qyN?Y7;3S=D8_qn8A?SXT;>buX}jBU*BK~B5e!5A_pimeH7G<@ zdKsC2T1E|Iz~ckSq(RrVxwQ#;(`fKGkj=-?8ZCKe}e0%ZIL9tO{rd(Jd9HB-_u+J9g` z1qB71U{%0U%-TlhSsO+!JG08drE@n-U7MO*5$CDEfBdH(4woJGDIk(7rciMd7)s1=Tagmd0<5VY#YWX3U|Ls_7?R~g`%7B1>#S0q=nUXWZ)kEcIhJKA(;B@);)<|PX zkq&mgk*zYKbqlNHyL9?!bRnkk@H|tp?UF0oPgQ9ZHMf(H9xcfro%!vd;5+`_x3YbxxXi#+uIQu z7(xS(+7BNC7X8Mi#!E=z{;=}&H4Lui=(qW?P_TGEiP_thLjK_@r;9V`%}tjx@P*i( z{z-c^HxKB#B*+0bm}~g_b~V*UZrqoIyGl5noNl}E()Exhhzdv#J2%G+*K4=AkqaN> zbGBUWIvg9gQG!Tc6AC8kbZdxLSvo*{BOJbO%|v4`cC9uNru=0-u*ej2i3P7JQ$zr@ z<^S6U*wC?%0=vJZb)uV^jT#RTeg1DUWcgDUr+WaOnm3XwBwlLpf*Or0KQ}u}E9P5{VHFps4%dFC8 zpN2P7t6v>nwjDVxVC5K)RlEQaqw(>VZ>DO9giC8NkW@p!_d$Rl?$PnFfb{+1!9O3= zm+*MFPOr&i*F_FA^a~x>KMk@@Tp-^IcqRYu!eqsPaz<}2-EY~C1So8I7VdT5iHucG z5jF>aK;8E9Neb00kq8iIy*%qaFYD;Yp_(NW0TjF`L}{>DPgN_@cW8JOC1UhG(kPl! zVJ_hZgKoq9*3OS*y}66evFJH1r5;S2JQJZxXeEln;Vwgk5t6(h1?YcP;m^QKFsiua*d`wLn=hUOkEkz52PhrA|mfU%f&1V{G4n3^I7iC z)nZtU(*eWk>Z%FzN5l|(pHsLDB^btj9pkGfebNijonMM#vRY++w?PS{k1#Eu7~uqb znP`yl25PRQLr{|XUbz9?W1?=8pD3`=NWg5eq59y19eOToM+2K@AZ^Fg&u`$$UaW3( zCbWSfnJZ&;|Dn=NXIzQ_Y|B9!w3qWd%+QAmew#XllBNz<(EFdQ@>MCF8ZN@GXp_~%3xG_-oXiDlW}qW`UKqs zD=Gs%u9Pa&oc*2byE^3;8GFO0`ueZR9d`cHM+2#&Zi5%!xV!u3iefBna1Y_`HgKe3 z!Un@653f-FCMSL^xmxf_+`2YGfpRFcY9GZZr~42Ak>eHM*m))b1;#s9JznU86^4}y z4t%VBbC2&k!eab$a3Iyp#c!e>v-+zSi?i$l=(ylK1L?>VV#4n~X%;#y$%uOqoGq=# zF;YAb3&Xkh8wsdk38$I~oc&~+QEeI;sG9kKRXfh{l~yCT0)dg01Hh9fY3ay1u5|1R zz|God&d1$9fBTj>ePm}R$r6$&@04TG(XJa;K#etdKA)6$AA;|!@j_5#4ck%r>nI~t zHLhXkAIAp2=Za>6`TQCy7@cVU-+=-*I&_hO@vp%ZYKGJ|YMA`DE(Po-TqT2#QqW*B zd30{nm~VT~I=ecZZfDSugB;*8ybg3rBwcC?|B5wd{OQDkWEd9zjA@`g9*w!Mad91z zfC%HFKl~i@$HtF(4j(4pnh2Y1+Yaus{x%kjjX1ypjk}qZ)$@+Nt>Ul<7lvbx z-4&~RYr;_);*|nc(dD4_XNPI!ZkF47IU6Lvg%&cqxu&83 z*66Q(OK3TD=gkB_`>B^kcm(}#>vP*_sDwfQNP?RQn7OrYfrV4+@i8tFQ)irf-{Vc@HV(@h3*k}6l~pyk*-P9c z%iPMyHCa%AbZ!1tefLc-2w*t5-@oG+8XD@>x;z3!9`Je$(q+T2RZskkh$Imv7+I#I zKB;J3z;u%3i)VvFuea3Ez;QqX0YZMc3gB9mDd|B_fssYjq2}G%i#=t2+r3+5u3ubx z()eg^L=CA)%JBm0DvN(MX%57=l!hAthSUYlKRRphPUKwH?b?N`=&;9Frp7TEEe9L>j_bk8P`#W~yW&rDC046iG zFBquOIQ|%?5)t{q=j|9BD0VcQk8+LlGwihP8k>5>xH=#XXpL(y)ID=#S|GP)YNyp! zEVF*qXdKh}96RB~IrKbiW~qMPXO{**B6t8gBY4C6e@}h@eNo=FSz@~A%BnqY_a*uF zv@>^6TWzQ0^D@_w~_N%BiM{ z6#bn53q76^HGA|S{K0G8beJ26HZaehO#1~NURO3Nvjx~{3oVL`neKy>vZccF)!O@I z9%PlZX(w(5;N3*c6;l;`eB|G0{MIPFtV+@h>!>|C9`5=CGp(rZ^S!{9f-kJOT-|B| zqiDwEo=E~)2BIF1Bu-5}v;V+PgDGk+LX~wP@hVPK4!vB@@^65Ncq);!64-wJ%mIT8L6ZsN4 zpf${a3pDYH+Ad#&A$!$cb7=G;e5KlkKI97(LGMUI9Vb&(x^nW|8f%39G&7#O&D?8f zs#WL^(-Ce=;2O7T;`C}Bn-ciC>CS&U?+fPGo9^xr!Kaen>+u?w^F8rT1dRKW8`hR_yX4>6CPtE*g^EoO85U`GnMB`8$N$^|Ki;Rt1}N8{m1l@I)ef zHKlX%zR>^2eO7-+Lp)oy5UH)zlw$iAvtp}ja3d|08@$qcISMuDU%eehW#aLESDa67 z+r@UYt*_zN6BdTi!~KnqeA0U%z*#u=?xs*|hw956n?!ZS8^M?sXi>2~zFs`twjCyTs{fp4wy45~7S)H5VGJ1S= z%gwXuS%dX*lgs0zuCiMDsKlEvC&B{-`_j}0J$y-rn{GmSFAm}yA z&Ge!rjD2mvPY)zZ7BfZmTHxdbO`euIH5U9DJzs}Nn3A4^BuNvqaI=ud=wBBGS)GENRB*BRb}dq>@H-ta1i`p&rp_X4W_+=|N=;{fz2}K{^x9(k ziuxVqh2Bw|$7*!$1%8+`b7b(2fMxNOl{a?RKR~HPX4`(xrQhw>_9L7h=uW}CxU?Rq zQ8_2wRE%aFy0tyJQOJ$skK(_}8tB+uBofHZoWM-_D5osg{n$KbIBtNlybIaj}sz;dj2_peEz#PG#(%)~vm z;*3C-AjisXsP#Jf(e?<)K;*PCM7>+#&jx(-_-Agsbl*y*dmXBi&ds)5uwgw-EXa%Z z7cPE$w8* zh79F+GJLM(EWGB#C@v);E-?$|apeevHB5{>W@)g{UWPu*3G{J%Z#yUJdS9jt2b z)mOv+TdwFDdpgF!Q`z#`JpN;=048fKLP7JACa6x z8U0!{&96Eee;P(Asuu0M?j|a(W02)cr02p9rCSK+(q`|ZvOb&j8g!?Zx%i-r-#Y(s zA716pbK3I`0oCDs_lS|B`Eya5n=@ZY=bVm+8m!O<&z1c8-at7{=eNw)Zi!tJu)?jo zYLR&G=tG{Wh`dA^F;k^KyUX9MocE@2Y{P(3zBSXOvC}aTH=O9bym9R5l$yJ-qDCOo zd{>yH{o$;f`!EmCRv<^HE_iAvkxH@-i6Mat#1v_2YJ{{jGC^WZ%&g6A(#9du zO1es(dCDS6TF!K{C!r#`Em$q? literal 0 HcmV?d00001 diff --git a/frontend/public/favicon/apple-touch-icon.png b/frontend/public/favicon/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c2f676a8a1e8f2eaa54722e233c0da9711ae0d70 GIT binary patch literal 32716 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 literal 0 HcmV?d00001 diff --git a/frontend/public/favicon/browserconfig.xml b/frontend/public/favicon/browserconfig.xml new file mode 100644 index 0000000..b3930d0 --- /dev/null +++ b/frontend/public/favicon/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #da532c + + + diff --git a/frontend/public/favicon/favicon-16x16.png b/frontend/public/favicon/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..b22bf7bab346e04684bb049803d2d7b442cb0db8 GIT binary patch literal 1406 zcmZ`(X;70_6n!zW$WkeBK}XvlYEeW(#G-Lw7oue`q>4&yAdAKVNt2*rwM_^JRTPrY z5+INe5nlZa_9xH%l4`X~K|@K^v<<6&rD*(im^KIyK6jGITnAJzXx_@CAI#)lI|? z3B=b{R|^4&nVPze-E+vT!WZ|YupfkNgl#n?1;CUYwiD|K2dw5lQ=}&&FCv##B~K>b ztMm5=^PDt-jgahwOyMT}rbL^3qZ2rX6K-W02sqq6#8#Rx?UCSg2c~p_!#k{FgO|4% z8{a8$n^|M3l%-i%ygI+hW_zS<9ex7}HT@8U3O_6kIfpkcKWCN@us@6BPsyy~wdnn- zFE|JGdd=jFthQV87dEnxGpwYQnim8gcF`1^75r8;KRc9aY%st9PK)wW1OPBX05;M^k53(e9K9L%72exmFzEIAfq{V!i;FWe zGjnruI=wzkC~RzKh`x3;{#M-7)Zb8yj*d=GPwR9#!}9X7!SF$+lgnfr_D?z4*>`T= zP7w$S3JMAf3-j{w^7HfC+S-ytb<9S&D$4pO^QtyE`jWG(JAw*x0DiXnJ~j?%%&ZIXRgl zl`0jAv9YoC_V(G?S#AvH3X2&Z7gt_hR#H-unVBgN2-Irz)YMdtG+UVZYj1C_TrTJH z`C_rSqN1X{zP`MyT+^ai*6U?5nM5LKZEcmyUVPXIP^lWu#-Ms zAi-#>FLYT$_dUx5z#OrXFpw^?fj|=$*3a8y#Ki0qCrjeagZ>a?ztdW$Iv|gebIX~}x-mMvEuHkiI#WjC;i#e*UmVQ-- z`c?ePmq|5^u54SB{lV?ddqn%Tp_{UJu9#aK+fL`x7|rcn=ysQ5w#P9%cd^~BLpu)m zwe0w2o88eMKF`+SaDC@)mwi=kQiX5nqgW0{nIdm?aX>d^v}T<;-kSuwbd<}Cjzhfo z(I>uXxAD#7A8f)3<}P2hRF7}r+(>3WV;>7hNnGm?Yz@-R?gKA2^co;5cCfsIS)@=F z8AD`{p#sn-G};m6;^>6JJ2_*V4`H14JD^Y)6bc@`v+X~E2pWk>iT-~9!zn8Q5?HNF zfR+!2NTWwHs24A>z;Tb#^0%)c&iW%qA~T5$DxF28MFJvvA-zTov51dsL}+9bC6vgD zVvrdSt^C|X2GJJ((lin|9K!GQ>!581&RoX_vv8qTk#q))LJcP)S$cRHsM)@f a6MMn<#!p$Z9tVDbMgXk0zgMvbA?6<%XO+(Y literal 0 HcmV?d00001 diff --git a/frontend/public/favicon/favicon-32x32.png b/frontend/public/favicon/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..19092632a147523b26534b785a505e6bf5705317 GIT binary patch literal 2963 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 Mty1O7z?CZ*LeP$modyqaefjd` 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 CY6Cz3 literal 0 HcmV?d00001 diff --git a/frontend/public/favicon/mstile-150x150.png b/frontend/public/favicon/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..4d7ad2281f7dae96809f5d5e2fa206faf8c41de4 GIT binary patch literal 19832 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 + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/public/favicon/site.webmanifest b/frontend/public/favicon/site.webmanifest new file mode 100644 index 0000000..b20abb7 --- /dev/null +++ b/frontend/public/favicon/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/frontend/public/index.html b/frontend/public/index.html new file mode 100644 index 0000000..5c6d48e --- /dev/null +++ b/frontend/public/index.html @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + Cafe Plätschwiesle + + + +

+ + + diff --git a/frontend/src/App.vue b/frontend/src/App.vue new file mode 100644 index 0000000..a62e7e5 --- /dev/null +++ b/frontend/src/App.vue @@ -0,0 +1,91 @@ + + + + + + + diff --git a/frontend/src/assets/fonts/roboto.ttf b/frontend/src/assets/fonts/roboto.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e7307e72c5e7bced5d36c776d0986bf71b605f15 GIT binary patch literal 167000 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 T&&O!b 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

1!1exG)EK6u~BkmExnKuQI2?mS0J2 za8eyD)-9Q_IsdBnz4POS{BrHRiO0v~>)!e6H?A*Su|PC+^caHZ>q76Qr32=rwfK1D z_AbkY4Vymc@$o}N4py6dp`EbWp;||;X1h}}$TJxf$O&3tY$jYIs7+R=w*Qtqa7SN5<*9N}EpY8#chxqKjiIjb=Hx z+Chva9KBCN|64i0iwkxTbh_E~11*?uol@L?N$7~uF2wzFh(DR^UuO4gXBxEkM%ri) zv{8cCkun;+5waD2M5f(dWpk0UPVmE=cY^K*j_vt{8zBbs^hFzcmNd&3Hy{JW1IEr3 zbL&*n5g6oCi;Yc?L(nL2U7~N1O)%ia!vlbYMwZdFAmW0fdrIN zkg4yE#qURHJ-y+kXZt@&VOHtYM)~KZKnMxaGo<(JSZJ?<(l&l z(MpLRO@LDCtC#n7x-Zwx3Cmq|-x zbLOtb{aRJ!x#TQu{|f zRiDHaui3cY5W@fFrlPg6d9lA7`$9OKaRCOHa?8WwC_%@2xoUGPF9f4n=M+ zZH@g43-shlE5@&W2@%Co!|Awt%m{H9Rj&e^NpoOI7Dl2HC}mAF}Mpw~(cey_SFNnts9e{53t%_oJSeqsI(39-&dxGPX0H zOwo3DLpUGVDkKluH9=>H8(AqnsT3UEPl}-YU}Y{OMRTH85;j*7ZLXy3BvNOSGLz^) zB^BYxzM;IDhui)k_tcgVN-GN0HY$nN1f6}j4+PX&)^O#YHa*vwDe@nGqJuHK99>s` z$cQmIiq7S!yP(NxNbb5=nP_ObV79E=z!IXx2|89mKK63S;EfFDnMY#gku>wj>`0n< zWM(AIJhBK+WoAxp*OK6wV>xZpWCcxkiM_)|wlvaBB~9;Y#HkrcJ&oo89zGlMh}Uwx zAuMgA3=R^zTwbZxGHCf&OMouob-CFX#6?HhE=;1DE7JuwP~^hRT=3dqtTz1(>7P8~ zDDs=4%ma5?b0j(q&Qs<9BI)6r=Hj*IS*@eKAL%* zpBtnhXXIEaGWgO^^bu<7EQWvdPV`Eum{p&awqkV29VTDmBvwUwrEU;O;l9?LoYxAK z1x?bzPhsN)3Hvg>mzq@AxV?73a>BQ^X9garUrvTQjjjSih9kGQh^G5pYw|PQRA^p{ zOMMDt`y98&)%N7-X~k&7`2Jt-=__~sezs>jJW*-`ff=-u}f+(~a#&*|R7-tm5DSL5SUY;NZ{$Hq+ zLE&_YNMN}Uln7QbrI(mA-rHF7H)fD?*i!%D7cOl@{-1yakOcpe{npkX*2SJ|we^%p z#3gL3TSf;p;2J0~iAxaPuz4!rTthK7ok6(7p*kSfAgP7Up$n@Uqr4xqe!64Sug1Ae+lGvv z;GA-9&Seo&y7bdS2cEfgq2XJ9!ma;)Bvw@Vvu?lm(?x@cdZV93%H;FUUNZi44C9$B68if0oW7_d&Q-=Y*Pbl=W3C9lI_Azd zFo_X=@0ODg+5`Td;cY5FJ?coWs}iZ@<=BtP$3e``rWPqz%YSjZpncI`iB%-2g`*}f z7bFEe;7h8G>-ikMT(r_KCZ4!>a3{0rL#z=kF3+wlHgY#(S%n3gY zfqG{}>m#9=RzbvW&?jLvkgP9Q*)Nd8T2Jm#-J}z|B%VZ8t356mq znz@mDN&H9UzGP^{X4f>ia@++$?K+D|yDL;BsfcEtQPj*+AmIa@04e^^68si*w;Cc9 z+a1AqF&^6^wxdn`C_y9dc*OJqO-!y}m~eB+ux@-6w~3-`+bXCu;Gq z?xB;rw^8XcpiBeo>B-2NaN<>_!IPqBeKS2# z6}Ovpw`9i3ma#;(gz65r(Is;2@&O|v#tc33W9;UQ8()gPbfoXJu$&PqSA$&}4+yW= zxc1f5oT?W-?mn~o=RZ~(oVsgc_nA=h$lKr<=PbgBi9uxV7VTxT<2v2Hj4gpbA%yU! z%92e-964R>rP_F?tsa7Gy)+eWCe^(<9=Q1)_6K$e>c4epO_@9BvJw!}-gXZm+k`;t zHf*Tvl>?978qz79QN1=+ka9e^?H;+HrTe)|!$l|;Wcdm--n-xTjb6>S&b#P2@2d+I z?HDm8XF%@QL640!E~}(i-=pHUrF&jm)$GNcy9(VSr%lOiK4SXxQKhfivt@PEMrqC# z;EogreOl#5DAS+MmZFE!iT~>^oDr%EXXo(jaAZr^l2vFML6qS@mF>idJXfgqW0j+J%IvQZy0|>(aT!4xAC<& zIju?x8(h>}Kky;=BiMkMaexZq;P8T(E7+hu3ev+L>5~0OmyZ31uF9MCT*r263!j?4 zZrIR=y7ztmKCxH7w^@t(?{Ct7a(+&ue#vzf=S-eDxJ8$at)GRAMy`#%3w0D!foJ9c z^T}5eQ|3UR=x$dOt|ZD7XmzUxMp^>fUyy-NUfCViM3vp?4W~{WYK(S@f|15}QN5ao z>#=WNYdzU#h-oOM!3`3i_6rzKWz;vO*lt$i{i6n@40@8c_Nr%(&Z$!6);HS5igT0_ zc=T3IvDG(vOd?zLjZA%yXWAX&ePd45*8L_ww`lg*<(?s){`YL_->ci5l|_MgruT*P zIk^)TOd5Dkn^!yaON}G#r$1)0%uxkVfNIdq<7AEi*qQQBvNES;WN8r4d4z3jE{)w` zuFUOmfwv?@D+V61OA=CTb(xfq(lEH@w3_i&a)+nK&09Ko=IXDG&T2d~Zg95_{rfqp z^fZ3#y&!Mg^7V6DefX`zSkg4}_I^(c?%XAt)}jTbu^4ONM)z5^W!bl&hOACB8Q#vo zXuO(}3~vky3+8m zk~FX6qP0iCGxbYJL=vv83|fEk-sbHdE_`}s;Y014-@9nyq~{(QvNmV%`aubO?(OhM zulw%rp|@+^C%NKdZ3pM)4{kd!C8c-sf#dUx+go;ipjF%ZI*QFrI(BHuilN0JRWX68Q1fToe5niR2eN0(D&M9Wt7_JJWyEQ3)%$qV7M2Q>9- z7#O&>aziRU_NIm~7<9Bd0w0oL*39;p5xu=l;1RP*V~qs6F9QcFOA0Y_FE+%6q`m{Z zEt9GvUrT0YLFiRabI64<<)7pCm-`IaH@ain`=)O{czovN=Z;){{IS+K4-fcmTgSGd zoA0TIhizCga_11^hxayaoRGI+?UR$%IX>+-KeqR(-tmp@8?bE7LxufTJ=x>A+irVg zM3;I?dnLYjIKH%M^0fPV4ZnM2lYRQE0R{7iL=RrL;0c`3k?8+gA2cTJJ;GZ>p3y3S zTxxdsDcZ6spdOUFk~yYjLup~u!rdFee+AjG$WXA^=yXg$8$Ba~9Ak+|xI`l^OsV<{brh9+`t{ti{&{pLrvz-uMAS#`|trzih&$)YMIROE!tS)@{Pg)h+2_>zCGx z#=djD3&MZm{FiTae(&sc%xo`ow&SjC;JvAcQdE-_bk$^*3+bmkWYroqC~|K3Kaypd zEpB+WZEn;xQR_}hQVYKQ5L&0HiY21MZBl}H>v5o9t-&Pm%MX9gopjxG&y#IldC?dp z2JJqyZJ$w~FZ7LaZ98#f{LZ>fjNhJHe0Or2*T&9YHe~67`Kxdu_hTkkUDWrvpFEL# z2-VP;i>e1pSXs_<^5eL5KC3YLvSIXjGx3Mr)9(%Aj?lD&NpptoOfFmI$J#bp~sQ7CAoRb~_V zY_N9fl7EGAp*+T5BZp`-X;KA!^BP}${m&x(ZC_JRqo=;nPK_4GGhGG`v?Bm!lU!UjpIM8@Xx~rFqN0(onqtEC+w>!LDcE5kP`YcJ(iDc}E6Zl)}qGn@a*TlwFny#AYf*Ya{* zFPxacsjd#9o#PB>NA<$hv?<;c$q7@46XI@gt7A~PH1sATd;*rBJV(+=WIB-SZX$0; z6!Q)cIXWOZXbFNMxJ+|WU1Zl9q0%@dE2&j|xft{QCxiM8oB8=0#!1oOnWYP+7<)z7 zoac>m#-GlDHA{NTtdg)IXXVR!hS4JL@xgg||G|S#xM+_gVUIMyJUy_4Ogo5oYFYc0 zPc(;qh=EvzY4B+vEZ;J;b7=6rFWxZDdcu*Z?vRBa)g6wuzIP{27GI1NpG@-QiwnPr zh6Y@W2+Xe12hi?V=G-OPxo<%gPnE!}qu|WEHHneH2@!Pv=#7qd>3I#^x7_h)_c>2B zg(pMT<~skSpLXZr+(pyvsC4zBt=AfBT;$o88Hz|x#MNf(j6jt_B!vZAMpBH>jpn(s z#~K-%*yFXblG60kYo4C5X7C{IW5&D@^B!=OWRDq>-S*y&t&YBrUoL&kxzjl5o&=vj zMQs@eagi?*0->5iRNxS);+l3n`hc5?ZFv zW#1!H=&tXg6uJrgWJ*}yR#CxkJ)_Arkd)afJSvG|yDgJCC%O94W~~VIup(btOFfTn zqt@%_Q$<>TA{}4{6h-4?-!`e4U27y{G;H0c?d@Y~#Ah^`KmOGot^w_O$J`a3RVS)# zpZmia)e)gzg35iIrya-K17IPAY5jSwE(9Xsxu)0|W^5{{a>hD-UC&JRI^kWyp>X5T z4KD#`fr2{RKFN!ML3=1QuBE552ZM$!6u4nKVm;gTjcSVb#Ji!&-)Q4s+4gpz+kAVP)y11^f2R7ZKx({eyPSb{^ld z<@XL3L7@@O3yz)c?HEry`Zr=9V)Op@<8ia}@yLrA5Ppk5oPl8@L_1HU8g>%;DqC<=Iu5r&SabDQF_xEw5TvgIL-QT56epG!q zQc#ZWuB?o{l0+Z}_h>9H#Pq966>5oO@hGlmwZCG<+$=M%0)I2rw{u+tZGh20Ud`Eum z8kx=uue|cZ2hDoKHHv7M5pj3F9+{NON!)x2ZUpn7>QLQEOd3&8ESvcr#k^pi*b*c$ z6!2eC<{a*PDm)zSI&3_Oh8d`m{vYxiCWu^2@SBKg5t$J!BRWT9N8H43GO*bL{N{-f zn>z=w8~WXI`XTpKXgHNnIY)dh#70A2D3jH|5ic1YJE6T172nO=a+&k}?cEKfbW{BW+)%m&_hqEo z;n?RvaC}24;D!U=3k+AC;i4rz7QcYwj_CaXv&^*X-0i|57-Sv7T7l(99l?sO)} znjhRW6(37XzM=DaCF9%kTZ~JqUKH_L&WqGalPZ7go%hAWNoVJ6KUq~AIrrC2(eb@z z?~9JRO22t+|BJ@A+naASzAf~=p+@fKJN2@?ktn`X@jx~K)yP#2jyKlDUS0Cz+teC3 z%xr3nw^k%)s^H?ipvGRcP#Om*Rg=3xl{*zKzW0Z=nmF&JJ;tZS;sp`E^%6>SCRP1n z``j-l&iH-VQyvhrjRK^FQ)1GrD)~#J-ocGq)X`Efxp@GOBg7ZtZ z)HSvglAt3;$-XdOtmgMW(UG08$T8HN9#+<3Q9h@qXY3a*91!)lip|EmZyM)C z{2G{gbFZ&-m6R9<-)a1=@do;KwEw&M^CIHqmRm&h5*?d~_KYhFdnN{Pt9!jpj$6T@ z0u4d#9d-(<5n4P9t?leVW8|v@8>f7sT7br}X#Ap+l}(p8@rH>-3*_a-rI$7umkPy7 zk+^Y_NLVQ*PW)=ltS@na@mJ5x{(Q2oA9&B$xo@wy|D7f$M5ldwj9u?Kw~C5|D~*er zn{73|Tm6Da+QM@PZE=^mGd zuJy6a1A2{Z9;tWHG+usQBs^@Kc=*9h#^pj$DB@`@t0qqVa?Z@pr|1*Uis&yU3H`vA z#w$I(>2xD`kLd7D{r5!Iefx}U?}-vowQz;;-OEk48W-0r7s;ps=gcmhGP{C3#7bvY z+XQiN-r>Ow);Ob^JFCsk!)<8qRC8QkJK{KDeHwc))wvoqsKK4)%1sxyr+iwS=H!K& zpj%Ls=mN2CJuFz&5z_3gF4PaoX7*ZD)cUf1uYbJW7vnM8#o9}LGEjh zE}fq`R&=J-9%QU`lse}lFX1t7Mf2XpC`mzORNB=LuS>8i(!+m2J@v-Qe?gnFXBr^L zV>>k7stjZ`v4l9MUQ{?U7A~orHAO9ccrw7@!Sc)1q$b zT>883#mV}>(oY?moGotTyGG-_BHRk*Jf*+s-l9byE2s}^HDR{a*wT7~E(`~E%qiTy zNLEr}rne!e(!x%us<6tm0)szL9^pnn2h$GK+P7)J-aS`E z6A{^^$Mg&H7GIuioH4E#zkX;Oex+sq#=3Ln$l>39_v5aO7jRPi1*j9MtIdXIB0W$~ zCeJ%dZMx&h#A5nv9`##s>z&Th^H|83Xvi41-r-kz9*)ncj?Arhu0hX@p`kVc z<=y(A*XemOYPxjSKAi80H|Y5>tc-&{?{?tT46&xipy|&WAM_E4Jr_Rplo-$ z@5wLS{X~<&D>nK<_1``}-D`lcGi1YpSKe$u`~OL-!emf620Y$sR6syq))-|q;$7`kn z4U<9z7TB{-zeS%Yx}cW|EuuHP+@{YrQ;AQVhXNnO7-D2IT8}Kgb0&>AGUeNG6>{>% ze0}7n{9P-?uD+$-x+h+EO^+=y=DhNPTl1~jZhU0;-6yV$9$_R88uAB8$^O`{pChVP z1)W`@ZQZMRi>kpZy*G%RIk=6AH%@j_39j_PJ_N7IiiAJ!rd|)=U3%k5FNKbEjoCl^ zQ^OedX@U1*$k>pLQ#b70-(}vI$JX@`x0F_2dHtD>woG05+xyi|TmrqbG0rbQ?|1K z$!w#G;|tKZA~cby-ZW`rqy^+?(7;*0Q?pC>Uyc(J<`b<@;0m~bX!dp{(>)e=#LEoS3`g)t1^H#4~Kkm$wcShvzdGSo& z?q9Fiqi5U@^>(fO`_Budx82ga)BfF$t|_=t^zPN8;@T%yJ|I5P3+JOY<{Se~c#o|L zP1%Ng1k^ND_E1^F&}NfEPvoX9bU&&rkW0_NfSKDt?PhM#Yx2M5%{@CspZxXQd0$P@ z^ZLCstmstsOGArJ>GhW1D426?*{v)7p8L$TW#JRwA6t4XX~M~|{-bo3jsEDs`T+J8 z!s(`ahgy-#}#>)O5^}vgz)`ypo*N43$-mrgilGwCh=6z6kDSVeihuY+P z>QE>Cdg$!Y8A&A2kJLOzMFrr{<$p#p`xbI+iz_{|Zv+!J>jD zBiASi+Y9vo_G3fqlRfD#|e*t7i8{`HE6uG+0vFD{+GdFhRGJ$<>z zyyiOg`#wE(z|c~27dbx0$|Qn64f2LcE(;I5%8m|N45ep!lesVlF)q8hiNsfX6)dg< zQ8geopB3L8t@;NcMd0=>^#xUy?mdpx7>?8bk#+iO%F|!-|Jmse%4m+G6b4!zzG1?4 z`U4D(R%-b9gI|x0$ob)9my+f+XFa#Fc1vu7xeO|c8dPI-Q1f&`h!|g-nCX^|9HM0+*_IdqGh$Q32$}zVO{wld`-5r7+zgU z#k20!fOo-z3t_V2JxSp68Mt)W!}%`Ab4gM?{KfB^Pj$)Z{dk+Ar>3r2*H!fFF>30Y z1rt_Z-1n66Lhp913hFfJ+Vk<=58U53wrEzj*&SLxKB?8{`SXX&%4=q)< zaQe` zSEgRy_d8pUlVc6l+n>9q%sLiUSnxh0oGXzUo$H8f+$6lY?J!f)(3vHvfPwtjex}lFA(tja}KYr}!`@7fETaP#$i~pdW zja{DJv+$3n(L_3Xvajo*Tt|42fc^?8QvdAuU>9+;6B-L z@R;h{3&EyKsA=3>N~UD5O7|i5W@}1@b|Dn0_C|)8p%wFL|4~+Vl}E`HNJ$c6a^lgZ`uMS(Zo^Y$W;)E zkGkT_xa^8U=T0PS;rd^1CjQvb*_rJ`^|HM}8~F^u@)sP%t~yZIfUcQ@;y|V8cRIQ7 z)S1TZ)2KF8LyL;)pX}Tzmc1$}7Zn=c?5%E`5K)&zqVeI z)ilSCu!$;Z%g0 z_t>f>kRJBBlnUxF^R|M=9(A&gMZZq^>n|hH+24rx)zP~2fTMMeC>lD{7=Tek`Y-Ea zT%B|yp5D1x#oq8_a5Qb=D7dxE>+-7J;i_Oo}!fb-WT<;ZWGz&sv#GT1lp z7jwZOE=2?%!k{Vd7B`Q>Ndi-WYLoGwc;xG^MP=i{-5sm8abgZ8dXXDbN z#-BMxVXq!xkH*ZMB}U|k&__iAX=PPG<8M4o;ln~SSa`IyB2hF|5pb5}vE!>6LYvn*kn-q}HZVAm405nDzfpPWW z5!RC<^lu1Y;X^|sbeUKX%+o8{pmVhc0?<|_s#`+)4M5-Gp%F^lh5mj4XbX3U2~EjP ztvxhCK+^~b+N9xC53Mwn6M3{^ks4TOD-S`@@JaX$E_>PoI!n$+v={9a#aSn#`BXFK zQx-Z`{8|olY7lgD3wI$_^Jd&Nf}qnZ=wi($9#kW-(juw{L06E_ygtB<*{{WX*71pJ zY|f`e;8a)~F3!YK7CKj43_x3<==dOLI&l(rp>{0*ZQ)J~f~GSBXdWS;F~Vf*@vWW) zc;B2ym@C$Z25O!vi=`yo#4-?mxT9{ua*v!3{H&USwl0^i`w!5$Vp=)Sx7wjy*DTzH z+JbVRZwrDxV?h_gFCTi-Na_Vazb&D8_P~wV%lX`8VOb|4(E;A%Al7`c&XhEQB(dN- zD?ECJcEkTR-uE-wI!-tr!29+XGjWja%t7D>b9~J7y3eE+&Y&8l<-Sn6s4R4@Kvd)= zXthHbn&~BR7vcuyo1tr(6p+wF0YEba01f7M4&%DRbrtUma?=i;1{D#Bahz~{ ziT7Q3EXCR!%c8&bV#s2Hdm~faa9|Zp{7#?3Lp@pPuG?U?!>ATYkD&^Eb;v z=Zc8|Xe;)hI15Abd?fBdQ1)ir33l8(LO}Bf0gVx+8XX)ZJi@*_!d%fJfW=ag)Ne90 zV*xZgLBl!`4%RB%7chINgN)LS2IPSyvy~3Q=hO8Ppe4T>w4?Z~bj)$s0bZgHC zTTj1BEH;L?N=mypQgGO`fyQHw58#Eo4cvc?H>pWe8Ub2mDZiV=>SzYHz`<~fnj3d# zP}T!$X7qqtMp)TJUKj-7LT?@n}?Gl@hDC&$93JpvsTOu=)~5z6d#os ziPkhOkG2*XB-0uryM-tKi*q-)PHS+T%Gw-njIF+&Po&~D>?u+wl9{ABk&4@RD?%-SlK$k__3v+OBrNH6i9UdQE>x-|O2t#5z5#rrhN!8S49z_)jmRfFn5>s1bg~Tl03lbsJHT+NO8OQiX{B z)Byjfk!Uhn%hhyiD7%_&{kLJA1O@_&W#>f=WL(*%i2`(6C$yko5ByDLryH2r9#0Sh z=FDB!gH|x;2Yl|@!JMK7pPrN?IwJH9YE6eJxys^Nz z@*2Mg-nhVkW7q)C~l~jTs#IozH zB1~m_vsUUM8=<2~(>vj1z-Zz!OOoYi{710K2YadjM%v27{yqVIWm(o96M6-po4HN_ zTI$@z{yY3W#oa8*E9kEQ-GOQId*xQ8H zs1w!*Zx7L~KL{!gbQ2GizqwYc8=$`BS5O{-)3|@-Gw?^{SGY}wry5w6Ko`|qhw+|p zd*I1N%k>_hvC4E_{7w9y20@d>p?1P< zV~O)3&oa~8bF=*&FqW0zZs%C)cQ)V0_}k!p3HF)8lML*)Gxl7qzDQQsEiad86=|yh z^Q(uvQ;-rEORiQ^%rSSaX=g!NG<7<71i;9|mz`qt9tq4IP3{)6yF ztI@9&Nxp6LxhL@btLzDpexO`EF5s=O{6I?Y=QGFik(OYtn2dR0&q1eG9u1-es?9NH zU}Rc+#&ce2G&OB;e3#$1vS@MDbDM+*eT&dEr-fP#i`yz~fJfjWZYxJn1dD;WEk>YD zJ?t}Rd%A)F)qA+QDvXwusQfkTt#bbg=qz5}QQCFr1CozaHMtsiJZwYKWTYiIN}C2t zQqEiHn9}Q2*}}6%gn%DNJW4y0c!(2AJZrRt*65XfCh@eh@N5u|!5>zE`C96k61rar zJ4<5nTbMRzmq1lOfezKrl%z>0a2@A9UfsLo-bH0bQ*+!(*8@fMb-bq3V3_td`HnDd z=+8>V?Zley<23~yUb`G#yM9JXeKGr2@Lk^D-x_~lbnIdX-lczprf89-#kl_CHb*IqB~u0UseNDWsAqSvCmT{z{%vcN3aMXYv|L zrKxTHy2MTXM~S;oJNTb)vuq~Z(EA77j9HDNhjE`1#eWhrc;N)$^_PM=gN*i$l}t6@ z;P(&vZ{U3o+~sV8$623joMZSpc6hw6W_(TXOcly~l_M{Lx1M(#^jIacnHEf2Io_f% zN;grXtdBd75#a%rM&{ZMGcE#ql5vNApNo8IJ>+|B7r(D>bh5)^R;!uACmEgeNdb6m zf_9nTa|Fp#N8+dRt?d&{)M{AgTgjCqM0%FE+k;=3zbXc}mSHr~2TT6y#=NG*+SPzg zX8B;1hA;gp&MnQfZ_IOB)qu|wJj|VIj zbxPzIqpdNnfqljv58w$N8F@S;o;BKY(&GU1h-~iM|8x-L= zx=H_$nAV99_(%Z-Ox4aH5Xw+;OteQNt_^65*wn;@2n@vwO3m1nxDi3?xpvS0;mXTaGiHBb&&v54D*AXviOw z^F?>ubKXzD=hDzqqb7B-jZaL)t$5CLPfgCbSLykK9{A3<#Wxv&b?}g-5B9Z6-nf7Iv|ycp?jBW$G#8hs8BF z7fV&y4K;u6^b7MGTqX8 zmA@AG9 zX!2ppOQKE&V|L$=nAy7t%$Q9t{NfmvVeo1)?_U#`jrEI4Ljjj_Y-Zly&xFP})o)tf zS_RFx-K0%O+-t>@0B+0TP*R9-yU6~LxYvq`<=|G(a@-^XCGH|^e?SIWxRqWbabGcU zLk9MA+%#$h8v~(HjpK#WWad(At!NPx`kw zZ+NES*CC6E#=2WfRlm%a{vdb;=w^g+b5*XNj35=P&|4GU72+F@JRNmYn?(6iJoDhrbtqz&ikp?TB%x_O5_h4tGyrYkR@Ny)^Qr)vM+j()FafJl zfk$|nN0=)*2C#4-iAJd6?R;KbN3idRE5Nfo%A$#Nx`Ma^Y2YRYSp(ZK)#M<2ieUjJ z!Q0#lIhX%7#zg}l4U1zDN)`Ek6XSB|1H~ut0d=JRLwT|{(_XY?qLxenjbz4MB9q!Q z`J(j!peuLqBDxX>Vd*^+bPe8-5{6E^gelaX576G)V`~30v6h*4A#ViSt}m5_L8!X^Nmd04+|McFzovnXnZS2?!22v zbHNZJ3XeOaj;UHwy4kOVTLc?(2ZgaAD_}l4g`YD*$at8s#m1 z571FOQ;B_T2q+IK<=xP0mlHyH4{Scln z<))BT(L69;wuoq3Dz3cTXy|OtzxRzvwMxcM_{Bxg9CDe@ehn{=XJT! znCdVvI>0jJD;mF;d&YXt-qYTWuax&x?E|)J>CD+6aps2kV#xbxdPj)|wByl8S)41j z1mI{$;fxrQJyxNoy-5>L_%7OE)>9@`yJ8X8A^|*>%TK1S>BG2#(UbS3t51^#}syu)%7>!YB zM|1`Z&nueg3_AherFqeJ!664IxmDS;8}7#)v!@yR=O*?(61$3|Vznd;$!CIrKKHn_ z;+Aygs4KxDdT^T08em!9?C&=$95fP%qbQ$8f?rXwqq@eOHtn4}>WRkp_$F)hJO^m? zG>0KKuZ-H^b&Ut?IN;gph&p^zd*QPyHH>1&Crc7o`iQc(q=rH3E1^dr9?0u!^Cn3c zT3-pX23|3qk&ojn@&!*D#{2DAze%rF8TLmuE{nPk!fEAq08K|G!;iy>p^W2p$&UGYUu81tS zZZI$UnD<>F>j377v$(19SxDWEb|C3?*nz#R9cZ0#wFelM^+UjtMbVqI!w%phpYT5a zkbf^%bOLS7-?MnV;u8$bTvbA^6?MviR@$z_O?#W5u|tPiJJiCgct=&7$Zy>BVW-#P z(QT!k4E`2)+uBXJqPOs=*=pp`zV!pM^B49IBA$xVwAGk_&WCMbW4C6-GrYesd2k_nG*>LYZ$41s8P1;F3c!DY-|scy?_v0L{%d+`_v66- z7E^1RKg@p#nha~NmiHAq7ydESETl_L#dCun+D&uAXm$hpcz#Z|o{^D(&oN7U-V2|P z;b+X>g#U$~F81XSF| zRNN}Y!S7-2IrgQJZ&GQzk0a*sy&K*Yj^kpjMIHZX11KTTu-;Q^{;~pGqVkQEEXLY9PjelzYEN6ZCfpCG3R6j$>PhkGLsH2Fk8Q<@9O(d^|s6KRCAYGxh*@S}WsWXM5*8T2)l% z#haaxh>cl4NDr)CC~q#iw3G?OxjJ}2`z>zofu;$z8;Vep%x_UuWGf>=LE)WANpWc1 z6qiIrARhMJIz*aqWTdB|8RGKiAF91v)PK^L^Lbk1Hq8>^D%O2)c>5A#+f=dit?G^X zwsqBU-t%%dW4+$lmuV#5o97-}VaRGx;LCS}i#_*@c0X1Dd*)qGJ{^0APZC+H{?`6W zpa@f$--F7;rTWrarW>y+=mrgKt7w5$m9k!0J@T8hmb5+u6YoDrFpv_8U(SKYFv|5C zVBVK7dSCy36GlbN=yb~6EP2i_s*}JN_TYU6`zE*ZcXNfU^1+Jyv4)40;|LbA1v1dB zBh+?BJ&QLLM5uziqbhK)dmW)wxXh0KLd)0fwnhuoQo+{1&Re4jry5l$TT@v-y=Dd{ zFj8ZyG<9=@lS)IWA0oH2gm7~Fy4h$p{^Mg;k9g(O6Gx^k_bvr3%5b26ggna4xJ_E;<;7s}pGDD=3d(L-39FICtbML$A@kl+i3$ zwn|6&PrQ~_kw=78#E5vc`C0N_*eA|k`8UqU-@rkz>V%lv(BdhXif`Y}bLI^Gyeua!!+B*j0rL}kah2kH5bj{Nzj5A<*|%lVXef zKb!kq&7mw$qV5zr<9LX95a(SYllOn4V@n9}7jOK3=-5JScw|{$n(V7V9b0aF@+A*< zZ29=FQ6J1V8@8-{_0=u~qo`p^?He^$Uzx;9 z%(UU`aL|VRV^8t>b%1N(x&#_smU~dU2$^n5Bg^NnEH{oiGj+Q2x0m2MlyT&ytRV0; z?4R-~4g4>l`%?pkdqDlFGlAuLWqzf}Yk(d5V@| zb!YHAx|q=TWi<~LF0@|CQ&iP>&iM`ajnt|=+D6ewb6`FLjprOkv5UFN0ps5Y-HP5b zH)I(HZpc*nclC$Z>)@4Ct$0R4i!p&{oy9AaXPM6*j~wgAxc^;clH^=;DkbM?tDOp* zN=xfgxFp%tM8a0V9W z+}AaX-}f@QItPLqq-$T&{?WULBL7anKWcPytaWz6`(MoW4g9O}$n6~p&4 zy4tJ2@V+a*=d;1|z^TIbZ-rL;7Sm%tKbMi;6bp1;WvTZC&v%XZEFksRuAx1cVxA>n zcWW$Fem0?T&#T&lmKCI+%l;NiXb-GHvmWPvt9k}=l6Z(;z^Wp?VAkl$%A1=j?_vN{ zjcGESX~5BA=H#>ZS?>Kr;FEiQ4QK3|oY0CrD~>Fs3H*y@ZghFM`{)?xN_BsRUDU%I z;dv29Yk9BHo&xs!!KgGoyPV@I&+aHF_*T8cO=nl0#^-@sp2kty z^gy*8+wycC)M;egT$u~pJiej~N{RNVx0yM&0 zdg8en(G$6@^vs`o1n7>>`S%k=GX>{5jrV{fN=%Bx+X8(19S>zU!j5HV4Yibh-2Zgh zahg{J{sV#@Nw`@DWx7cnbd>h4%uIt0syMuq)-M5LUz`ub(Asf66(AHBmzpfCEwC^p zK4c2XZ_?hyH|aOIf=xoVlF;Cs8^m4UvvzJor!)BsIwi1Yl(6jOEC%|0z-!xq4gOP% zz|48VOkM$xdy!Y^8*>b$JccKr4;8Y^_)CuAezL&!g2P_&P;cAsLNqNytLLP>O1ttP zf9oZD-i0Nif%h3&ffLe{?zQna*L9Ez5} z>CACwE1ZB|g*x@J^}6-Wlw{d_J)UJ2{zlqy(Ne)%8dBt$k~j%p8FV@7?qlI^gc=~H zg13^kfd5WAen>J&2fZ=4-p%8$VCB-$_}jX-S@;`k3(6UP-7~m2j`xn_swXY{O|ZYK zsqt9!0e;Gy!@iI-Ut-~JqRsbztKjY9uW#a~b>|E&;@TOA(4(^g)|1y?$qwZPuUjIaSgclxJ!EkL#r@b-7+-ugLY{>R0|2PV-Ic zRnJ_n-Nr{w@`EaG?-u8)8uh&GWt?EEmSrt?$`&94&ghZFpAo>{+C%$j_-?Dy9#oG@9<~I-RMfl_a z{j#IG+>3}*o0U@9i}>V-dnjNEOqg47;;zT@@2Ur+-x;#DLpek!cVk}k|^@bt>wu89?EsSZ_niI}`yu%qMcKDLO9W*T`!(=PPMWdtBmgqRsGIyWAQ- z=wosK-T|KG62C?g6`f$PR$FK%+_bW)7N?hi{lU8&zrx>|%`3dciG8BJW&N7+C(M9F zvx$G}1%}SmJ)*gSw(LZeUqX8MYPR@k=aYB$>A;9A+{*7>7I$0GuN>Se&Qlh5TegzQ zdhIey$s%#T3L43AzwC+@y>1$}8i~YBGDD90W#@eC`m(rHd`jX@v2YiQc+pNlTQsR_ zj)ZY@=MIUx7zEVEjJ&iYTg9q_hVBz=Aa`%_D;0CB; z!28DL`yUzp1!&dBVgGX#1jD!I_p*k9v}(X(gu1?l&h_(S%Vt8c8b*LLY$bSG1$ zwz0}l%oMmr6o3a!Mg?90{EK{&*gDp`IMNvY3BVUJ{9h7Yufy;606v4^$<_uQI+>v4 zI>5JJctjWY{WN}G(`e&b=z0s|?r7rq#J>TKnQKOGXE&1D$itB1`OSX-cviwHr#>HU zstJeo>%$7=!`_YqXBzF*WY2BY?A-EbQh1o_dnm{l7ac}TSmHA6oeaIYdWj$!( zEBlhtMe>0LDO3PtyH7#(YvB8HoN4Gf^Zs&b*+{B{QZH(Yx(Qe=_`C+iTlJgBTQV&5oZS*bC9ER1^%EA%s(C- z8TcoI<{z{{6)_l0rD1s^C1oNrz1fj;lJUn5x{$U^qgPy=hW^u@;6A(PZix=NXz_}> zsbU4)f&F%1#F_ewgIU7UFKH6xRM(3;Obn2+*FH9c~9tHJY0@1h(@j|t};5QCOE zG1$}D_@nH(2NTAA#uZ*@rj9@9(ocBi)6k?#VDlC6=iwk>fs+o9%+tzM`ldR z7`^X~kug*8mwohJr-V_%_eSt@x#O?>vB)kkP8cT&MBihFjn@i9O;Ph%(SlUARa^>AhV=VM&Z&U;cd_YXmx4L#Y z;2KOdim^K(3ZE_=~D0u2Z9fi0rTRxg@b zrd}oc$xvLYg9(ErB;5ciZdTwYfXEVp{35oM+r0-2pS%B{RDXFb$`X#7;jB@%R31VbEdSP7h>$K zJ@o(&uMBALigQ4~LvD>7J|(lx8}=~#F_!@ke+_umDmQ;c7FVqS50 z0{D4%)A(IyaKdP(_z~e3#jdY`UwUO;(a-pQSL0`RIvN(d%%1dQ0Y1wd&r1Q1o5c}e z&zqep*q-O{!_wyQ-w_zUMSb`S=r%r3ZU*SH&qMU5nGk&*E{FapXG*Hb@#93`eqN%_ zBNE=RFo55pPqgI$gk6FTv4p>|iGOtfzv|Fpi*3^xInL|b(}d3otgjXOvts84^jzmf z&Ye9q5E?9UbK&X7H^{q7S+D8P+3Ecj=X31AS^-?iZ z;jm>Xl4N#p1D*{g{-$<#xUAIRMvXgrjwm9E_?@w?&}|4QQ{v!fns z=Dr@QzG5V&fyuPD|HhEN+YI0KZ>~_cPcx*u|Xr zX$5cZZv$(vBEM&fFnm{YJWug^>DfAqIr2%+?}GQ>F?DjRlYoPT|L-jM|G2h0v8hwU9n@O}VyFsTpA+SW@1?_c3vmt-8b_YwjA>-=7xvJXKUK4qZI zMbVw2EAXsTv3z&cK#>nP^3a6mSggGj@DW%PQT8#;jbpouaP|T;?BnKEZMtP2t9++w zpvMQiyMdYa%9~7&bnI@*FlHS5z7fA~jy>@w!#6ee#07re()h^r2E+F@-?!)Yy?~!` z)VT)$<9VImcL)B>4ByZE-9Gf*KxU)sPS+`%{VW`Fj~ETXPFw+U*V)7c4*}JX0?$_e zyT(`G%5yQ-?_BX3s^^;Vd*dzY4C5~X{FAO&EnQqN-+yMD#ru~*kwLB)ygzTgzrc7( zQQLJNzyB&s;%~t30pz@w-=8+&bLqW?yi4a;S2XZkG2#0gXVf@RN#v$+;u(Gy#~FT> zIra36sz!VcZiUYwyB(j@6` z9#K#hvotAhUwIl?C$3pEcw}p|w>9h6*b1g!Q`xtGzG4drMd_v^zV3)G0cn7{kLcoJz6m=k)zMSZnvmfONq&h`;0!N{1o2pY(@=CS1yZ=`gI3`IL z`ZaNmYDY1uNSt8G4Nlj`vINW3xA1$uU5hxBo-5x|#|psTZ`@|D1cg3Y$GCv^kRz!4 z1HAZ{;oAyy9x3O2u8tlf>OFI22|tV~1@WG##CX8zAyM0E>-ar&8@J~IuNSZ@0Z*N} z?YY3~wGa6HZev7HHpY5HMP)X|prCAw^&*P1F{sl+6L2Oa$=8c`#vFYdblD{S(=D=lZ&44KhPLX;xUjk^xWV2|8nhh(Om4+ z+v*?dmmDdM_Kt~;)sB6R4;@#WVa@^01(s-J(jery z&{mdu(iMPVC{hI&stDjQDo(Q{&%Fh)$@Ruqxrl#O8^` zNuf#iCcTy%p4>J0spL;nQd0(|tV}tRa;4&(6~|XBsZ^oT#7h6Fe0SykRXkN1RXJO= zd)3FPPOo-nwT{&mR6CiPn)+Po|6=aHiLQ zZz4^)AX0)L0wTpq6+}bK5?bfyX)}B~9s!qo`^XlAx zrq?qE>dvm~tk<#LZ}n@|-&o&hP_4n(274R0p6&MR_UD>D7t_$Q;napV8okwAZ`eGr`R?Y97H_vW`9h-?wzqt`W$%`uFLrxz$E(}+&nJJ;+y zp!25AH@ZC2Wqy|wzovfM{h#;$G(Zbj5U@SqVb`f$GrK+0ZC1D7?jGIycVEIcd%fGpCK$QVQ2W%TyVc@*C+PwA0pap}igNFBzO1kVYTC)AtJd_wyPD<-%m&YtL)G2pgzTjsN@&$8c^*Iqtl`MpnG`y}v_$Q314v{~`t ziff-*KlS@`@~1aezO?d-m5HmGubQyx=&GdE^;QpDJ!AE+Yih3$#w149a?v1eV6s0uD`Ou zYeT;cpKnOm*kWUcjh}APHZ9wf`c3_B_H2G?^Nh_`w~X2{dCTc|K$C%_Al7~@%~l& zzuv!j{}20j??1Bt)Pd#)mK`{7u-d_Q4_-VJaA@OU{qVTM7mfrRdF@E-Z*_iK{aez} z0Y}dstISgC*s5dqjt@J&HMm@GgWwLqZv;;Yem{6k@TTA$!6$;R1!o7}KT+;PgA*N2 z^gJ>0#QP^!pZMX#@e^Sul26<_>2t}!pB#R2*2$G8*Pq;b^7zTHlgTIVo$@+W z{Z!*q?N7aaYQ(A8r&gWXe(Kn%E2ol9{eHUa>AI(%Ki%zgztiJS&po~J^p-Pa&jg)0 zb>_;M%n&7{LP*_^Rw3O&-U@j;WM0V1kS!s5LqbDtoPF(V>{-`2^<33+P0w{Y*YDhz zbF(>b$-$L_2>7TKXyL!eA4;c^97+L zLu-XL4eb!xEA;Kq*`bR=SBL%(dN?#9G$r&-m^G|QSi`XPVZFmfhP@j$Cu~jF*0952 z5n=YQhZjm*cGdR=wEhVuy=; zFOInw7TzYjclg-w`QcxLZwWsbeknXH{K2IPm!7@U@lxMQ<1PhW+Ii{9rNm1)m$l1P zFE_p1_Hy6LLobiNyzuhc%fDPceEIU_w95}7JR@pFycp3fVpzm`5g$gZiwKH17ZDwi z5h)_eM=pq56ZvE0k;sdY36XhGdQ|nORZ-tZ9gVsal@#TO)}pILKOfyC`nBlM(H}&A z9K9)eNA&UNOVMf3IafTdRJ+pXN{1_bt_->I?v=nRUtQUH<<~30SFT=3zH;ws$*VQ4 zzHqhc)ty&QUcGiTz5 z-ipnP&5P?A*DLPLxKVL);y#R99`{w;H*x#pF2tq8{c*$lM*SNtZgjZu#*IlgX5N^0 zW7&-jH@>@ZCh`99ug1R~KPmpB_%-pH;&;UFk3Sh79)C4HAwDhs zK|+Ou>Isb#IwbT=cr#&G!q|lQ39Az}CTvUCo$y=2xrFG1n+f?hOW&+=^O>8?ZnnGW zck`8-18$DGIr-+Cn=5W^y1C=#zMB_sCf>}vc{kCTSShh);&X{FCU#4FD{)%l^2Du) zM-rnFGm_M#YDq1VdMAxadM{~N(#E8HNf(n6lX8>GBsWNYA-Q96-{jHBA0&U4yfgV! za$IswN{JNTlr|~7QzoP=Nm-k+Gvz?asgz48aVa^sv|H70wYb&u)~H(_-1_|1u3M*X z-MsZjs&{Jr)b^>br%p^=l)653PwKJM(A2A`$*Fm1mb4maEz)|VjYylFwkmCV+Of3I zw5w^!X<2E8t(>iat-b9H+eq8HwmG&Xw$E(e*ml|u*pA!l*;m>xrI$^gl^%b)!R^_% zuV%E&csb*>jDZ;=GR9?0&3Hd!VaBqIH5uzNc4ZvPxRQ~XsbyBrY?0YBb5!OBnV)Cw z$~>KUBQwuY%2C--$I;aBlB27mpJSL~f@79rrDKcZC&wYj8ApU8-jVLOlO?jMWHrqS z$m*LlG;4g;ds!c5t<3s1>rmFEthg*&R&G{7cFF8Y*|oEqWVg)@$nKjxG<$sZd)f1| zmt?QZ{wn*M?CsgVWFN>ro_#j^Qg%%C&1_qCZuUc`r?Z-~w(~jXi_Z4W*PRob)14nU z7dbz1ZguW-?sXn@9kGTJpYM72)&9!G6Y4fAT3FRFS<4N{zOm1`oyt4iNn_kA8- zEm6%=>gy#?EX|*`LSU|T|CC&kk+>w*sjuMu_k(y{pDdnZV@G2M&#wfpt1&j>Z>6M9_ zB)-(^in-cW(cj}WF_kCyYU*}z$kJRavb-z~G5R>92eLm~tg-A6e9Bxz>tjV%OKIX; zi9=Qg$9@6h#XLRB4By9wwqHLc2I%L+3zp7etL_xFJQ|6Y^)%5+4--|eIlrZ3itn`g zq8Xvk`iob!8A4IJi?MolF`7JX&})gI`ZO_7uPxqEw~G$?6t+i;jl2Q>OC{P^t7V$o zJ3T6kuk0uDQM{-9 zBnEhN7v=P3rkCD4{kS-&2Z^t(XQ=xhsFxL@8)*&X+4If%7hWi|Q{kt-FJ{0e#|S%E4v7JlmEr^VXtuskOok`+Xc?jr`5mMW zgq}{(o$YV*FU4~8ZE*m;dS1(-4o-^}W_(w!nZ~)2PrHf@mbqdoeE7a~tyrdiEk4qF z7?IWmN$*pSZX!}o6@$sw2+FfV8%BA*5-(Wm zz{6!|Ukk)G+Rk^Bt&t^G>@fFHfU;Q^ z5)KeU^wEZm{R!3>@r*Thu}SZ0-14X=qAYo0yB;p;>a9gp{Gw8= zRuO9bNNlqFAinYZUPO9~hc{}98Cs$kD(gdE0`Fvr8d{FKexT_<4{y>OMcE3|#_s%~ z-juv1^VKo&;5)E@I-UW35aPZMXkghZj_RM2FY>`Sc^|T8gFceF45aS95r?%u#Wx;( zMP+MCQN=Qlx}O70(#5ZOU$NEtp6FxgDq2{6L|!Zt+dRF*e(K~K&jwE*$(s#$TW#hMOE!%QO=@qp90Ygp6hAtAYQR1QV)H|AK%i@ z{ist_Oz}7>I$NiR79JPGG3!R;OO9BoR}nKQgRiB!=mKx7hUN|6g+}TDF-*tm;K|H# zQK%lqc7R<0nJuVCVZIY_tGkH zi&5%0;ivWy&%%RU^be6UUy08&-o9t?#V7AAG05YR7^IFs=8X^|w68>aWX((3P-yy@ z7;dc(zkMPOdkz)*trgg=M!iiI{VelD9W9+URvp@P65}nkp?M1O=&%?h>qU2o3CwqV zX{{wjS>r_@@@O{lZi2psb32P)sPhi`YVo~3RCM&5LBHf-EF*7Y%)X?u@Yn0nhD(Z8 z$cZ25%lN{lc%L@if%<03#gLSSLBkAGUL=5n3DF&;zkfXPFmg1IpQy0iV zLHiSwT~H<=)_`_E#=iwNgK@~}o_Zbel-@=>N12=JU1*;lQ)j-SA@$Y+UR|s2Ab%aj zdctvfl2~ua7wfgH><=KkAYM}9D0e*jd&O)`hVnYAc$RaX()O?~)0Ec|YM+a)`WdcE z5-(YX5$6JS5r{0Qt|ZdMCC$ksDQMyDi0Q@UM*9qVHzEqVTbl zVgD7;#adacw+=VY)h(-uYXN46Vb*Sh?~2}f4dG>dlWRtE?ayM1?bNKXT{grX0aR@au6OItj#pm=q1D? z?R@|ZwGYK|Z62~-_P_8cm_Dc?phMTs;%MNeo4-UT(lbTARL0dv79FixMMcq_@q3gs%G zKUK~f_ho37;~s7CzGw}-H|UMTaOD0leHQo-etVC&d2FMTkj_NPGewVsU$zR}T33`c z`9{(@9$tsX==+7#&n$zG8-O%~)QQy3L|IeMlDgJEKK-Ad|LMKEx#X_@O-0xpQ^iA5yM6=8?KeFuqA%sWP$a?tK5Pg-lvJrZnr5qawlL+?{<`ABR zp7oUr#sk7&>rxS|eS^-0ZY%X9sozQ+6aEiEKiVR7UBa<4MAq&!!ym*>Sr3vve+~69 zMx?0|L$AMu=*Ln=m3lJa(86$$sWYRu{@2jWLzN48$sHaMm1Vuly7*s14|H;=7fT+I zbyuXDOZ`~t=*2^+r_v9+Zk9#rq=Cj26H>;~_Wu>g2PsF2Ly0qPBX748#(~qat(dY^ zww>aTGQ2pXj4ysKDSL_oc~ty9McY!QKLKPQ_uUGPf^hOu3T%-5fG+!kt&FGW8;W4& zPv-Hj`IP-i5oCW+9Fi_YC|-tQ+h$)S%OoNDup-EI^QqC^vcu>JuMV=zXMUoI(E^>Q zwEDL3o!PD!qnYi4dMX;1NuK@dcuew$S+9(}NXu?+OI;lOTk1@v-i>Z;jwxi@mSY#j zOVoWc?sY-x-DaC7H1%%TCeisNkJ4_U%{1kBkiJ3QU+UJ6@+Z&ZeA>oQGhehvQ&!3G zK^EIm&dL1AaiNqGvaL&2Aj5ikEWEaGi* z{LHvo+sL?u_AT`+nJ07nSR|(k^IDV-bL_%+qfmz~;n_{RRiYK++*9Na{l7?#nfG8^ zBk3W>8ghIfxBn{tirP?-Tr>4k#$$3!R&?E?w4s@#g`}Ms%JH?7C53wZqmXfm97{;L zOFH~5WPGE`F$m)ts~mgCF?CUS|2eGjUylDxuK(?P$s_+kZc~0gj(Zi+;jbaIJ464o zj_@#b{psK2XAv#jVa0zvUNrvwZ{c6%X5o0bXx#j7VG(crEnE$a;cM!nfgE2-`pY&W z`PW)BhM`~5ZN@_r<3&S`2}?60PgjlnB7TzXLbgM*tpuIZl>k#>y|v~+Y0+I^S;=Jq|A|aA{iF7;i5js5>&9r zl>5&Z%Pm!m&1xlMm;S5qKp$qbV{BI6JcbS`<-I9GP5F*Kk1UsZ{v)~Fk!>lH3&#p( z-@~@qPe>gf`7Or*GQOxUkox(f^ra3f?*YtoxsTajNgZFNE&C#wKI0Hm@0Q199QQEw zae1xO_Zc%VcHLt|XEd+pzOpYUf|-6*y_Gdfqx0U zt1ZV+kAIBPHGQ(uNLb*i^_CWlJ!`o`EmFLVokvKxe@RTG_ZB|#SvwyY)3sNxuA-w5 z#zU*%VTQLo)~g&)Hp^o?Hz&VXxCQIZjus;ZjB!i!xrO}D5T?<0HkQ~C6y zg;$;PvskQFKKWrWcg#Ic)+%rQW3o4~uHf(>TaI zb=||mL-!<29Dn3bo~d#NPt~efiRK!9GDn)sF+b8L8}gW$BXY{0)Xd9?^Wat<){-Up zSe6F~v$k42Jw3>?%&bm6__5O6C(1Pup4{HkL;eAmds=jE0JzeF>)iKd!%Rb$aaQPM zwUqEE!9`X{AekjL3m5Y;QsIu~CMU{^WTrJs2}=nL!m6sG2u-tkKnth=Q7oEnRZCC{ z)Po0C$fRYV^b)c-@=j#7q^uI?q{)y|JVXgDaaVzPL`D~FKyOHGQc0IYV$aNkrzD4& zUs)*1%&walgvCrU*5@mB^S#JdGV{v}r zc^aHnoOYa0bc*{7s7`jtHO)X0?eWj#O>Xcw=FyfsLS{tX*y`StEaIjG$+<6=g=LEx zdz`Z5K(kC-XI2~}BTg1qo(9Eax?EY5n3N%;W7Yr3>_`VM`Menh{dU(=KIe2Zf7wp6I8)a+36qnbH2^J@N4>s6l; zKBauh`8?%Q)2FsieV=ANEqvPgwDa-vnc=g*XPeJXpPzj8_#E*$=4fXN`2Vp=o6(LR9NbA#Y#PzQY(~Nq0|p3 zHMMWtHBy!9#wq2Zagr`G7#slyz&@}SFt?)oWK=Rd3`@bif=ne_602ZLfuB<6;q`~t z9)>>L_wdJuKRn#}aMMF^yJAxBu`A9kUTDV#H}6418;qs+&kGfnI{{Q zuv{f&CE1eFlD~kZl!oiZi zTYpneE9XppmzjI~OJ$Q1$@kwW&5J>{gJM5rhQcWKpMQ+i_;Ch)T*{B`bCeS>6w|EI zwyyRCBf(0*lbGspa0#Ti&wX;OMm@Rj-cwI;KKQ@<)CFpwx={U4U8F7+3)K(QRqASW zjry7Tx%!2`ZmE8$ex-h`u2t8G#o{A%y}Ci&sBTifQ8(kM{IR-I-KGAd{;d9@?iNeM zGBrruqwZCIRrg^jox{7?R;Y8ur|K;=RZUZEs$ESNE7jX-hMK85)GReyb*e6&U0ki^ zsJUvMdPmJy@2bD^X06ZEd+HzRef3ZEf%;H^}I_MJGReXng7A=)-1+&OVxgo-fUlYUYAL4=D- zTB`Q5h|+$+>b4uHwMW}4u86B5M%$;QY5T=B?SQzh9n=nqSnV+HS-BzNY2m+$1fH}! zsvXmgYr)zH?WDLV617v>X^|l^d6#mQb_QN^3YQilazw7k6L++;B40bFofmhtQ1Lr5 z!lqqNRP7?7GaNa2S&LA3?W$r$cG$HjzJKGXl+YJy>Dq0jvQkBVZllrLoe4FKai`Khzf?wVLB3`+}COIhB^YC$W{%T3@Vxq`9;leU?63%jL5`lwL}2h4-f-?fWaQBctaiZzyjn19Sx`hRP~c0Ntt# zRIs}0bM@+a4P}rrSQ(-WMXD`RhUri1%azH>6lJ0Ep}s=@MEP2OPhr+JNHpphRHFBQ zJ&Lk&;338MD9G<=z79KVXyYKIk&lo6IKLoec;g_oQIPVSZ{r}XkxxL7RyUyUfI0(x zmisL4K6<%NfX_Q4MhEG2&5#3QmJe*|6D0Z#7{|K*0N(MC4`ds56Pj?Fa1_X7i9wY`XUoO+@H=vGhP~h_A)t6I(qWu$3 z?jKUbUn4pekAMRHhm^qHBt=lix4Mj|<6Fm<91iqr98{uF&wc~^$)Yb=EZHdNIse8% zr5Xh_Bq-fzPkm*n&+>i)4tEr~7Q@KH{wbdm0MA>W47_r27$Hx?vC=6nmA@YC~mj8HM%1GHshZTeH0IY{;w7CJpp& z{xq8h)%jz4w>G!5_lEa;(cID(jef1Ixn=3v)_uuA>zY}E+t!g+cs#n+vrp$2>Q@8c?gN(WBV{cG-W%}OU<&_zG1LbN;d1dC_ z4%LVoCRYpOs%bS2^pdN|aEmrbrIcjcB-u4>if zpYsKRAV%rvc0u~pZBmKR17H)fpj^b3|b_r3MZ%?`J zRZ3J;7|EOWEsYmI?ZWLcVzAP!aJ#JNuWT#a=3R=)y~6Esq9miNE@HBn!q>y6;fFpJ z>dZg`YmRUJ^DI6ByCKV1-YqbOz3xzKlxV_MCt@ZN_I-5KbaQWvn9iBgDCZcSTx!B` zo-zV6fRA|P(b;`DK32>mjS-yvhI!3&j!xzd^8QV@dkfxe@RGSFbJOaHv>HE=R`Gj` zBL_aD>cc&!5soJ9N#m@9TSjM8DvwX#REl&_B zVjGJhenjWj&?b0$11;${*1;@_ILV@j(<}-)g47=`uqaYPU>(8J5{igsQP2TyvQB1E zL>i02*x@$oOz|h{hb#&s2}LLh!y?x7qA|k$$p$|dTrJ( zDlf8rNomKrlj6s^tI~~iPvuqCeUv_|`}2-6MfSX`M=B#(k5)#reuu9UE4&F|BI|dR zcUezSrm#MOmai$lDJO-hL@736GL#I~c}gDZd?lat1Eqjx-Z+6ZRxZ{ast4;5YAM#` zc)CkbE2&jjS5qm4+JJhXKTyfJ+E{JOx|!O7^)Pi5>p5tS}roIVdg|-?#!D}k74d{%*&IzKEpep74N(B&O*6UF{)Eor?98QQzQLUzrCFz z0wVn8KlP4(4gVT`NBylb42baWR@GYdivP-h!2xSKrF2;uaG+Wbzv2GlJFl*`+P{7E zv;OV<+xxBXAMYPn<9xuJr=RQGk+q-y_<)F~mv;{HQ%O^;S-Mt9pVB_rzN-V~_IB(vA***_O`Y3d$A;bFa@nrJFjm&t#ikYJz8&U`=0;!_ImsF9UF9P;6J{@j1C2I zt78MowSt__>DYrDhjm`xDW!8qzoT;TuOYYHWpu}P3hOvS(xX#Y*V3ITbsF8(+UZ0< zcEFvk)_^;N=F(|zz#T~^_u{{j^ouQ>pr3nj=h&Tk(b-*=`VB9>bYAUVB>jq(fH?tk zNO5=(Iz_k_Su>qi{}rU){_&m6I0x9U z_>Rk;VPjR%-2B_>-}6#L)#8^FFWuvKzODBE{Bu*@ec9tw;fvz*%l%)HmG7YY`;T|~ z{MVoRO7|U$-}f&UdOhAZzBH~q-utJmCwZ-St^d>6e~&Y4aP4il+T>%yZe0KSIsX=8 zoS?41D>`ZfL(S`~V~wrGLB7Q2Ft)(Q<&9m&StEsdFXKLwJJH%CEsVy%DI}j?EIhX5 zpQ&4PkH3dT2H%J=e}>~9j&7noe{O6tzBTq3tBk|OAw3m~IMLfUYE&U+F7W<)UHwySKfXUSIPv$q$QVgo_gx>~`=8JJUt;+J1}%+smZUB8 zE|Oe@l>T4RaGwJg*v*toIR_Uc|Cej2K~qLCdN86ufo{@XD(Js(r`-_HB* z@rClqz>IG33A>>Bw@=*5w}Dt)*KtwoOE%UIh7X7p|n!k$TzMlT@-)b^4pVn zlL5?ve64I!wkqFa>G*)zt73C*%wsK4KUSBj%hcuSC+Z6IQ*~wWIk?C3Z|VW{ka|Qt zsvcKQsHfC3>RI)?8m3-UFR2k~lzK&tVTL(QjaP4~NoopnZfVT7-DajOi&?fDX4mqW zQ@hW6S^=}rJRQNKAD+ydm1gG5n_0DrS|zQDR!ys+)zo~n+S)T(U9GBRF=wq;x#!j7teTut)4tZ$%Goq+gE^1(v-V5TyqNYYHk|$10XZAS?EaA_XTX^K ziq@`b*R)t{IW8@iXJg9f6_{oEP+x+DM*5m=V+_P72wS#%mq{tc6!M!Q6^N@#eOt`> zE=7I6h^Ek*iBoQfPn87TdbUbQQj*1LB~!@~pDBi7h%eQ$s<-$GOI$OaS8ahk zZoTTS`il)}SG60S2kR%&{Fx-u;L#Kz=Y;J-^671n4zFg4 z+wg0a$be^^A``xSC>*Mx8sZO3qsRgI%$4{Po-HdLz_;GwA-r2&6u`4S!hmn<@>p4Y zt-hkeyU!{Xt*O?U8PYCVSH)XV)3zyXutjcH+G;zsoxBhW-d5VlIbWqcynR^d2uB}Nx?-a|qx8_u zYUh;RJi~HP>C00r(aIZe_f=&89DYq12$#nzZ)u5Isxp+BT$?gl&dw@h;Cz=dmYLQ+ zm3OoP%}}N>hpHR2@1eh`{G<=lhbc#R zR%E8~8}qfZl#_C{RXHW?p~@M3q5h!~!hG&x8G442qq8Wvyd^3h zOL8gE8qFvQ#2D9=Ho)Jwu9XGepgcHfT-RrTV9u#RyRJx!D^Gi?q*P@tY@Mh?jhEMI z6Fvhz0qemg5Ka75a1F$=pCKw@E3SmUO(mWouY{jKC2Yi%cwW7teg>Q+T}4zde30bc zMkU5}l|)_o?+=zj0G^MT_YMx`UpeAK*)p;tllTfs9t)LZ2D}z94QL*g)J~ z(%1)nWB(Y(&J%`$3ml6g-5Bt@k*R2)jPZt2g|M2DuGA!~4cah=#&_Nof5PE}Bftc( z#Hge!2P?rUkZGJyvWydI3$Va=Lk$EA!G~ZGSPVV_>y4Z02Cxxq0^fkmU<>%x$W*t2 z@4zV9y5^beBGA;QCiM+ko-JjOM_;3PN= zLcloy9n=dT99#yGAR1f+*FahUPk<2q2_71mwD*d%_KLLiirP~~hE^F=1=YdRpcbfO zq-)KM6B=~TUH~n@i=Y)~4PFJWfnH#V@rJe%d_&q>xt20(+qr%R+dJ9bMYy-%o<_NN zR->YJ+PJBmA^t3&9<@-;CI4C!VH`-|yjz@OBQBGD2VoA#WBVS*{@~bs!aoTOzRa!w z6_f^Lfj6jVr0bPH74S6sHH|m)TEHensYX9(*O)+4M>*nsd^!siGZ5;h`i zOxT35DPc3h=Lwq=wjg|guqC1VQf3?Q5_lPO0G&V=;17C&S3xh(2f*_>Jg>hA27*Cg z2p9%NfKf&UzGE5sSTGJu0F%IEFqJY*2Q$Ge+T1$w06*#*xo!*C#yL9(;W<5+Fl7UIV?rC!D(;Yyu}qBU-*;8(agi z#AO(%TCS0xPXW`w3^2>MsxKi7COl=N>Sw@N-l};)l+~j^24lUaDNPWi$)Y3?lq86f z1W}SKN)kj#g2;UYxep@uLF7J&oJWxJ2yzrbjv~lW1UU*K7ZKzli(EvIiwJTNK`tW5 zMG(1&AQwU8B8yyPVclqgWvPvkt$qo<0$+o*AkE0uDuPO&3aAEZfSO>hk*$veqrpk8 ze-(Yq8yW76-c^ygBzTqWwG!^lkrwQ21~&*o@@9P8M7692eyIl0WuZYl8$UiN4BIR zThfs&>ByFJWJ@}-B^}w4j%-OswxlCl(vdCcwE1+}ayso;w&8T`hVaJ!)muvhHufDL z2N>|50#r~IJPlfbHsB@jGUxz0fiA!w3V18O*+h68FipoRl#IG~0D zYB->V18O*+h68FipoRl#IG~0DYB->V18O*+h68FipoRl#IG}(73OJyE0}42xfCCCR zpa5_02dzLGKpTVt4k+M&0uCtPfC7Av5ex!DzzDDr>;StcR~7nA2mPFbzQsY`;-GJF z(6>0~TO8^i;7{<7J5ws;umgGPKt?){j}GLK19{{?9yyRl4&;#odE`JIIgmkoJ&ilS zm&Rgx@Wu3!i|Hj7(@QRR?WkxPNWF9?a9=%f@ zJxm@wM;^UK9=%4McEiZkcz?c@2r}8v!;7jSs06BjsbD&o2~L9$?$trmXWbCA04>2H z@Htoueg$V}mC@wJ6I2G(!PB4?@CBW~cyi?r0zfy=9V`K>!5Z)xAWiiPa1#l8R1} ziawHxE|Q8Kl1hISO@9?le-%w%6^&ky%6Qz{s7V{HNlC*gVK^lW7w2eCW$<`j!c%n1 z!Ah{os7VRKDPcGz45x(QlrWqUhEu|DN*7M)!YN%ir3$A+;glkr+=r9vaB>|^j>E}u zI5`d{$Km8SoE(Rf<8X2uPL9LLaX2{+C&%IBFr3lC8G3M4gwdnkMKd{qWRFL($0OO} zk?irJ54;LbBky7ae2t`!XPl6L)JR5ZBqR0Xk^1qB6B3a8@ko(mah#qtm>NFG`KK5s zoW=qcf?e_~*2nXl6AHqZb-2Ja7qMiAV;jGO<<-IYv@ekZ^1vOC4}Rx-+NPjwia$XC z?Op)Qh*vCxRg4&pSyApxnFj8sgf*NUgt zil^6#r`L+7*NUgtil^6#r`L*C!@*?`38KMOa1G>gAIhoT1;2woxW}L1p%KIQAc65g z0^@@O#s>+E4-yz3Bp`v4>FwgREy$y->~G`T?ZoY1dnenw2+wdFDXX1j{~RH7M`9<_ zGsbHd*^dNK?8kv*wr#}Q2{YMuu$=?)*fxxKdd_%V1;}B&Bq(jf(2K_F-h>s6WTbqu zUIoV(4|_>2>4jb>ry^W9WI~ z(Z>_e$N7337zZYRNnkRV%6+GUnP4vWUkf&J%@(fR#_=6&?*jXYKL}29UI;uom;R4; z4uGz3W;f6s^aQVif!K@Rg6qfy9PWa{U2wP)4tK%f@o=?+mg5CSXTZ@eINAkApMj&D zaI_tcb-|r3xH2BDbitJ_xX=aHx!^h%T<4;XjiZl^qmPZFkBy^`je`?iaH0!Nbis)( zIMD^iIpH`b9Os1NoN!z`92XDAx!^b#9Or`LTyUHVj&s3rE;!Bw$GPA*7aZq;<6Ll@ z3yyQaRZh6d30FDcDkog!gsYrzRXkkff}@;pQ#{<{gp-_bk_+x}!9DSCj|;Aehil@s z8%7*`ejI&%9NgoAbK>C~p122jY#Y2mO93h<3o23zl|U8nH2bYU8^AmM;Sv{I;(|+D zaES{palr{LIKc%cxZna8T;PNYoN$2?E^xvHPPo7c7dYX9c(@=QE{Lc0UDUjjns-t2 zE^0iU8jr_jZe_;16zG9G8py2iTg<2p0UOvpMtBOjC3{?SHEPp`+RUK_L#U}O)YKMg zY6~^Bg__zzt>jQEIn+uHwUR@vgitFXP&Wta=0M#XsG9?IbD(Yx)D3~MIZ!qP%H}}X z94HzBHAA3g2-MsHHMc;`El@H93Wh+j5GWP`#X=~34yDhb^f{D1htlUz`W#B1L+L{( zeF&uwq2xJ~ID`_1FrMiOFLndnK~L~H_yVj0zX8d^=Lti>?}imUa`X~c6h}Ouh`)g zJG^3tSM2bL9bU1+D|UFmPW{`de>>LoFj{FAb$i#?rL;wFpG5sC>|JFY#^~=j+IDHv zDqno`*Mqp8jCT5QwHyV$#Ti3D@sZ#$c{P3KS;C@GVHnpHjSQ<88Q8>2LDPR5A(m!@ zSeg-HX-0^p86lQdqD2`c23%+S&)lVQgB&L?nnt@CsrYPwhZ-W@C(=t_K8yJe(--BjnZ>vsDFZo(t;&Q zVZjQC#wxtwh|}tU2H-h> zo~YgBS{;OPE?y9fAcul%wAvSdA7G!Wa=9v(t8%$2m#cEQDwnHrnYnt4uN=!OhY&I{ zLi*k@Q>bR#DV_>a^$t??4$|`uDdv%49x2N4=N+Wy9W&)9!Z?r#@<7p@DjIi?o_CO* zcaV^GkdSwfkav)dcaV;E$Vndard9(909rE+X^S4(j-1HxNFQdc`-1*}5e&I?l3N=& zm3nQYh~oShz@5cSD3Od#VdHuS$Fe!sMVJHfz#Whe?lLETkMKVD6BHPc=&_OLu#rj$ zBMqC`75W>S;$z%GhmB)=f= z7(iX>!l{fT-BC!A(Ma-%oIlA3rB4f^PYa_@3!_g9qfZM{$uX9De04{YhLLW3)T)lM|gZ z5}h+DyV(jP>3(b;n3^+_si; z_k)8Vm}94S$JS}iJ3|;k-8X8d>8=P>16HYh|Cmg5tL#g3JYBGyjbW)4Vd>F^6 zwM1&^xbg~b+>*60$w-32PAKezqQ{}=aVUCRtHb_waFXp%!YB|2GC>|Ctq3ZCDqt#@ z4rYQ`#&L3boLoA|p%c4GYx3Eap06D(jNTI7%^{aIa%qEKbK%!)_%)pz+u+q4avcHh z+2J?YhI7cZja*-X$7FlXA@??TEFB(8ho@xw&Vi@w@KYB2WTQk8@Q$6**eH#S(%9e+ zJG^0sH|+3+ow0W=ykUnYvMHero{(}Ohq|{@$9C%1PTfj5kwe`|S&>7XW>cTp)MYmH zm`)wqsXse)XQ$LQ>Mfl*vr~E-^<<}x?0CG?MT4tP=^BC-pe1N+BtelRsF5fZvHv+( z3-)sEuY~&uqd1OrmAP+kD3!#M5*2w$!n?3#Cy6Yqz`5-I!5i#!tht_0qYPnX!m7ko zCq(WmwSX^ZLtH09e?r+pyAjG(+Jo>_!roll2MmBOM#3YbjhlRl$XglDH51u?7fMfN ze+pJ(EV60<=mw|-bpdgKU?KPrECN`YRjkeG5{|D1YrtoKvSRy5r-l;M0~|jDj)0@Y z9S0}CDG&je1yZko7;q2V2M_4`${I=3Y!Wq_M9n5rvx!<`;+J4)UQYN4`zzW0n(g&$ zZvxy4yHPrJqjYLKiJDH-Qi#i7JBv6M$R+L`arcF{UW(c*1H6E2wbhIy-lXfT`+(Zu z8Bh;kRneaVjX)F73^WHXfF4}?3V03l27N()@CFzFnBBw{m5wbc9b1&-s6;p_5spfP zqmoQXFo$pn`|C(=Gv^!v!Ni>cXW)yLqB?D;HSMM?vftfbxZs`~afN5CVhClQkihm$ zdKepRr7Ch*%JMdBOS$b&*c(Y8+@8gDH%Jrhyq?7Hw+@VK5=GnNr;m z<7qcug_6U@Sg9;+g?BI$w+~3^afLW3L1JkKacn1mo9MmCJl85EiJerkm_fY$r3@h)$#uM$nRZdO zP}10G6J===UbF!(+JF~rz>7BEMH}#<4S3N8yr7^BUiX66z2J4Pzepz8YuVskFDPn* zZ@r+Z4G;RVP?cT_9gl0>Qi`}(;!@bpAj}2mPw=c4JnN-v=u#EXyPg7-K~*CSzDF)(gJ%f^WUxTQB(53%>QDc4W^adnMT;Ny(O`&mkS`xbUG@ zp@fsYkPT1G*4WP4LG_ohF-Ea{h3y!^Skrcz2JfZ8d$&a{qYoXlfVyqaDY_8)6ZR%V zQ>S)|%Y5GfR*{2~sIR3MELU z^`ugQRI>zGgt_#iI%r|ejiykFR7#OTDN-p#CZ$NF6tV=VlzBut-GmDLX$jbk_S!l zph+I|knJ!NI^;nI+1BzXa~@^Rqs*C;7$kAyw`!2R~ z0R6qV1MxN=oUPekJji!*SLe8k%PAAq~~^_DLU!7ooI@`JtrET6AjOahUY}XbE3I9(bSx1YEF7*7h0MVEzOBG=0qEF z(mT88nO$gIPQ4_k0p^0W0DT6n$tmiH$1_X$Xi52KN%@rG4!M=HOZntbYC-wvp#L<> zl#gbVk2aK#Hk6Mhl#eEqk0z9lepq~#DPPOuJ$)5HB~S%S1&jjGit^Eh^3jI!dD=3I zew;B2@+eC@fNz+oM&@K8Z?ecm7VR~Qww8rQ^ds`;oyjOWlTmgiqwGvZ*_ql~fM+7K!GPx?7-eTN%Fbkzoykbr#Yj4n zQFJDwXcwbs`5cMMv10da_0YJ`TNh$Ydp3Jx}Vo@F&cI;8qU;< zEPgzP!)P~?(QYOq-AtZuwK7sI1+Xhp%R$)0g0P7N@mysYY&^VFgV~MO2_M^dg2X!Z ze*gr;Q!ZlAT$Sc1Atm8+Jj0>^3;?|-2%SlDUGe* zJFpFW5B_QPqsT^dkZTSDT7-Ixb9piY8(@%n8iasz06M7`KsdMzB0)5`3a)|TGadi` zXDu`IJIh%5x&}}mc(jME4%3w1pgUzUnc8hauoa43|1!2<+(xlz! z590p>22ZglKn3oZlptCLGb!i~kL^c6dM&ux7t{fDL4EKnXb2jErr>$d0<;9JNRKCO z^q0WPpabXxx&WTS(f{+TOAz+cAbkjM&$^Z0cMoVkr7|Dm7^advKH} z9)yA{p0muQN56}v@jLr}7{BvI0(qAzN=?}&L0j5rXTokA>w#9(hhxLp9|0zSNyOpx zu71lKpSObVz&7wbI0k~jNpKp3fOCL*s~12xxC|meG`I?`VNd)9oB`xh<2=m<93Tf6 zqO=YrbQP2Z)r{ZurwLnuHsB@jGUxz0fiA!w3|9bQra`_3g36P0j%Q)#B#X3jT}5jlS55oGry{ z?PBl|_!uk&%V=XaKs-p~98YTQ2>QZhw3{2$RBvjC58aZ-G3X4Fj91LG@<~f-5&5K* zPg?n;l}}nyQ^+T+eA3FtV&i^p-beK2sh566pm@_*Ee0Wds~CaGNn4ANv2G*-4 zMuO6eHjeE_=?Iwh;~sI!Fyojqj&moHH$)sUVhe^rajY=y8m)bQf6#1(c-%cYlZSlof_ifiihe zrn0n#a^$ZaE#fE2_7r7nN7>4f%kh-2JLM})PCF>C7UV$36UwjxCoSfATFfxYTaxlx z$aynpdKGVyl8kudGmmAB%jR>BJ(%TsgSmhKgz|aENlOkEA zNT5O3;?_g&L-566DC*{w^QL{l#_Z)?tkP|b&D202%JuJq9DUYjjpgHwOMJL0;v&;32Nb;2M`X zl4?tvaa(B}ZoW{;At|tO!fk_~!y$4Oh9_YLp5J$k!(6wQT8ZM?^W1L>Ih9Nb9{LlTLu?MQdC0t2{C={;Qe3-OuorqeLl^hoNpP zM`Jk}%TcN8OKQov+H=&roTtsA)}%y{*Lu+oN^@-{*Oo1;FSpdOLZ38fA-Ou0BMwrP zqqi)sTL>3phZAVT)I$c8NJM@lQC~?&D@K1pr>4)bmCIGRT*cddh~Z5>a+a4mUC-#m zif>pc76q-yn>guRs9}+N775!3@4pf}E!Unne>9+~Xg}TY3X}d|Pn(`#HBC=2`gxW* zVlZ!qddBntt8e;%@ii%Ic+WD9IVKtl`L?Gf=6jx+V$r*bSJ*X{=2-ON;D>lDdN1Jj zWy9Cd!P1_0Ic77X@HeZ6M- zef2T@zWSPeU;RwKFTB3+`@-uBzc1djh~L)$)9-5_eqYOZtJ+Gwi#W>k`x;|O`ooC z)2A!W^y#```gFycK3xf>PuES;rz;Vk#EK#bzr;!+8Q;VzA_f1%YT_0?iZw(keu_0k zn(6n&tcmuVuuESr-k*uD7k*;+df^WyeZ5rE*Gto+ua~Fk>s8A1^(t-pdX+bQy=t4j zUUf`guV+kOuezqMS3UVwV*J6RmsfMs%c~_`UKjBMlm1Djf`^z2$^dUpMwkJLvh zKkB3P(aH|f%WJ3U)4wax z^zTYC{kxJ)|E?6%zw4Ii--XOoW|-}>s@XoPn(foqY@fcg&$_hLdMq{Yz^qTN*?>i% ztv!qUZNgF#J)tRAHe;zm`{G?;w67QN?37-fWw8jh;heTCPvaH#628FgSfqCtnm(R z+)Lk34^u8E$b~(O4)(IBcn$wb-uAJmrlcrgN($YS6dtCe@G)gXc_hS5%ALyMgPgFj zmXe~HDJk#+WAQL0MJ*&nfvAPFFocIGFKU_cqLwKyROCe!w9Be^!9A^1<0+XE$c`qQ z*;HvNYAel2Ekt?c1?2@i$6De`TFR6urA(Pp3Te`Xqkj03Ry5^^f*cvlRYRCN zD6b5~m$ahkOIlS~qAU@ zX-2D+O|Mo3Ie3;_onzeUi3j$1wnG`edg6;6#`Xoqv7UHkUt~L+@vJBQ*_YV9%(&K5 zja6gGr<9TfdjEGiESZH~;N+KmGRGZyjA- zRsB|VeY@)Y+J6nd$M1pP>-WOjOxb2Zt2PT-wOP=rHp81goq|?v7_@3p(5gj2s}=>V zS`@TuQP8SIL94bwtMa|i3hf=ELgs^ag6}Myql4s70Z+79w(wm9T+!y*!XJ(nJ`gQ@ zG^07)rF+y-dZ3XT1&z%ANoeForjc=-DpR9&GEL5nI+-uFO{W{XSVs}QHI&( zSF*m}Rm|)(O?@r$>*P8tf-aL~xLz;UbH^2|>)e3(=fA?|N?FNV&zs~Xp7dt9nNYWY zO*Lj^=U>CGl2wtKmS+ieX7utz%;<%$mTF?Vi`ASv$lY>xRAh73iSu6Ytj^3_rxr1L z{eJGdM%LhGt*piW!;-E{_y~7gFYBWwvVmEG4Vlrtkvl%hs?M=I#)w4$t;J^U^0+)6 zCGrI07cH0{{3LhZB3qbM_!OfV1@g2!9kr%Kc^)|?&!aZhu0WYL41J9`ti|#=|5z2u z8;q8#tX~8_> zFNuwrCdmH+Cf8VY%1%=971*4YU9yXKc7xG*`5N1(G40kj#JP`AmI7KY*4SiiXNelK zzOyn*uYuC{(qb*fW(zZwp^de1lrW3GiP?u_Y_3q7f%0|M=8Vx5Y75Z5&e~F2!nXtM z^V%K@Qn8kR`guJ>4}tFh`scMHmSke>1PbV}2GAM)P|!fHhv{MPT|foB{y={Ke>mu% z*CX@@_^zOYUXRox;g13>^w<&T27ffDq1W!(9lnS5fImi$f$yn3;d^N>_}X5H1wUFx!;jH1@XY^)(o2Yntd{_t!z|}woy#a>q0VErbFt3n@3%r-z^vzDy@0>q z3at+T{(7-q9CcuA?n|Q9Vf{?i#k!c0l_k0aIsFO7RhczTsFk`hQoRX8)$7elzgut7 zTX?SD=x<2LDqTeym`9E!xI6R?Y**f?cTxw+wH#OGltZf-yHUMM?;=iSmP46Yj#bio z^;2F*x(1(XbuBZqAJ7Mgff?t-NneE2ZqN-p-A3kYAFPiuhFYkPF?ai5<&RzX z&AK^iWAo9mNd2Tf$=K%>-9l_nG2^n4^S%ozc;==fXKp%v zn48X*fa3}OLi?ZF@?2}$<<>dzcb@Ib#Akh^=Z-c0?b;5TL0Lo(ra8TpVtPTfw}cB@ z9n^($-i5_G=(n)qDk9bkqQ6uKZ3fM**_8MCy}4Yv_ZNW=cQ@CR%k0l%z4Dk)mOJ^) zp2eQRHc3xenm&Ks_!|(u748kPehv!fR`kehD+%=5#A0p6VY$~PP?NA!1Z#qr%r>Jb z=Yk)T<#VELip|YjmD00yO46Ljor7a7lE#`B9F$FqNz$jt-`jH3+)Z9W>gsN-NLfCm z`FJISNo!0lgyoTK`O->5r_%k=_SA4&<*+IB+^C(?t#u8zzp(!dxz*{vx3%EAp%b1O z^KH!zi~ zsSe|_wJKi&>p1_@E^1crB1Rie$?x^u*;1A6MQASDi}`A)y{9@WeQ(o5n!d{I8T6Iy zh3qlma);H?+K1KT`i|Ou^7XpD%;;F3FvxQ6n!We-2Ir320q8BGo$DU@ zIev}zjn zT%H_0h%E(+fhpmdm-ra@(|&ZAK;3DZ8>zwwZ=bSNcwMp@pzj9<4pd z)j#u>t8c0PO(khvNo$D3Vb2xO(iGMlsgAbxI2YGHdd}T%|K~Ifx%yfEx%PWwb=lR_ z%d{jc@AF4mH?4kJ9^~7YG^f)0a=$Oq zu$KF_u$KF_u$KF_u$KG#QOn6a=1-1xPo8}K92ZTQdG0x`V9Ko7=evf}=AAX!HAQfi zYZqvzK#!g|>w@!LpP92K&vYjSIv~(e#Pi(n+2%TWj?oG8&!0TUojrg4(cRs2Xb(3F zdW>5D?dcXmd$~o>-fk)MSai_n%FhONvCgEpk`5 zWp1Tg<;t#eH#}4g3y2Kw| zHf#v|$g)AWk~g{1P0QD6n8~aS6yC!Yp*QA2jZ*YhVK}Td7;ir9O>?}}My)Q|yJFOO zC=RV-)bvWOw`=tPL_bg~JzJaKsMQ4<={IUR$MMF8`sLnF&+=-BInGpN)@8P4wqZXei%w8|do-fLtmt@@+{mnVtA^v%dzw~-h_WIK7Id{Dzd%ZGyzBPN^m_2V# z&q>4Vxo4UeNssI`mK-dd$mi!YH2+ec$=~s7 zdeZcU#TtiF`mUJ2?YqHursLbbt%vZBr8@H+srK>6Xt(>o&vnmHi=TDBch9(|-BWIh zd(u6@h++@lozcZE?tS-1_nv##ZDTz0ZTFV@17nnLx;Iz{?=|ZFEAD0Yl6%p;fL)92 z?n6J{U*H$`3;jI*Q(uOai;o$({FD3CeTMBmRw~2d#SZLU>~w#1U%6dwxBD8q7kk|| zbby?GgSAO)vwEy+V*8>1%NIqyfj{0Kz*uJ^f1rMa6^tgnsc(iIj274dY=s5Hw!WP| z*v7{g9qS>-NKfe{z2#WxBR`bmTNz6?_ikFsmU1iUH1(`l_exsg`X*)mxjjL)aSA1R?2DVrgh+>P?}#@Ir2X2tX<|- z;&sc_x2!4I<~3z&eE=6T;uS9lS}*+)ckuuuXV;PRN&VqJ=Ld@|@riZ(lpsM`%MYzX z+&U}qaZ5)0&%)x&*?zL0WcFVUD2aN<&ErmSm$+-(BkmUuj7#IO@uYZqJS$!pUm0H; zuZ&m4cf|L_55jc%aa?E+mgGI2a?Un^Jw)cXkDL7i(=L{Ex;CXQK;i4r|m0dOy9U-knV)% zFaA7|WKuFEna=ejhy5Gq>_GXWD47I~(G^=dJ{b*nlq_{Fmapgt*5OTR!$Ph#wbgr@;=3JjU$4vau@m@D45>Huesqe44oUok#u z8x^_7-DbDRxA!If5Z}Rf^qo97W8%SDPK*{}{c3?f$@la9{mK3mKY$$n|5b%=`aig; zu-V-z0vjF(CVU#0a4CPp4(1=(q0un@bTnLe1bFZ$(BLur@pA@<@OaSRGeLoW5n=Nb zD`8hgS7FJ1S+tygXdjFo0{2}PJrdcPz#F4S`5$XjRL5#)^b9KmXRUmK_A-i0Tx;t zVWG8&G?Nz6O4`W5(q0Y$KRgta@NjIk9#vyw^>&arEUe0%QZ5xBajT^Y)a)_YWNYYx zlRXJO_7u2S*3KywPM?<-RI=RF68nJH?%HF?&Mb)ji$Nbx}ji>#Tr!Q7mQZTeq`fa1>qn!;B zIDwwo40>S~(%<5XK`sKxTS%X4sa#FCE5JKf5N8m#b_*Vf(dSCMeQA+cn-7=8)>-h6w)ty)MxXJb`hk`fzUaSIRTSv z2i7K_Z(Raz))ka216I}toNEBcRcsV|YP3!OZE`ve#0E~M>nuXe0C&0&bZCJt#OFd? zq)YW`T8Nd%mg$Z7xKVEfAOTl%C^G-2)HJc*?wClrfrVnrWS({m<}JJZpj2h>v0Y4}!!$Lyvi^mA<=}dw!Dv zf51*U-(TV2doV*jun!9K!9cO9M?L9=MzHVD!}vSp2>wComDL%8vKqohm`;xd`5E{H z4W*Te{4_s}_GXTs1IBd?Efzgk_S9{ZpNQtMuU2bWYuZ^_Pg+?*)@om^btSYRCF!_( zTUtOzm|@h#5wx@gwA&N;&tWPpZsD-@+TBW~) zR`{1gs4Dnsf3->Uw7_2lEmz(L?)W;iQhyC)wP|RD{~(02|B0*phe7gjkk~&q)$+DU z^q%1QMR5IdaJ|nY`YUL;zYbbSZIY;x_^vl!)LV;hnYn|w+MREJR)SmFo!3Gu{5MAF zirTY22w$!LZmwcES0P0~{;Exi@YVzBg91c{}j0&Lq{Z-bVDZQEUrhgRyX&???j^HUA24w|xB|HCAH zdx+;hP3}Jml23xc+P?v<)PI9k=~!rmPJ&jWLCwzu=xUt^t<*E170g93*YVJD z=BAkIPoR}L4O)S=HP`9Ta-9KPtuvvOdJeQgXG5#?TxhwT2VJf7`*Hmpw8E{U&Xz_) zoaN{c_ei)J?yRm1cMn2K-3I7bXSr!9Jt(q2X(M#sk+hWE`2Vf|OAE&{24z+>SQj1b z*Bre$gkJhE`b_pe?Rdsft*>-=w3xkXbQ$}R^qZFQSD#r}?MBb(8vg2A8QsE+?5*s* Og7zwfTI$9`zx;34o!sdF literal 0 HcmV?d00001 diff --git a/frontend/src/assets/logos/logo.png b/frontend/src/assets/logos/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7bc4ce4e32b9315be9eceeb53e4a93d36d3b235f GIT binary patch literal 17693 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 HW%U08$bH7e literal 0 HcmV?d00001 diff --git a/frontend/src/assets/logos/logo_white.png b/frontend/src/assets/logos/logo_white.png new file mode 100644 index 0000000000000000000000000000000000000000..e6e4e5b5033110fc13335c28b7c9b175c1a24564 GIT binary patch literal 25477 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 IM6N<$f~&--9smFU literal 0 HcmV?d00001 diff --git a/frontend/src/components/Bills/BillModal.vue b/frontend/src/components/Bills/BillModal.vue new file mode 100644 index 0000000..8a8d388 --- /dev/null +++ b/frontend/src/components/Bills/BillModal.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/frontend/src/components/OrderItem/OrderItemList.vue b/frontend/src/components/OrderItem/OrderItemList.vue new file mode 100644 index 0000000..25ed9bf --- /dev/null +++ b/frontend/src/components/OrderItem/OrderItemList.vue @@ -0,0 +1,189 @@ + + + + + + + diff --git a/frontend/src/components/Orders/OrderCard.vue b/frontend/src/components/Orders/OrderCard.vue new file mode 100644 index 0000000..320ca44 --- /dev/null +++ b/frontend/src/components/Orders/OrderCard.vue @@ -0,0 +1,53 @@ + + + diff --git a/frontend/src/components/Orders/OrderSection.vue b/frontend/src/components/Orders/OrderSection.vue new file mode 100644 index 0000000..eb610c5 --- /dev/null +++ b/frontend/src/components/Orders/OrderSection.vue @@ -0,0 +1,60 @@ + + + diff --git a/frontend/src/components/Tables/OrderAmountChange.vue b/frontend/src/components/Tables/OrderAmountChange.vue new file mode 100644 index 0000000..0f8c7c3 --- /dev/null +++ b/frontend/src/components/Tables/OrderAmountChange.vue @@ -0,0 +1,25 @@ + + + diff --git a/frontend/src/components/Tables/OverviewPerType.vue b/frontend/src/components/Tables/OverviewPerType.vue new file mode 100644 index 0000000..e6d9249 --- /dev/null +++ b/frontend/src/components/Tables/OverviewPerType.vue @@ -0,0 +1,48 @@ + + + diff --git a/frontend/src/components/Tables/TableCard.vue b/frontend/src/components/Tables/TableCard.vue new file mode 100644 index 0000000..5469ffb --- /dev/null +++ b/frontend/src/components/Tables/TableCard.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/frontend/src/components/Tables/TableOrderCard.vue b/frontend/src/components/Tables/TableOrderCard.vue new file mode 100644 index 0000000..f3a023a --- /dev/null +++ b/frontend/src/components/Tables/TableOrderCard.vue @@ -0,0 +1,30 @@ + + + diff --git a/frontend/src/components/Tables/TableOverview.vue b/frontend/src/components/Tables/TableOverview.vue new file mode 100644 index 0000000..d2febf0 --- /dev/null +++ b/frontend/src/components/Tables/TableOverview.vue @@ -0,0 +1,172 @@ + + + + + + + diff --git a/frontend/src/components/UI/BaseCard.vue b/frontend/src/components/UI/BaseCard.vue new file mode 100644 index 0000000..c20687b --- /dev/null +++ b/frontend/src/components/UI/BaseCard.vue @@ -0,0 +1,50 @@ + + + + + diff --git a/frontend/src/components/UI/BaseItem.vue b/frontend/src/components/UI/BaseItem.vue new file mode 100644 index 0000000..d02eaca --- /dev/null +++ b/frontend/src/components/UI/BaseItem.vue @@ -0,0 +1,17 @@ + + + diff --git a/frontend/src/components/UI/BaseToolbar.vue b/frontend/src/components/UI/BaseToolbar.vue new file mode 100644 index 0000000..fffff73 --- /dev/null +++ b/frontend/src/components/UI/BaseToolbar.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/frontend/src/components/UI/BottomNavigation.vue b/frontend/src/components/UI/BottomNavigation.vue new file mode 100644 index 0000000..45bb2ac --- /dev/null +++ b/frontend/src/components/UI/BottomNavigation.vue @@ -0,0 +1,33 @@ + + + + + diff --git a/frontend/src/components/UI/SmallCard.vue b/frontend/src/components/UI/SmallCard.vue new file mode 100644 index 0000000..752f1bc --- /dev/null +++ b/frontend/src/components/UI/SmallCard.vue @@ -0,0 +1,60 @@ + + + diff --git a/frontend/src/components/UI/TheBadge.vue b/frontend/src/components/UI/TheBadge.vue new file mode 100644 index 0000000..cf5ff16 --- /dev/null +++ b/frontend/src/components/UI/TheBadge.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/frontend/src/components/UI/TheNavigation.vue b/frontend/src/components/UI/TheNavigation.vue new file mode 100644 index 0000000..1441626 --- /dev/null +++ b/frontend/src/components/UI/TheNavigation.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/frontend/src/components/UI/WaveSpinner.vue b/frontend/src/components/UI/WaveSpinner.vue new file mode 100644 index 0000000..065f417 --- /dev/null +++ b/frontend/src/components/UI/WaveSpinner.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/frontend/src/components/User/UserSettings.vue b/frontend/src/components/User/UserSettings.vue new file mode 100644 index 0000000..a22bd9b --- /dev/null +++ b/frontend/src/components/User/UserSettings.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/frontend/src/keys.ts b/frontend/src/keys.ts new file mode 100644 index 0000000..d6a4a21 --- /dev/null +++ b/frontend/src/keys.ts @@ -0,0 +1,5 @@ +import { InjectionKey, Ref } from "vue"; + +export const loading = Symbol() as InjectionKey>; +export const disabled = Symbol() as InjectionKey>; +export const visible = Symbol() as InjectionKey>; diff --git a/frontend/src/main.ts b/frontend/src/main.ts new file mode 100644 index 0000000..0020657 --- /dev/null +++ b/frontend/src/main.ts @@ -0,0 +1,138 @@ +import { createApp } from "vue"; +import { OpenAPI, UsersService } from "@/services/openapi"; +import App from "./App.vue"; +import router from "./router"; +import store from "./store"; +import PrimeVue from "primevue/config"; +import ConfirmationService from "primevue/confirmationservice"; +import ToastService from "primevue/toastservice"; +import { library } from "@fortawesome/fontawesome-svg-core"; +import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome"; +import { faMugHot } from "@fortawesome/free-solid-svg-icons"; +import { faChampagneGlasses } from "@fortawesome/free-solid-svg-icons"; +import { faCheese } from "@fortawesome/free-solid-svg-icons"; +library.add(faMugHot, faChampagneGlasses, faCheese); + +import "primevue/resources/primevue.min.css"; +import "primeicons/primeicons.css"; +import "primeflex/primeflex.css"; + +export const API_ENDPOINT_URL = window.origin + "/api"; +export const WEBSOCKET_ENDPOINT_URL = API_ENDPOINT_URL.replace("http", "ws") + "/orders/ws"; +OpenAPI.BASE = API_ENDPOINT_URL; + +async function getHealth() { + const response = await fetch(API_ENDPOINT_URL + "/health"); + const groups = response.headers.get("remote-groups")?.split(","); + store.commit("setGroups", groups); + const user = await UsersService.getUsers(response.headers.get("remote-name") || "Benutzer"); + store.commit("setUser", user); +} + +getHealth().then(() => { + const app = createApp(App); + app.use(store); + app.use(router); + app.use(PrimeVue, { + locale: { + startsWith: "Beginnt mit", + contains: "enthält", + notContains: "enthält nicht", + endsWith: "endet mit", + equals: "entspricht", + notEquals: "entspricht nicht", + noFilter: "Kein Filter", + lt: "Weniger als", + lte: "Weniger als oder gleich viel", + gt: "Mehr als", + gte: "Mehr als oder gleich viel", + dateIs: "Datum ist", + dateIsNot: "Datum ist nicht", + dateBefore: "Datum liegt vor", + dateAfter: "Datum liegt nach", + clear: "Löschen", + apply: "Anwenden", + matchAll: "Alle abgleichen", + matchAny: "Mit jedem abgleichen", + addRule: "Regel hinzufügen", + removeRule: "Regel entfernen", + accept: "Ja", + reject: "Nein", + choose: "Auswählen", + upload: "Hochladen", + cancel: "Abbrechen", + dayNames: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"], + dayNamesShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam"], + dayNamesMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], + monthNames: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], + monthNamesShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], + today: "Heute", + weekHeader: "Wo", + firstDayOfWeek: 1, + dateFormat: "dd.mm.yy", + weak: "Schwach", + medium: "Medium", + strong: "Stark", + passwordPrompt: "Passwort eingeben", + emptySearchMessage: "Keine Ergebnisse gefunden", + emptyMessage: "Keine verfügbaren Optionen", + aria: { + trueLabel: "True", + falseLabel: "False", + nullLabel: "Nicht ausgewählt", + star: "1 Stern", + stars: "{star} Sterne", + selectAll: "Alle Artikel ausgewählt", + unselectAll: "Alle Artikel nicht ausgewählt", + close: "Schließen", + previous: "Vorherig", + next: "Nächste", + navigation: "Navigation", + scrollTop: "Nach Oben scrollen", + moveTop: "Nach oben bewegen", + moveUp: "Aufsteigen", + moveDown: "Absteigen", + moveBottom: "Nach unten bewegen", + moveToTarget: "Move to Target", + moveToSource: "Move to Source", + moveAllToTarget: "Move All to Target", + moveAllToSource: "Move All to Source", + pageLabel: "{page}", + firstPageLabel: "Erste Seite", + lastPageLabel: "Letzte Seite", + nextPageLabel: "Nächste Seite", + prevPageLabel: "Vorherige Seite", + rowsPerPageLabel: "Reihen pro Seite", + jumpToPageDropdownLabel: "Jump to Page Dropdown", + jumpToPageInputLabel: "Jump to Page Input", + selectRow: "Reihe ausgewählt", + unselectRow: "Reihe abgewählt", + expandRow: "Row Expanded", + collapseRow: "Row Collapsed", + showFilterMenu: "Show Filter Menu", + hideFilterMenu: "Hide Filter Menu", + filterOperator: "Filter Operator", + filterConstraint: "Filter Constraint", + editRow: "Row Edit", + saveEdit: "Save Edit", + cancelEdit: "Cancel Edit", + listView: "List View", + gridView: "Grid View", + slide: "Slide", + slideNumber: "{slideNumber}", + zoomImage: "Zoom Image", + zoomIn: "Zoom In", + zoomOut: "Zoom Out", + rotateRight: "Rotate Right", + rotateLeft: "Rotate Left", + }, + }, + }); + app.use(ConfirmationService); + app.use(ToastService); + app.component("font-awesome-icon", FontAwesomeIcon); + + router.isReady().then(() => { + app.mount("#app"); + }); +}); diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts new file mode 100644 index 0000000..d336dae --- /dev/null +++ b/frontend/src/router/index.ts @@ -0,0 +1,33 @@ +import { createRouter, createWebHistory, RouteRecordRaw } from "vue-router"; +import TableView from "@/views/Tables.vue"; +import ItemView from "@/views/Items.vue"; +import OrderView from "@/views/Orders.vue"; +import BillView from "@/views/Bills.vue"; +import CheckoutView from "@/views/Checkout.vue"; +import TableDetail from "@/components/Tables/TableOverview.vue"; +import { useStore } from "vuex"; + +const routes: Array = [ + { path: "/tables", name: "Tables", component: TableView, meta: { needsAuth: true } }, + { path: "/tables/:id", name: "TableDetail", props: true, component: TableDetail, meta: { needsAuth: true } }, + { path: "/tables/:id/checkout", name: "Checkout", props: true, component: CheckoutView, meta: { needsAuth: true } }, + { path: "/orders", name: "Orders", component: OrderView, meta: { needsAuth: true } }, + { path: "/items/:id", name: "Items", props: true, component: ItemView, meta: { needsAuth: true } }, + { path: "/bills", name: "Bills", component: BillView, meta: { needsAuth: true } }, + { path: "/:pathMatch(.*)*", redirect: { name: "Tables" } }, +]; + +const router = createRouter({ + routes, + history: createWebHistory(process.env.BASE_URL), +}); + +router.beforeEach(async (to) => { + const store = useStore(); + if (to.name === "Bills") { + if (!store.getters.getGroups.includes("account")) return "/tables"; + } + return true; +}); + +export default router; diff --git a/frontend/src/shims-vue.d.ts b/frontend/src/shims-vue.d.ts new file mode 100644 index 0000000..3804a43 --- /dev/null +++ b/frontend/src/shims-vue.d.ts @@ -0,0 +1,6 @@ +/* eslint-disable */ +declare module '*.vue' { + import type { DefineComponent } from 'vue' + const component: DefineComponent<{}, {}, any> + export default component +} diff --git a/frontend/src/store/index.ts b/frontend/src/store/index.ts new file mode 100644 index 0000000..08f2cd8 --- /dev/null +++ b/frontend/src/store/index.ts @@ -0,0 +1,43 @@ +import { createStore } from "vuex"; +import tableStore from "@/store/tables"; +import orderItemStore from "@/store/orderItems"; +import { user_User } from "@/services/openapi"; + +interface AppStateModel { + user: user_User; + groups: string[]; +} +export default createStore({ + state: { + user: { + username: "", + show_cold_drinks: true, + show_hot_drinks: true, + }, + groups: [""], + }, + getters: { + getUser(state: AppStateModel) { + return state.user; + }, + getGroups(state: AppStateModel) { + return state.groups; + }, + getUsername(state: AppStateModel) { + return state.user.username; + }, + }, + mutations: { + setUser(state: AppStateModel, _user: user_User) { + state.user = _user; + }, + setGroups(state: AppStateModel, groups: string[]) { + state.groups = groups; + }, + }, + actions: {}, + modules: { + tableStore, + orderItemStore, + }, +}); diff --git a/frontend/src/store/orderItems/index.ts b/frontend/src/store/orderItems/index.ts new file mode 100644 index 0000000..f46fefb --- /dev/null +++ b/frontend/src/store/orderItems/index.ts @@ -0,0 +1,76 @@ +import { OrderItemsService, service_OrderItem, types_ItemType } from "@/services/openapi"; + +interface AppStateModel { + orderItems: Map; +} + +interface mutationOrderItems { + orderItems: service_OrderItem[]; + orderType: types_ItemType; +} + +const orderItemStore = { + state: () => ({ + orderItems: new Map(), + }), + getters: { + getOrderItems(state: AppStateModel) { + return state.orderItems; + }, + }, + mutations: { + setOrderItems(state: AppStateModel, payload: mutationOrderItems) { + state.orderItems.set(payload.orderType, payload.orderItems); + }, + pushOrderItem(state: AppStateModel, orderItem: service_OrderItem) { + const tempOrderItems = state.orderItems.get(orderItem.item_type); + tempOrderItems && tempOrderItems.push(orderItem); + }, + filterOrderItem(state: AppStateModel, orderItem: service_OrderItem) { + const tempOrderItems = state.orderItems.get(orderItem.item_type); + tempOrderItems && + state.orderItems.set( + orderItem.item_type, + tempOrderItems.filter((origItem: service_OrderItem) => origItem.id !== orderItem.id) + ); + }, + putOrderItem(state: AppStateModel, orderItem: service_OrderItem) { + const tempOrderItems = state.orderItems.get(orderItem.item_type); + tempOrderItems && + state.orderItems.set( + orderItem.item_type, + tempOrderItems.map((origItem: service_OrderItem) => (origItem.id === orderItem.id ? orderItem : origItem)) + ); + }, + }, + actions: { + // eslint-disable-next-line + async getAllOrderItems(context: any) { + await context.dispatch("getOrderItems", types_ItemType.Food); + await context.dispatch("getOrderItems", types_ItemType.ColdDrink); + await context.dispatch("getOrderItems", types_ItemType.HotDrink); + }, + // eslint-disable-next-line + async getOrderItems(context: any, orderType: types_ItemType) { + const orderTypeArray = context.getters.getOrderItems; + if (!orderTypeArray.get(orderType)) { + const orderItems: service_OrderItem[] | null = await OrderItemsService.getOrdersItems(orderType); + context.commit("setOrderItems", { orderItems, orderType }); + } + }, + // eslint-disable-next-line + addOrderItem(context: any, orderItem: service_OrderItem) { + context.commit("pushOrderItem", orderItem); + }, + // eslint-disable-next-line + deleteOrderItem(context: any, orderItem: service_OrderItem) { + context.commit("filterOrderItem", orderItem); + }, + // eslint-disable-next-line + updateOrderItem(context: any, orderItem: service_OrderItem) { + context.commit("putOrderItem", orderItem); + }, + }, +}; + +export default orderItemStore; diff --git a/frontend/src/store/tables/index.ts b/frontend/src/store/tables/index.ts new file mode 100644 index 0000000..031d243 --- /dev/null +++ b/frontend/src/store/tables/index.ts @@ -0,0 +1,47 @@ +import { service_Table, TablesService } from "@/services/openapi"; + +interface AppStateModel { + tables: service_Table[] | null; +} + +const tableStore = { + state: () => ({ + tables: null, + }), + getters: { + getTables(state: AppStateModel) { + return state.tables; + }, + getTablesCount(state: AppStateModel) { + return state.tables && state.tables.length; + }, + }, + mutations: { + setTables(state: AppStateModel, tables: service_Table[]) { + state.tables = tables; + }, + popTables(state: AppStateModel) { + state.tables && state.tables.pop(); + }, + pushTable(state: AppStateModel, table: service_Table) { + state.tables && state.tables.push(table); + }, + }, + actions: { + // eslint-disable-next-line + fetchTables(context: any) { + context.commit("setTables", null); + return TablesService.getTables(); + }, + // eslint-disable-next-line + removeLastTable(context: any) { + context.commit("popTables"); + }, + // eslint-disable-next-line + addTable(context: any, table: service_Table) { + context.commit("pushTable", table); + }, + }, +}; + +export default tableStore; diff --git a/frontend/src/utils.ts b/frontend/src/utils.ts new file mode 100644 index 0000000..7c38943 --- /dev/null +++ b/frontend/src/utils.ts @@ -0,0 +1,78 @@ +import { service_Bill, service_Order, types_ItemType } from "@/services/openapi"; + +export function convertToEur(value: number | undefined) { + const temp: number = value ? value : 0; + return temp.toLocaleString("de-DE", { style: "currency", currency: "EUR" }); +} + +export function detailedItemTypeString(type: types_ItemType | undefined) { + switch (type) { + case types_ItemType.Food: + return "Speisen"; + case types_ItemType.ColdDrink: + return "Kaltgetränke"; + default: + return "Heiß/Eiskaffee"; + } +} + +export function generalItemTypeString(type: types_ItemType[]) { + if (type.includes(types_ItemType.Food)) { + return "Speisen"; + } else { + return "Getränke"; + } +} + +export function detailedItemTypeIcon(type: types_ItemType | undefined) { + switch (type) { + case types_ItemType.Food: + return "fa-cheese"; + case types_ItemType.ColdDrink: + return "fa-champagne-glasses"; + case types_ItemType.HotDrink: + return "fa-mug-hot"; + default: + return ""; + } +} + +export function generalItemTypeIcon(type: types_ItemType[]) { + if (type.includes(types_ItemType.Food)) { + return "fa-cheese"; + } else { + return "fa-champagne-glasses"; + } +} + +export interface WebSocketMsg { + type: NotifierType; + payload: service_Order[]; +} + +export enum NotifierType { + Create, + Delete, + DeleteAll, +} + +import { ToastServiceMethods } from "primevue/toastservice"; +import moment from "moment"; + +const timeToLife = 3600; + +export function errorToast(toast: ToastServiceMethods, message: string) { + toast.removeAllGroups(); + toast.add({ severity: "error", summary: "Fehler", detail: message, group: "br", life: timeToLife }); +} + +export function getCurrentTimeSince(updated_at: number | undefined) { + return updated_at ? moment.unix(updated_at).fromNow() : ""; +} + +export function lessThan15SecondsAgo(updated_at: number | undefined) { + const updated = updated_at ? moment.unix(updated_at) : moment(); + return moment().diff(updated, "seconds") < 15; +} + +export const emptyBill: service_Bill = { table_id: 0, total: 0 }; diff --git a/frontend/src/views/Bills.vue b/frontend/src/views/Bills.vue new file mode 100644 index 0000000..f0152e2 --- /dev/null +++ b/frontend/src/views/Bills.vue @@ -0,0 +1,158 @@ + + + + + diff --git a/frontend/src/views/Checkout.vue b/frontend/src/views/Checkout.vue new file mode 100644 index 0000000..6b09703 --- /dev/null +++ b/frontend/src/views/Checkout.vue @@ -0,0 +1,195 @@ + + + + + diff --git a/frontend/src/views/Empty.vue b/frontend/src/views/Empty.vue new file mode 100644 index 0000000..398b3db --- /dev/null +++ b/frontend/src/views/Empty.vue @@ -0,0 +1,21 @@ + + + + + diff --git a/frontend/src/views/Items.vue b/frontend/src/views/Items.vue new file mode 100644 index 0000000..c732cd7 --- /dev/null +++ b/frontend/src/views/Items.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/frontend/src/views/Orders.vue b/frontend/src/views/Orders.vue new file mode 100644 index 0000000..897c74b --- /dev/null +++ b/frontend/src/views/Orders.vue @@ -0,0 +1,155 @@ + + + + + diff --git a/frontend/src/views/Tables.vue b/frontend/src/views/Tables.vue new file mode 100644 index 0000000..a6bf6b6 --- /dev/null +++ b/frontend/src/views/Tables.vue @@ -0,0 +1,50 @@ + + + + + diff --git a/frontend/tests/unit/example.spec.ts b/frontend/tests/unit/example.spec.ts new file mode 100644 index 0000000..0811d8a --- /dev/null +++ b/frontend/tests/unit/example.spec.ts @@ -0,0 +1,12 @@ +import { shallowMount } from "@vue/test-utils"; +import HelloWorld from "@/components/HelloWorld.vue"; + +describe("HelloWorld.vue", () => { + it("renders props.msg when passed", () => { + const msg = "new message"; + const wrapper = shallowMount(HelloWorld, { + props: { msg }, + }); + expect(wrapper.text()).toMatch(msg); + }); +}); diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json new file mode 100644 index 0000000..1b0f08c --- /dev/null +++ b/frontend/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "target": "esnext", + "module": "esnext", + "strict": true, + "jsx": "preserve", + "moduleResolution": "node", + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "useDefineForClassFields": true, + "sourceMap": true, + "baseUrl": ".", + "types": ["webpack-env", "jest"], + "paths": { + "@/*": ["src/*"] + }, + "lib": ["esnext", "dom", "dom.iterable", "scripthost"] + }, + "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "tests/**/*.ts", "tests/**/*.tsx"], + "exclude": ["node_modules"] +} diff --git a/frontend/vue.config.js b/frontend/vue.config.js new file mode 100644 index 0000000..e4e5ec1 --- /dev/null +++ b/frontend/vue.config.js @@ -0,0 +1,7 @@ +const { defineConfig } = require("@vue/cli-service"); +module.exports = defineConfig({ + transpileDependencies: true, + devServer: { + allowedHosts: 'all' + } +}); diff --git a/frontend/yarn.lock b/frontend/yarn.lock new file mode 100644 index 0000000..1287c96 --- /dev/null +++ b/frontend/yarn.lock @@ -0,0 +1,9160 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + +"@achrinza/node-ipc@^9.2.5": + version "9.2.7" + resolved "https://registry.yarnpkg.com/@achrinza/node-ipc/-/node-ipc-9.2.7.tgz#cc418f9218d24d9b87f32207e5d6e71c64e241f8" + integrity sha512-/EvNkqB4HNxPWCZASmgrjqG8gIdPOolD67LGASvGMp/FY5ne0rbvpYg5o9x8RmgjAl8KdmNQ4YlV1et9DYiW8g== + dependencies: + "@node-ipc/js-queue" "2.0.3" + event-pubsub "4.3.0" + js-message "1.0.7" + +"@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@apidevtools/json-schema-ref-parser@9.0.9": + version "9.0.9" + resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.0.9.tgz#d720f9256e3609621280584f2b47ae165359268b" + integrity sha512-GBD2Le9w2+lVFoc4vswGI/TjkNIZSVp7+9xPf+X3uidBfWnAeUWmquteSyt0+VCrhNMWj/FTABISQrD3Z/YA+w== + dependencies: + "@jsdevtools/ono" "^7.1.3" + "@types/json-schema" "^7.0.6" + call-me-maybe "^1.0.1" + js-yaml "^4.1.0" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.5", "@babel/code-frame@^7.8.3": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.5.tgz#234d98e1551960604f1246e6475891a570ad5658" + integrity sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ== + dependencies: + "@babel/highlight" "^7.22.5" + +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.5.tgz#b1f6c86a02d85d2dd3368a2b67c09add8cd0c255" + integrity sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA== + +"@babel/core@^7.1.0", "@babel/core@^7.11.6", "@babel/core@^7.12.16", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.8.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.5.tgz#d67d9747ecf26ee7ecd3ebae1ee22225fe902a89" + integrity sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.22.5" + "@babel/generator" "^7.22.5" + "@babel/helper-compilation-targets" "^7.22.5" + "@babel/helper-module-transforms" "^7.22.5" + "@babel/helpers" "^7.22.5" + "@babel/parser" "^7.22.5" + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.5" + "@babel/types" "^7.22.5" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.2" + semver "^6.3.0" + +"@babel/generator@^7.22.5", "@babel/generator@^7.7.2": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.5.tgz#1e7bf768688acfb05cf30b2369ef855e82d984f7" + integrity sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA== + dependencies: + "@babel/types" "^7.22.5" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz#a3f4758efdd0190d8927fcffd261755937c71878" + integrity sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-compilation-targets@^7.12.16", "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz#fc7319fc54c5e2fa14b2909cf3c5fd3046813e02" + integrity sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw== + dependencies: + "@babel/compat-data" "^7.22.5" + "@babel/helper-validator-option" "^7.22.5" + browserslist "^4.21.3" + lru-cache "^5.1.1" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.5.tgz#2192a1970ece4685fbff85b48da2c32fcb130b7c" + integrity sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-member-expression-to-functions" "^7.22.5" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.5" + semver "^6.3.0" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.5.tgz#bb2bf0debfe39b831986a4efbf4066586819c6e4" + integrity sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + regexpu-core "^5.3.1" + semver "^6.3.0" + +"@babel/helper-define-polyfill-provider@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.0.tgz#487053f103110f25b9755c5980e031e93ced24d8" + integrity sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg== + dependencies: + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-plugin-utils" "^7.16.7" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-environment-visitor@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz#f06dd41b7c1f44e1f8da6c4055b41ab3a09a7e98" + integrity sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q== + +"@babel/helper-function-name@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz#ede300828905bb15e582c037162f99d5183af1be" + integrity sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ== + dependencies: + "@babel/template" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-member-expression-to-functions@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz#0a7c56117cad3372fbf8d2fb4bf8f8d64a1e76b2" + integrity sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz#1a8f4c9f4027d23f520bd76b364d44434a72660c" + integrity sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-module-transforms@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz#0f65daa0716961b6e96b164034e737f60a80d2ef" + integrity sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-module-imports" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.5" + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/helper-optimise-call-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" + integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== + dependencies: + "@babel/types" "^7.22.5" + +"@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.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + +"@babel/helper-remap-async-to-generator@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz#14a38141a7bf2165ad38da61d61cf27b43015da2" + integrity sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-wrap-function" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/helper-replace-supers@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz#71bc5fb348856dea9fdc4eafd7e2e49f585145dc" + integrity sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg== + dependencies: + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-member-expression-to-functions" "^7.22.5" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz#88cf11050edb95ed08d596f7a044462189127a08" + integrity sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" + integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== + +"@babel/helper-validator-identifier@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz#9544ef6a33999343c8740fa51350f30eeaaaf193" + integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ== + +"@babel/helper-validator-option@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz#de52000a15a177413c8234fa3a8af4ee8102d0ac" + integrity sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw== + +"@babel/helper-wrap-function@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz#44d205af19ed8d872b4eefb0d2fa65f45eb34f06" + integrity sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw== + dependencies: + "@babel/helper-function-name" "^7.22.5" + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/helpers@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.5.tgz#74bb4373eb390d1ceed74a15ef97767e63120820" + integrity sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q== + dependencies: + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/highlight@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.5.tgz#aa6c05c5407a67ebce408162b7ede789b4d22031" + integrity sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw== + dependencies: + "@babel/helper-validator-identifier" "^7.22.5" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.15", "@babel/parser@^7.20.7", "@babel/parser@^7.21.3", "@babel/parser@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.5.tgz#721fd042f3ce1896238cf1b341c77eb7dee7dbea" + integrity sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz#87245a21cd69a73b0b81bcda98d443d6df08f05e" + integrity sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz#fef09f9499b1f1c930da8a0c419db42167d792ca" + integrity sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.22.5" + +"@babel/plugin-proposal-class-properties@^7.12.13": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-decorators@^7.12.13": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.5.tgz#dc8cdda048e5aea947efda920e030199806b868d" + integrity sha512-h8hlezQ4dl6ixodgXkH8lUfcD7x+WAuIqPUjwGoItynrXOAv4a4Tci1zA/qjzQjjcl0v3QpLdc2LM6ZACQuY7A== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.5" + "@babel/plugin-syntax-decorators" "^7.22.5" + +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== + +"@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" + integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-decorators@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.5.tgz#329fe2907c73de184033775637dbbc507f09116a" + integrity sha512-avpUOBS7IU6al8MmF1XpAyj9QYeLPuSDJI5D4pVMSMdL7xQokKqJPYQC67RCT0aCTashUXPiGwMJ0DEXXCEmMA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-import-assertions@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz#07d252e2aa0bc6125567f742cd58619cb14dce98" + integrity sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-attributes@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz#ab840248d834410b829f569f5262b9e517555ecb" + integrity sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.12.13", "@babel/plugin-syntax-jsx@^7.2.0", "@babel/plugin-syntax-jsx@^7.22.5", "@babel/plugin-syntax-jsx@^7.7.2": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918" + integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.7.2": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz#aac8d383b062c5072c647a31ef990c1d0af90272" + integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz#e5ba566d0c58a5b2ba2a8b795450641950b71958" + integrity sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-async-generator-functions@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.5.tgz#7336356d23380eda9a56314974f053a020dab0c3" + integrity sha512-gGOEvFzm3fWoyD5uZq7vVTD57pPJ3PczPUD/xCFGjzBpUosnklmXyKnGQbbbGs1NPNPskFex0j93yKbHt0cHyg== + dependencies: + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.5" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-transform-async-to-generator@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz#c7a85f44e46f8952f6d27fe57c2ed3cc084c3775" + integrity sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ== + dependencies: + "@babel/helper-module-imports" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.5" + +"@babel/plugin-transform-block-scoped-functions@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz#27978075bfaeb9fa586d3cb63a3d30c1de580024" + integrity sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-block-scoping@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz#8bfc793b3a4b2742c0983fadc1480d843ecea31b" + integrity sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-properties@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz#97a56e31ad8c9dc06a0b3710ce7803d5a48cca77" + integrity sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-static-block@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz#3e40c46f048403472d6f4183116d5e46b1bff5ba" + integrity sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-transform-classes@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.5.tgz#635d4e98da741fad814984639f4c0149eb0135e1" + integrity sha512-2edQhLfibpWpsVBx2n/GKOz6JdGQvLruZQfGr9l1qes2KQaWswjBzhQF7UDUZMNaMMQeYnQzxwOMPsbYF7wqPQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.5" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz#cd1e994bf9f316bd1c2dafcd02063ec261bb3869" + integrity sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/template" "^7.22.5" + +"@babel/plugin-transform-destructuring@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz#d3aca7438f6c26c78cdd0b0ba920a336001b27cc" + integrity sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-dotall-regex@^7.22.5", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz#dbb4f0e45766eb544e193fb00e65a1dd3b2a4165" + integrity sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-duplicate-keys@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz#b6e6428d9416f5f0bba19c70d1e6e7e0b88ab285" + integrity sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-dynamic-import@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz#d6908a8916a810468c4edff73b5b75bda6ad393e" + integrity sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-transform-exponentiation-operator@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz#402432ad544a1f9a480da865fda26be653e48f6a" + integrity sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-export-namespace-from@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz#57c41cb1d0613d22f548fddd8b288eedb9973a5b" + integrity sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-transform-for-of@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz#ab1b8a200a8f990137aff9a084f8de4099ab173f" + integrity sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-function-name@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz#935189af68b01898e0d6d99658db6b164205c143" + integrity sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg== + dependencies: + "@babel/helper-compilation-targets" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-json-strings@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz#14b64352fdf7e1f737eed68de1a1468bd2a77ec0" + integrity sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-transform-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz#e9341f4b5a167952576e23db8d435849b1dd7920" + integrity sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-logical-assignment-operators@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz#66ae5f068fd5a9a5dc570df16f56c2a8462a9d6c" + integrity sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-transform-member-expression-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz#4fcc9050eded981a468347dd374539ed3e058def" + integrity sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-amd@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz#4e045f55dcf98afd00f85691a68fc0780704f526" + integrity sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ== + dependencies: + "@babel/helper-module-transforms" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-commonjs@^7.15.0", "@babel/plugin-transform-modules-commonjs@^7.2.0", "@babel/plugin-transform-modules-commonjs@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz#7d9875908d19b8c0536085af7b053fd5bd651bfa" + integrity sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA== + dependencies: + "@babel/helper-module-transforms" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" + +"@babel/plugin-transform-modules-systemjs@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz#18c31410b5e579a0092638f95c896c2a98a5d496" + integrity sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ== + dependencies: + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-module-transforms" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.5" + +"@babel/plugin-transform-modules-umd@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz#4694ae40a87b1745e3775b6a7fe96400315d4f98" + integrity sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ== + dependencies: + "@babel/helper-module-transforms" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" + integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-new-target@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz#1b248acea54ce44ea06dfd37247ba089fcf9758d" + integrity sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-nullish-coalescing-operator@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz#f8872c65776e0b552e0849d7596cddd416c3e381" + integrity sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-transform-numeric-separator@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz#57226a2ed9e512b9b446517ab6fa2d17abb83f58" + integrity sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-transform-object-rest-spread@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz#9686dc3447df4753b0b2a2fae7e8bc33cdc1f2e1" + integrity sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ== + dependencies: + "@babel/compat-data" "^7.22.5" + "@babel/helper-compilation-targets" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.22.5" + +"@babel/plugin-transform-object-super@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz#794a8d2fcb5d0835af722173c1a9d704f44e218c" + integrity sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.5" + +"@babel/plugin-transform-optional-catch-binding@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz#842080be3076703be0eaf32ead6ac8174edee333" + integrity sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-transform-optional-chaining@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.5.tgz#1003762b9c14295501beb41be72426736bedd1e0" + integrity sha512-AconbMKOMkyG+xCng2JogMCDcqW8wedQAqpVIL4cOSescZ7+iW8utC6YDZLMCSUIReEA733gzRSaOSXMAt/4WQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-transform-parameters@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz#c3542dd3c39b42c8069936e48717a8d179d63a18" + integrity sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-private-methods@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz#21c8af791f76674420a147ae62e9935d790f8722" + integrity sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-private-property-in-object@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz#07a77f28cbb251546a43d175a1dda4cf3ef83e32" + integrity sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-transform-property-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz#b5ddabd73a4f7f26cd0e20f5db48290b88732766" + integrity sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-regenerator@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz#cd8a68b228a5f75fa01420e8cc2fc400f0fc32aa" + integrity sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + regenerator-transform "^0.15.1" + +"@babel/plugin-transform-reserved-words@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz#832cd35b81c287c4bcd09ce03e22199641f964fb" + integrity sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-runtime@^7.12.15": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.5.tgz#ca975fb5e260044473c8142e1b18b567d33c2a3b" + integrity sha512-bg4Wxd1FWeFx3daHFTWk1pkSWK/AyQuiyAoeZAOkAOUBjnZPH6KT7eMxouV47tQ6hl6ax2zyAWBdWZXbrvXlaw== + dependencies: + "@babel/helper-module-imports" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + babel-plugin-polyfill-corejs2 "^0.4.3" + babel-plugin-polyfill-corejs3 "^0.8.1" + babel-plugin-polyfill-regenerator "^0.5.0" + semver "^6.3.0" + +"@babel/plugin-transform-shorthand-properties@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz#6e277654be82b5559fc4b9f58088507c24f0c624" + integrity sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-spread@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz#6487fd29f229c95e284ba6c98d65eafb893fea6b" + integrity sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz#295aba1595bfc8197abd02eae5fc288c0deb26aa" + integrity sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-template-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz#8f38cf291e5f7a8e60e9f733193f0bcc10909bff" + integrity sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typeof-symbol@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz#5e2ba478da4b603af8673ff7c54f75a97b716b34" + integrity sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-escapes@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz#ce0c248522b1cb22c7c992d88301a5ead70e806c" + integrity sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-property-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz#098898f74d5c1e86660dc112057b2d11227f1c81" + integrity sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz#ce7e7bb3ef208c4ff67e02a22816656256d7a183" + integrity sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-sets-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz#77788060e511b708ffc7d42fdfbc5b37c3004e91" + integrity sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/preset-env@^7.12.16": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.22.5.tgz#3da66078b181f3d62512c51cf7014392c511504e" + integrity sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A== + dependencies: + "@babel/compat-data" "^7.22.5" + "@babel/helper-compilation-targets" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.22.5" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.22.5" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.22.5" + "@babel/plugin-syntax-import-attributes" "^7.22.5" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@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-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.22.5" + "@babel/plugin-transform-async-generator-functions" "^7.22.5" + "@babel/plugin-transform-async-to-generator" "^7.22.5" + "@babel/plugin-transform-block-scoped-functions" "^7.22.5" + "@babel/plugin-transform-block-scoping" "^7.22.5" + "@babel/plugin-transform-class-properties" "^7.22.5" + "@babel/plugin-transform-class-static-block" "^7.22.5" + "@babel/plugin-transform-classes" "^7.22.5" + "@babel/plugin-transform-computed-properties" "^7.22.5" + "@babel/plugin-transform-destructuring" "^7.22.5" + "@babel/plugin-transform-dotall-regex" "^7.22.5" + "@babel/plugin-transform-duplicate-keys" "^7.22.5" + "@babel/plugin-transform-dynamic-import" "^7.22.5" + "@babel/plugin-transform-exponentiation-operator" "^7.22.5" + "@babel/plugin-transform-export-namespace-from" "^7.22.5" + "@babel/plugin-transform-for-of" "^7.22.5" + "@babel/plugin-transform-function-name" "^7.22.5" + "@babel/plugin-transform-json-strings" "^7.22.5" + "@babel/plugin-transform-literals" "^7.22.5" + "@babel/plugin-transform-logical-assignment-operators" "^7.22.5" + "@babel/plugin-transform-member-expression-literals" "^7.22.5" + "@babel/plugin-transform-modules-amd" "^7.22.5" + "@babel/plugin-transform-modules-commonjs" "^7.22.5" + "@babel/plugin-transform-modules-systemjs" "^7.22.5" + "@babel/plugin-transform-modules-umd" "^7.22.5" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.22.5" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.22.5" + "@babel/plugin-transform-numeric-separator" "^7.22.5" + "@babel/plugin-transform-object-rest-spread" "^7.22.5" + "@babel/plugin-transform-object-super" "^7.22.5" + "@babel/plugin-transform-optional-catch-binding" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.22.5" + "@babel/plugin-transform-parameters" "^7.22.5" + "@babel/plugin-transform-private-methods" "^7.22.5" + "@babel/plugin-transform-private-property-in-object" "^7.22.5" + "@babel/plugin-transform-property-literals" "^7.22.5" + "@babel/plugin-transform-regenerator" "^7.22.5" + "@babel/plugin-transform-reserved-words" "^7.22.5" + "@babel/plugin-transform-shorthand-properties" "^7.22.5" + "@babel/plugin-transform-spread" "^7.22.5" + "@babel/plugin-transform-sticky-regex" "^7.22.5" + "@babel/plugin-transform-template-literals" "^7.22.5" + "@babel/plugin-transform-typeof-symbol" "^7.22.5" + "@babel/plugin-transform-unicode-escapes" "^7.22.5" + "@babel/plugin-transform-unicode-property-regex" "^7.22.5" + "@babel/plugin-transform-unicode-regex" "^7.22.5" + "@babel/plugin-transform-unicode-sets-regex" "^7.22.5" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.22.5" + babel-plugin-polyfill-corejs2 "^0.4.3" + babel-plugin-polyfill-corejs3 "^0.8.1" + babel-plugin-polyfill-regenerator "^0.5.0" + core-js-compat "^3.30.2" + semver "^6.3.0" + +"@babel/preset-modules@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" + integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== + 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/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + +"@babel/runtime@^7.12.13", "@babel/runtime@^7.8.4": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.5.tgz#8564dd588182ce0047d55d7a75e93921107b57ec" + integrity sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA== + dependencies: + regenerator-runtime "^0.13.11" + +"@babel/template@^7.22.5", "@babel/template@^7.3.3": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.5.tgz#0c8c4d944509875849bd0344ff0050756eefc6ec" + integrity sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw== + dependencies: + "@babel/code-frame" "^7.22.5" + "@babel/parser" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/traverse@^7.22.5", "@babel/traverse@^7.7.2": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.5.tgz#44bd276690db6f4940fdb84e1cb4abd2f729ccd1" + integrity sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ== + dependencies: + "@babel/code-frame" "^7.22.5" + "@babel/generator" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.5" + "@babel/parser" "^7.22.5" + "@babel/types" "^7.22.5" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.5.tgz#cd93eeaab025880a3a47ec881f4b096a5b786fbe" + integrity sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA== + dependencies: + "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.5" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@discoveryjs/json-ext@0.5.7": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.3.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.4.0": + version "4.5.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884" + integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ== + +"@eslint/eslintrc@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.0.tgz#82256f164cc9e0b59669efc19d57f8092706841d" + integrity sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.44.0": + version "8.44.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.44.0.tgz#961a5903c74139390478bdc808bcde3fc45ab7af" + integrity sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw== + +"@fortawesome/fontawesome-common-types@6.4.0": + version "6.4.0" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.4.0.tgz#88da2b70d6ca18aaa6ed3687832e11f39e80624b" + integrity sha512-HNii132xfomg5QVZw0HwXXpN22s7VBHQBv9CeOu9tfJnhsWQNd2lmTNi8CSrnw5B+5YOmzu1UoPAyxaXsJ6RgQ== + +"@fortawesome/fontawesome-svg-core@^6.1.1": + version "6.4.0" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.4.0.tgz#3727552eff9179506e9203d72feb5b1063c11a21" + integrity sha512-Bertv8xOiVELz5raB2FlXDPKt+m94MQ3JgDfsVbrqNpLU9+UE2E18GKjLKw+d3XbeYPqg1pzyQKGsrzbw+pPaw== + dependencies: + "@fortawesome/fontawesome-common-types" "6.4.0" + +"@fortawesome/free-solid-svg-icons@^6.1.1": + version "6.4.0" + resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.4.0.tgz#48c0e790847fa56299e2f26b82b39663b8ad7119" + integrity sha512-kutPeRGWm8V5dltFP1zGjQOEAzaLZj4StdQhWVZnfGFCvAPVvHh8qk5bRrU4KXnRRRNni5tKQI9PBAdI6MP8nQ== + dependencies: + "@fortawesome/fontawesome-common-types" "6.4.0" + +"@fortawesome/vue-fontawesome@^3.0.1": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.3.tgz#633e2998d11f7d4ed41f0d5ea461a22ec9b9d034" + integrity sha512-KCPHi9QemVXGMrfuwf3nNnNo129resAIQWut9QTAMXmXqL2ErABC6ohd2yY5Ipq0CLWNbKHk8TMdTXL/Zf3ZhA== + +"@hapi/hoek@^9.0.0": + version "9.3.0" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" + integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== + +"@hapi/topo@^5.0.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" + integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@humanwhocodes/config-array@^0.11.10": + version "0.11.10" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.10.tgz#5a3ffe32cc9306365fb3fd572596cd602d5e12d2" + integrity sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.1.tgz#260fe7239602fe5130a94f1aa386eff54b014bba" + integrity sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg== + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^27.5.1" + jest-util "^27.5.1" + slash "^3.0.0" + +"@jest/console@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.3.tgz#2030606ec03a18c31803b8a36382762e447655df" + integrity sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw== + dependencies: + "@jest/types" "^28.1.3" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^28.1.3" + jest-util "^28.1.3" + slash "^3.0.0" + +"@jest/console@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.5.0.tgz#593a6c5c0d3f75689835f1b3b4688c4f8544cb57" + integrity sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ== + dependencies: + "@jest/types" "^29.5.0" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^29.5.0" + jest-util "^29.5.0" + slash "^3.0.0" + +"@jest/core@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.5.1.tgz#267ac5f704e09dc52de2922cbf3af9edcd64b626" + integrity sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ== + dependencies: + "@jest/console" "^27.5.1" + "@jest/reporters" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.8.1" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^27.5.1" + jest-config "^27.5.1" + jest-haste-map "^27.5.1" + jest-message-util "^27.5.1" + jest-regex-util "^27.5.1" + jest-resolve "^27.5.1" + jest-resolve-dependencies "^27.5.1" + jest-runner "^27.5.1" + jest-runtime "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + jest-validate "^27.5.1" + jest-watcher "^27.5.1" + micromatch "^4.0.4" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/core@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.5.0.tgz#76674b96904484e8214614d17261cc491e5f1f03" + integrity sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ== + dependencies: + "@jest/console" "^29.5.0" + "@jest/reporters" "^29.5.0" + "@jest/test-result" "^29.5.0" + "@jest/transform" "^29.5.0" + "@jest/types" "^29.5.0" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + ci-info "^3.2.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^29.5.0" + jest-config "^29.5.0" + jest-haste-map "^29.5.0" + jest-message-util "^29.5.0" + jest-regex-util "^29.4.3" + jest-resolve "^29.5.0" + jest-resolve-dependencies "^29.5.0" + jest-runner "^29.5.0" + jest-runtime "^29.5.0" + jest-snapshot "^29.5.0" + jest-util "^29.5.0" + jest-validate "^29.5.0" + jest-watcher "^29.5.0" + micromatch "^4.0.4" + pretty-format "^29.5.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.1.tgz#d7425820511fe7158abbecc010140c3fd3be9c74" + integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA== + dependencies: + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + jest-mock "^27.5.1" + +"@jest/environment@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.5.0.tgz#9152d56317c1fdb1af389c46640ba74ef0bb4c65" + integrity sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ== + dependencies: + "@jest/fake-timers" "^29.5.0" + "@jest/types" "^29.5.0" + "@types/node" "*" + jest-mock "^29.5.0" + +"@jest/expect-utils@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.5.0.tgz#f74fad6b6e20f924582dc8ecbf2cb800fe43a036" + integrity sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg== + dependencies: + jest-get-type "^29.4.3" + +"@jest/expect@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.5.0.tgz#80952f5316b23c483fbca4363ce822af79c38fba" + integrity sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g== + dependencies: + expect "^29.5.0" + jest-snapshot "^29.5.0" + +"@jest/fake-timers@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz#76979745ce0579c8a94a4678af7a748eda8ada74" + integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ== + dependencies: + "@jest/types" "^27.5.1" + "@sinonjs/fake-timers" "^8.0.1" + "@types/node" "*" + jest-message-util "^27.5.1" + jest-mock "^27.5.1" + jest-util "^27.5.1" + +"@jest/fake-timers@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.5.0.tgz#d4d09ec3286b3d90c60bdcd66ed28d35f1b4dc2c" + integrity sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg== + dependencies: + "@jest/types" "^29.5.0" + "@sinonjs/fake-timers" "^10.0.2" + "@types/node" "*" + jest-message-util "^29.5.0" + jest-mock "^29.5.0" + jest-util "^29.5.0" + +"@jest/globals@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.1.tgz#7ac06ce57ab966566c7963431cef458434601b2b" + integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/types" "^27.5.1" + expect "^27.5.1" + +"@jest/globals@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.5.0.tgz#6166c0bfc374c58268677539d0c181f9c1833298" + integrity sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ== + dependencies: + "@jest/environment" "^29.5.0" + "@jest/expect" "^29.5.0" + "@jest/types" "^29.5.0" + jest-mock "^29.5.0" + +"@jest/reporters@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.1.tgz#ceda7be96170b03c923c37987b64015812ffec04" + integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^5.1.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-haste-map "^27.5.1" + jest-resolve "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^8.1.0" + +"@jest/reporters@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.5.0.tgz#985dfd91290cd78ddae4914ba7921bcbabe8ac9b" + integrity sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^29.5.0" + "@jest/test-result" "^29.5.0" + "@jest/transform" "^29.5.0" + "@jest/types" "^29.5.0" + "@jridgewell/trace-mapping" "^0.3.15" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^5.1.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^29.5.0" + jest-util "^29.5.0" + jest-worker "^29.5.0" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.1.3.tgz#ad8b86a66f11f33619e3d7e1dcddd7f2d40ff905" + integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg== + dependencies: + "@sinclair/typebox" "^0.24.1" + +"@jest/schemas@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.4.3.tgz#39cf1b8469afc40b6f5a2baaa146e332c4151788" + integrity sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg== + dependencies: + "@sinclair/typebox" "^0.25.16" + +"@jest/source-map@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf" + integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.9" + source-map "^0.6.0" + +"@jest/source-map@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.4.3.tgz#ff8d05cbfff875d4a791ab679b4333df47951d20" + integrity sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w== + dependencies: + "@jridgewell/trace-mapping" "^0.3.15" + callsites "^3.0.0" + graceful-fs "^4.2.9" + +"@jest/test-result@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.1.tgz#56a6585fa80f7cdab72b8c5fc2e871d03832f5bb" + integrity sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag== + dependencies: + "@jest/console" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-result@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-28.1.3.tgz#5eae945fd9f4b8fcfce74d239e6f725b6bf076c5" + integrity sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg== + dependencies: + "@jest/console" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-result@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.5.0.tgz#7c856a6ca84f45cc36926a4e9c6b57f1973f1408" + integrity sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ== + dependencies: + "@jest/console" "^29.5.0" + "@jest/types" "^29.5.0" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz#4057e0e9cea4439e544c6353c6affe58d095745b" + integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ== + dependencies: + "@jest/test-result" "^27.5.1" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-runtime "^27.5.1" + +"@jest/test-sequencer@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.5.0.tgz#34d7d82d3081abd523dbddc038a3ddcb9f6d3cc4" + integrity sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ== + dependencies: + "@jest/test-result" "^29.5.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.5.0" + slash "^3.0.0" + +"@jest/transform@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.1.tgz#6c3501dcc00c4c08915f292a600ece5ecfe1f409" + integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^27.5.1" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-regex-util "^27.5.1" + jest-util "^27.5.1" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/transform@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.5.0.tgz#cf9c872d0965f0cbd32f1458aa44a2b1988b00f9" + integrity sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^29.5.0" + "@jridgewell/trace-mapping" "^0.3.15" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.5.0" + jest-regex-util "^29.4.3" + jest-util "^29.5.0" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.2" + +"@jest/types@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" + integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^16.0.0" + chalk "^4.0.0" + +"@jest/types@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.3.tgz#b05de80996ff12512bc5ceb1d208285a7d11748b" + integrity sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ== + dependencies: + "@jest/schemas" "^28.1.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jest/types@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.5.0.tgz#f59ef9b031ced83047c67032700d8c807d6e1593" + integrity sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog== + dependencies: + "@jest/schemas" "^29.4.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/source-map@^0.3.3": + version "0.3.4" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.4.tgz#856a142864530d4059dda415659b48d37db2d556" + integrity sha512-KE/SxsDqNs3rrWwFHcRh15ZLVFrI0YoZtgAdIyIq9k5hUNmiWRXXThPomIxHuL20sLdgzbDFyvkUMna14bvtrw== + +"@jridgewell/sourcemap-codec@1.4.14": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.18" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" + integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== + dependencies: + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" + +"@jsdevtools/ono@^7.1.3": + version "7.1.3" + resolved "https://registry.yarnpkg.com/@jsdevtools/ono/-/ono-7.1.3.tgz#9df03bbd7c696a5c58885c34aa06da41c8543796" + integrity sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg== + +"@leichtgewicht/ip-codec@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" + integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== + +"@node-ipc/js-queue@2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@node-ipc/js-queue/-/js-queue-2.0.3.tgz#ac7fe33d766fa53e233ef8fedaf3443a01c5a4cd" + integrity sha512-fL1wpr8hhD5gT2dA1qifeVaoDFlQR5es8tFuKqjHX+kdOtdNHnxkVZbtIrR2rxnMFvehkjaZRNV2H/gPXlb0hw== + dependencies: + easy-stack "1.0.1" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@polka/url@^1.0.0-next.20": + version "1.0.0-next.21" + resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1" + integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g== + +"@sideway/address@^4.1.3": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0" + integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@sideway/formula@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f" + integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== + +"@sideway/pinpoint@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" + integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== + +"@sinclair/typebox@^0.24.1": + version "0.24.51" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f" + integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA== + +"@sinclair/typebox@^0.25.16": + version "0.25.24" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.24.tgz#8c7688559979f7079aacaf31aa881c3aa410b718" + integrity sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ== + +"@sinonjs/commons@^1.7.0": + version "1.8.6" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" + integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/commons@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.0.tgz#beb434fe875d965265e04722ccfc21df7f755d72" + integrity sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^10.0.2": + version "10.3.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== + dependencies: + "@sinonjs/commons" "^3.0.0" + +"@sinonjs/fake-timers@^8.0.1": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7" + integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@soda/friendly-errors-webpack-plugin@^1.8.0": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz#4d4fbb1108993aaa362116247c3d18188a2c6c85" + integrity sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg== + dependencies: + chalk "^3.0.0" + error-stack-parser "^2.0.6" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +"@soda/get-current-script@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@soda/get-current-script/-/get-current-script-1.0.2.tgz#a53515db25d8038374381b73af20bb4f2e508d87" + integrity sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w== + +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== + +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.1.tgz#916ecea274b0c776fec721e333e55762d3a9614b" + integrity sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw== + dependencies: + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.4" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" + integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.1" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.1.tgz#dd6f1d2411ae677dcb2db008c962598be31d6acf" + integrity sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg== + dependencies: + "@babel/types" "^7.20.7" + +"@types/body-parser@*": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" + integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/bonjour@^3.5.9": + version "3.5.10" + resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.10.tgz#0f6aadfe00ea414edc86f5d106357cda9701e275" + integrity sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw== + dependencies: + "@types/node" "*" + +"@types/connect-history-api-fallback@^1.3.5": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#9fd20b3974bdc2bcd4ac6567e2e0f6885cb2cf41" + integrity sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.35" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + dependencies: + "@types/node" "*" + +"@types/eslint-scope@^3.7.3": + version "3.7.4" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" + integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*", "@types/eslint@^7.29.0 || ^8.4.1": + version "8.40.2" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.40.2.tgz#2833bc112d809677864a4b0e7d1de4f04d7dac2d" + integrity sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" + integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== + +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": + version "4.17.35" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz#c95dd4424f0d32e525d23812aa8ab8e4d3906c4f" + integrity sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express@*", "@types/express@^4.17.13": + version "4.17.17" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.17.tgz#01d5437f6ef9cfa8668e616e13c2f2ac9a491ae4" + integrity sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.33" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/graceful-fs@^4.1.2", "@types/graceful-fs@^4.1.3": + version "4.1.6" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae" + integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw== + dependencies: + "@types/node" "*" + +"@types/html-minifier-terser@^6.0.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" + integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== + +"@types/http-errors@*": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.1.tgz#20172f9578b225f6c7da63446f56d4ce108d5a65" + integrity sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ== + +"@types/http-proxy@^1.17.8": + version "1.17.11" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.11.tgz#0ca21949a5588d55ac2b659b69035c84bd5da293" + integrity sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^27.0.1": + version "27.5.2" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.5.2.tgz#ec49d29d926500ffb9fd22b84262e862049c026c" + integrity sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA== + dependencies: + jest-matcher-utils "^27.0.0" + pretty-format "^27.0.0" + +"@types/jest@^29.5.2": + version "29.5.2" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.2.tgz#86b4afc86e3a8f3005b297ed8a72494f89e6395b" + integrity sha512-mSoZVJF5YzGVCk+FsDxzDuH7s+SCkzrgKZzf0Z0T2WudhBUPoF6ktoTPC4R0ZoCPCV5xUvuU6ias5NvxcBcMMg== + dependencies: + expect "^29.0.0" + pretty-format "^29.0.0" + +"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.12" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb" + integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== + +"@types/mime@*": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" + integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== + +"@types/mime@^1": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" + integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== + +"@types/minimist@^1.2.0": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" + integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== + +"@types/node@*": + version "20.3.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.3.3.tgz#329842940042d2b280897150e023e604d11657d6" + integrity sha512-wheIYdr4NYML61AjC8MKj/2jrR/kDQri/CIpVoZwldwhnIrD/j9jIU5bJ8yBKuB2VhpFV7Ab6G2XkBjv9r9Zzw== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/prettier@^2.1.5": + version "2.7.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" + integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== + +"@types/qs@*": + version "6.9.7" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" + integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + +"@types/range-parser@*": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" + integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + +"@types/retry@0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" + integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== + +"@types/semver@^7.3.12": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a" + integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw== + +"@types/send@*": + version "0.17.1" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.1.tgz#ed4932b8a2a805f1fe362a70f4e62d0ac994e301" + integrity sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/serve-index@^1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.1.tgz#1b5e85370a192c01ec6cec4735cf2917337a6278" + integrity sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg== + dependencies: + "@types/express" "*" + +"@types/serve-static@*", "@types/serve-static@^1.13.10": + version "1.15.2" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.2.tgz#3e5419ecd1e40e7405d34093f10befb43f63381a" + integrity sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw== + dependencies: + "@types/http-errors" "*" + "@types/mime" "*" + "@types/node" "*" + +"@types/sockjs@^0.3.33": + version "0.3.33" + resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.33.tgz#570d3a0b99ac995360e3136fd6045113b1bd236f" + integrity sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw== + dependencies: + "@types/node" "*" + +"@types/stack-utils@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + +"@types/strip-bom@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2" + integrity sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ== + +"@types/strip-json-comments@0.0.30": + version "0.0.30" + resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1" + integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ== + +"@types/webpack-env@^1.15.2": + version "1.18.1" + resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.18.1.tgz#49699bb508961e14a3bfb68c78cd87b296889d1d" + integrity sha512-D0HJET2/UY6k9L6y3f5BL+IDxZmPkYmPT4+qBrRdmRLYRuV0qNKizMgTvYxXZYn+36zjPeoDZAEYBCM6XB+gww== + +"@types/ws@^8.5.5": + version "8.5.5" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.5.tgz#af587964aa06682702ee6dcbc7be41a80e4b28eb" + integrity sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg== + dependencies: + "@types/node" "*" + +"@types/yargs-parser@*": + version "21.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" + integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + +"@types/yargs@^16.0.0": + version "16.0.5" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.5.tgz#12cc86393985735a283e387936398c2f9e5f88e3" + integrity sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ== + dependencies: + "@types/yargs-parser" "*" + +"@types/yargs@^17.0.8": + version "17.0.24" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.24.tgz#b3ef8d50ad4aa6aecf6ddc97c580a00f5aa11902" + integrity sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^5.4.0", "@typescript-eslint/eslint-plugin@^5.59.1": + version "5.60.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.60.1.tgz#81382d6ecb92b8dda70e91f9035611cb2fecd1c3" + integrity sha512-KSWsVvsJsLJv3c4e73y/Bzt7OpqMCADUO846bHcuWYSYM19bldbAeDv7dYyV0jwkbMfJ2XdlzwjhXtuD7OY6bw== + dependencies: + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.60.1" + "@typescript-eslint/type-utils" "5.60.1" + "@typescript-eslint/utils" "5.60.1" + debug "^4.3.4" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + natural-compare-lite "^1.4.0" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/parser@^5.4.0", "@typescript-eslint/parser@^5.59.1": + version "5.60.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.60.1.tgz#0f2f58209c0862a73e3d5a56099abfdfa21d0fd3" + integrity sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q== + dependencies: + "@typescript-eslint/scope-manager" "5.60.1" + "@typescript-eslint/types" "5.60.1" + "@typescript-eslint/typescript-estree" "5.60.1" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.60.1": + version "5.60.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.60.1.tgz#35abdb47f500c68c08f2f2b4f22c7c79472854bb" + integrity sha512-Dn/LnN7fEoRD+KspEOV0xDMynEmR3iSHdgNsarlXNLGGtcUok8L4N71dxUgt3YvlO8si7E+BJ5Fe3wb5yUw7DQ== + dependencies: + "@typescript-eslint/types" "5.60.1" + "@typescript-eslint/visitor-keys" "5.60.1" + +"@typescript-eslint/type-utils@5.60.1": + version "5.60.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.60.1.tgz#17770540e98d65ab4730c7aac618003f702893f4" + integrity sha512-vN6UztYqIu05nu7JqwQGzQKUJctzs3/Hg7E2Yx8rz9J+4LgtIDFWjjl1gm3pycH0P3mHAcEUBd23LVgfrsTR8A== + dependencies: + "@typescript-eslint/typescript-estree" "5.60.1" + "@typescript-eslint/utils" "5.60.1" + debug "^4.3.4" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.60.1": + version "5.60.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.60.1.tgz#a17473910f6b8d388ea83c9d7051af89c4eb7561" + integrity sha512-zDcDx5fccU8BA0IDZc71bAtYIcG9PowaOwaD8rjYbqwK7dpe/UMQl3inJ4UtUK42nOCT41jTSCwg76E62JpMcg== + +"@typescript-eslint/typescript-estree@5.60.1": + version "5.60.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.1.tgz#8c71824b7165b64d5ebd7aa42968899525959834" + integrity sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw== + dependencies: + "@typescript-eslint/types" "5.60.1" + "@typescript-eslint/visitor-keys" "5.60.1" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.60.1": + version "5.60.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.60.1.tgz#6861ebedbefba1ac85482d2bdef6f2ff1eb65b80" + integrity sha512-tiJ7FFdFQOWssFa3gqb94Ilexyw0JVxj6vBzaSpfN/8IhoKkDuSAenUKvsSHw2A/TMpJb26izIszTXaqygkvpQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.60.1" + "@typescript-eslint/types" "5.60.1" + "@typescript-eslint/typescript-estree" "5.60.1" + eslint-scope "^5.1.1" + semver "^7.3.7" + +"@typescript-eslint/visitor-keys@5.60.1": + version "5.60.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.1.tgz#19a877358bf96318ec35d90bfe6bd1445cce9434" + integrity sha512-xEYIxKcultP6E/RMKqube11pGjXH1DCo60mQoWhVYyKfLkwbIVVjYxmOenNMxILx0TjCujPTjjnTIVzm09TXIw== + dependencies: + "@typescript-eslint/types" "5.60.1" + eslint-visitor-keys "^3.3.0" + +"@vue/babel-helper-vue-jsx-merge-props@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz#8d53a1e21347db8edbe54d339902583176de09f2" + integrity sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA== + +"@vue/babel-helper-vue-transform-on@^1.1.5": + version "1.1.5" + resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.1.5.tgz#a976486b21e108e545524fe41ffe3fc9bbc28c7f" + integrity sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w== + +"@vue/babel-plugin-jsx@^1.0.3": + version "1.1.5" + resolved "https://registry.yarnpkg.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.5.tgz#5088bae7dbb83531d94df3742ff650c12fd54973" + integrity sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g== + dependencies: + "@babel/helper-module-imports" "^7.22.5" + "@babel/plugin-syntax-jsx" "^7.22.5" + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.5" + "@babel/types" "^7.22.5" + "@vue/babel-helper-vue-transform-on" "^1.1.5" + camelcase "^6.3.0" + html-tags "^3.3.1" + svg-tags "^1.0.0" + +"@vue/babel-plugin-transform-vue-jsx@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz#4d4b3d46a39ea62b7467dd6e26ce47f7ceafb2fe" + integrity sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-helper-vue-jsx-merge-props" "^1.4.0" + html-tags "^2.0.0" + lodash.kebabcase "^4.1.1" + svg-tags "^1.0.0" + +"@vue/babel-preset-app@^5.0.8": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/babel-preset-app/-/babel-preset-app-5.0.8.tgz#ce38f76314f5265d62a89756ef264c21f1d351a1" + integrity sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg== + dependencies: + "@babel/core" "^7.12.16" + "@babel/helper-compilation-targets" "^7.12.16" + "@babel/helper-module-imports" "^7.12.13" + "@babel/plugin-proposal-class-properties" "^7.12.13" + "@babel/plugin-proposal-decorators" "^7.12.13" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.12.13" + "@babel/plugin-transform-runtime" "^7.12.15" + "@babel/preset-env" "^7.12.16" + "@babel/runtime" "^7.12.13" + "@vue/babel-plugin-jsx" "^1.0.3" + "@vue/babel-preset-jsx" "^1.1.2" + babel-plugin-dynamic-import-node "^2.3.3" + core-js "^3.8.3" + core-js-compat "^3.8.3" + semver "^7.3.4" + +"@vue/babel-preset-jsx@^1.1.2": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz#f4914ba314235ab097bc4372ed67473c0780bfcc" + integrity sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA== + dependencies: + "@vue/babel-helper-vue-jsx-merge-props" "^1.4.0" + "@vue/babel-plugin-transform-vue-jsx" "^1.4.0" + "@vue/babel-sugar-composition-api-inject-h" "^1.4.0" + "@vue/babel-sugar-composition-api-render-instance" "^1.4.0" + "@vue/babel-sugar-functional-vue" "^1.4.0" + "@vue/babel-sugar-inject-h" "^1.4.0" + "@vue/babel-sugar-v-model" "^1.4.0" + "@vue/babel-sugar-v-on" "^1.4.0" + +"@vue/babel-sugar-composition-api-inject-h@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz#187e1389f8871d89ece743bb50aed713be9d6c85" + integrity sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-composition-api-render-instance@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz#2c1607ae6dffdab47e785bc01fa45ba756e992c1" + integrity sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-functional-vue@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz#60da31068567082287c7337c66ef4df04e0a1029" + integrity sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-inject-h@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz#bf39aa6631fb1d0399b1c49b4c59e1c8899b4363" + integrity sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-v-model@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz#a51d986609f430c4f70ada3a93cc560a2970f720" + integrity sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-helper-vue-jsx-merge-props" "^1.4.0" + "@vue/babel-plugin-transform-vue-jsx" "^1.4.0" + camelcase "^5.0.0" + html-tags "^2.0.0" + svg-tags "^1.0.0" + +"@vue/babel-sugar-v-on@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz#43b7106a9672d8cbeefc0eb8afe1d376edc6166e" + integrity sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-plugin-transform-vue-jsx" "^1.4.0" + camelcase "^5.0.0" + +"@vue/cli-overlay@^5.0.8": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/cli-overlay/-/cli-overlay-5.0.8.tgz#b61477acdc43bbd42fce6326d228471201ecdcdd" + integrity sha512-KmtievE/B4kcXp6SuM2gzsnSd8WebkQpg3XaB6GmFh1BJGRqa1UiW9up7L/Q67uOdTigHxr5Ar2lZms4RcDjwQ== + +"@vue/cli-plugin-babel@~5.0.0": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.8.tgz#54f9a07900f29baff54803dcfa916c602894feb7" + integrity sha512-a4qqkml3FAJ3auqB2kN2EMPocb/iu0ykeELwed+9B1c1nQ1HKgslKMHMPavYx3Cd/QAx2mBD4hwKBqZXEI/CsQ== + dependencies: + "@babel/core" "^7.12.16" + "@vue/babel-preset-app" "^5.0.8" + "@vue/cli-shared-utils" "^5.0.8" + babel-loader "^8.2.2" + thread-loader "^3.0.0" + webpack "^5.54.0" + +"@vue/cli-plugin-eslint@~5.0.0": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.8.tgz#754939265c2c5b746fa36c7d7705a89138e193bf" + integrity sha512-d11+I5ONYaAPW1KyZj9GlrV/E6HZePq5L5eAF5GgoVdu6sxr6bDgEoxzhcS1Pk2eh8rn1MxG/FyyR+eCBj/CNg== + dependencies: + "@vue/cli-shared-utils" "^5.0.8" + eslint-webpack-plugin "^3.1.0" + globby "^11.0.2" + webpack "^5.54.0" + yorkie "^2.0.0" + +"@vue/cli-plugin-router@^5.0.8", "@vue/cli-plugin-router@~5.0.0": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-router/-/cli-plugin-router-5.0.8.tgz#a113ec626f3d4216d20496c42d35533bce9e889f" + integrity sha512-Gmv4dsGdAsWPqVijz3Ux2OS2HkMrWi1ENj2cYL75nUeL+Xj5HEstSqdtfZ0b1q9NCce+BFB6QnHfTBXc/fCvMg== + dependencies: + "@vue/cli-shared-utils" "^5.0.8" + +"@vue/cli-plugin-typescript@~5.0.0": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-typescript/-/cli-plugin-typescript-5.0.8.tgz#dd3d2b3a58f3f93359319958dc0f58a4861a33a7" + integrity sha512-JKJOwzJshBqsmp4yLBexwVMebOZ4VGJgbnYvmHVxasJOStF2RxwyW28ZF+zIvASGdat4sAUuo/3mAQyVhm7JHg== + dependencies: + "@babel/core" "^7.12.16" + "@types/webpack-env" "^1.15.2" + "@vue/cli-shared-utils" "^5.0.8" + babel-loader "^8.2.2" + fork-ts-checker-webpack-plugin "^6.4.0" + globby "^11.0.2" + thread-loader "^3.0.0" + ts-loader "^9.2.5" + webpack "^5.54.0" + +"@vue/cli-plugin-unit-jest@~5.0.0": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-unit-jest/-/cli-plugin-unit-jest-5.0.8.tgz#527da4b94a7957e29e771752b0b4f6bcede81b07" + integrity sha512-8aTmXUxEUdhJEjMHHoHI1wgi2SHzVRgCQQWIn5lgCAV2xJnXng09+wv8Ap0dhO4Z5vOOA/7xnubMQ9pDLqiskg== + dependencies: + "@babel/core" "^7.12.16" + "@babel/plugin-transform-modules-commonjs" "^7.15.0" + "@types/jest" "^27.0.1" + "@vue/cli-shared-utils" "^5.0.8" + babel-jest "^27.1.0" + deepmerge "^4.2.2" + jest "^27.1.0" + jest-serializer-vue "^2.0.2" + jest-transform-stub "^2.0.0" + jest-watch-typeahead "^1.0.0" + +"@vue/cli-plugin-vuex@^5.0.8", "@vue/cli-plugin-vuex@~5.0.0": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.8.tgz#0d4cb3020f9102bea9288d750729dde176c66ccd" + integrity sha512-HSYWPqrunRE5ZZs8kVwiY6oWcn95qf/OQabwLfprhdpFWAGtLStShjsGED2aDpSSeGAskQETrtR/5h7VqgIlBA== + +"@vue/cli-service@~5.0.0": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/cli-service/-/cli-service-5.0.8.tgz#cf3f6f1b7bf0fba9cdab86b6bec4f9897f982dac" + integrity sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw== + dependencies: + "@babel/helper-compilation-targets" "^7.12.16" + "@soda/friendly-errors-webpack-plugin" "^1.8.0" + "@soda/get-current-script" "^1.0.2" + "@types/minimist" "^1.2.0" + "@vue/cli-overlay" "^5.0.8" + "@vue/cli-plugin-router" "^5.0.8" + "@vue/cli-plugin-vuex" "^5.0.8" + "@vue/cli-shared-utils" "^5.0.8" + "@vue/component-compiler-utils" "^3.3.0" + "@vue/vue-loader-v15" "npm:vue-loader@^15.9.7" + "@vue/web-component-wrapper" "^1.3.0" + acorn "^8.0.5" + acorn-walk "^8.0.2" + address "^1.1.2" + autoprefixer "^10.2.4" + browserslist "^4.16.3" + case-sensitive-paths-webpack-plugin "^2.3.0" + cli-highlight "^2.1.10" + clipboardy "^2.3.0" + cliui "^7.0.4" + copy-webpack-plugin "^9.0.1" + css-loader "^6.5.0" + css-minimizer-webpack-plugin "^3.0.2" + cssnano "^5.0.0" + debug "^4.1.1" + default-gateway "^6.0.3" + dotenv "^10.0.0" + dotenv-expand "^5.1.0" + fs-extra "^9.1.0" + globby "^11.0.2" + hash-sum "^2.0.0" + html-webpack-plugin "^5.1.0" + is-file-esm "^1.0.0" + launch-editor-middleware "^2.2.1" + lodash.defaultsdeep "^4.6.1" + lodash.mapvalues "^4.6.0" + mini-css-extract-plugin "^2.5.3" + minimist "^1.2.5" + module-alias "^2.2.2" + portfinder "^1.0.26" + postcss "^8.2.6" + postcss-loader "^6.1.1" + progress-webpack-plugin "^1.0.12" + ssri "^8.0.1" + terser-webpack-plugin "^5.1.1" + thread-loader "^3.0.0" + vue-loader "^17.0.0" + vue-style-loader "^4.1.3" + webpack "^5.54.0" + webpack-bundle-analyzer "^4.4.0" + webpack-chain "^6.5.1" + webpack-dev-server "^4.7.3" + webpack-merge "^5.7.3" + webpack-virtual-modules "^0.4.2" + whatwg-fetch "^3.6.2" + +"@vue/cli-shared-utils@^5.0.8": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/cli-shared-utils/-/cli-shared-utils-5.0.8.tgz#75fc96528eba2b1c7e33cb7e989a984ddef99c8a" + integrity sha512-uK2YB7bBVuQhjOJF+O52P9yFMXeJVj7ozqJkwYE9PlMHL1LMHjtCYm4cSdOebuPzyP+/9p0BimM/OqxsevIopQ== + dependencies: + "@achrinza/node-ipc" "^9.2.5" + chalk "^4.1.2" + execa "^1.0.0" + joi "^17.4.0" + launch-editor "^2.2.1" + lru-cache "^6.0.0" + node-fetch "^2.6.7" + open "^8.0.2" + ora "^5.3.0" + read-pkg "^5.1.1" + semver "^7.3.4" + strip-ansi "^6.0.0" + +"@vue/compiler-core@3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.3.4.tgz#7fbf591c1c19e1acd28ffd284526e98b4f581128" + integrity sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g== + dependencies: + "@babel/parser" "^7.21.3" + "@vue/shared" "3.3.4" + estree-walker "^2.0.2" + source-map-js "^1.0.2" + +"@vue/compiler-dom@3.3.4", "@vue/compiler-dom@^3.0.1": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz#f56e09b5f4d7dc350f981784de9713d823341151" + integrity sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w== + dependencies: + "@vue/compiler-core" "3.3.4" + "@vue/shared" "3.3.4" + +"@vue/compiler-sfc@3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz#b19d942c71938893535b46226d602720593001df" + integrity sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ== + dependencies: + "@babel/parser" "^7.20.15" + "@vue/compiler-core" "3.3.4" + "@vue/compiler-dom" "3.3.4" + "@vue/compiler-ssr" "3.3.4" + "@vue/reactivity-transform" "3.3.4" + "@vue/shared" "3.3.4" + estree-walker "^2.0.2" + magic-string "^0.30.0" + postcss "^8.1.10" + source-map-js "^1.0.2" + +"@vue/compiler-ssr@3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz#9d1379abffa4f2b0cd844174ceec4a9721138777" + integrity sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ== + dependencies: + "@vue/compiler-dom" "3.3.4" + "@vue/shared" "3.3.4" + +"@vue/component-compiler-utils@^3.1.0", "@vue/component-compiler-utils@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz#f9f5fb53464b0c37b2c8d2f3fbfe44df60f61dc9" + integrity sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ== + dependencies: + consolidate "^0.15.1" + hash-sum "^1.0.2" + lru-cache "^4.1.2" + merge-source-map "^1.1.0" + postcss "^7.0.36" + postcss-selector-parser "^6.0.2" + source-map "~0.6.1" + vue-template-es2015-compiler "^1.9.0" + optionalDependencies: + prettier "^1.18.2 || ^2.0.0" + +"@vue/devtools-api@^6.0.0-beta.11", "@vue/devtools-api@^6.5.0": + version "6.5.0" + resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.5.0.tgz#98b99425edee70b4c992692628fa1ea2c1e57d07" + integrity sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q== + +"@vue/eslint-config-typescript@^11.0.3": + version "11.0.3" + resolved "https://registry.yarnpkg.com/@vue/eslint-config-typescript/-/eslint-config-typescript-11.0.3.tgz#c720efa657d102cd2945bc54b4a79f35d57f6307" + integrity sha512-dkt6W0PX6H/4Xuxg/BlFj5xHvksjpSlVjtkQCpaYJBIEuKj2hOVU7r+TIe+ysCwRYFz/lGqvklntRkCAibsbPw== + dependencies: + "@typescript-eslint/eslint-plugin" "^5.59.1" + "@typescript-eslint/parser" "^5.59.1" + vue-eslint-parser "^9.1.1" + +"@vue/reactivity-transform@3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz#52908476e34d6a65c6c21cd2722d41ed8ae51929" + integrity sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw== + dependencies: + "@babel/parser" "^7.20.15" + "@vue/compiler-core" "3.3.4" + "@vue/shared" "3.3.4" + estree-walker "^2.0.2" + magic-string "^0.30.0" + +"@vue/reactivity@3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.3.4.tgz#a27a29c6cd17faba5a0e99fbb86ee951653e2253" + integrity sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ== + dependencies: + "@vue/shared" "3.3.4" + +"@vue/runtime-core@3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.3.4.tgz#4bb33872bbb583721b340f3088888394195967d1" + integrity sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA== + dependencies: + "@vue/reactivity" "3.3.4" + "@vue/shared" "3.3.4" + +"@vue/runtime-dom@3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz#992f2579d0ed6ce961f47bbe9bfe4b6791251566" + integrity sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ== + dependencies: + "@vue/runtime-core" "3.3.4" + "@vue/shared" "3.3.4" + csstype "^3.1.1" + +"@vue/server-renderer@3.3.4", "@vue/server-renderer@^3.0.1": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.3.4.tgz#ea46594b795d1536f29bc592dd0f6655f7ea4c4c" + integrity sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ== + dependencies: + "@vue/compiler-ssr" "3.3.4" + "@vue/shared" "3.3.4" + +"@vue/shared@3.3.4": + version "3.3.4" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.4.tgz#06e83c5027f464eef861c329be81454bc8b70780" + integrity sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ== + +"@vue/test-utils@^2.0.0-0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-2.4.0.tgz#7bc7fb2d0af1ad88e4e9ebd04b09545ce0eaceec" + integrity sha512-BKB9aj1yky63/I3IwSr1FjUeHYsKXI7D6S9F378AHt7a5vC0dLkOBtSsFXoRGC/7BfHmiB9HRhT+i9xrUHoAKw== + dependencies: + js-beautify "1.14.6" + vue-component-type-helpers "1.6.5" + +"@vue/vue-loader-v15@npm:vue-loader@^15.9.7": + version "15.10.1" + resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.10.1.tgz#c451c4cd05a911aae7b5dbbbc09fb913fb3cca18" + integrity sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA== + dependencies: + "@vue/component-compiler-utils" "^3.1.0" + hash-sum "^1.0.2" + loader-utils "^1.1.0" + vue-hot-reload-api "^2.3.0" + vue-style-loader "^4.1.0" + +"@vue/vue3-jest@^29.2.4": + version "29.2.4" + resolved "https://registry.yarnpkg.com/@vue/vue3-jest/-/vue3-jest-29.2.4.tgz#6f25d7e03f4ee0c41a6d2b3a2a5995a8be645fde" + integrity sha512-mS3sJR4p/qTZKsNdws9DBDJHm7NQDco0tWal89WhA41oosO2VvnrJvDJ1gZaEz5A/OXDj1ouDpEczkSQP4o8eQ== + dependencies: + "@babel/plugin-transform-modules-commonjs" "^7.2.0" + chalk "^2.1.0" + convert-source-map "^1.6.0" + css-tree "^2.0.1" + source-map "0.5.6" + tsconfig "^7.0.0" + +"@vue/web-component-wrapper@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz#b6b40a7625429d2bd7c2281ddba601ed05dc7f1a" + integrity sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA== + +"@vuelidate/core@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@vuelidate/core/-/core-2.0.3.tgz#40468c5ed15b72bde880a026b0699c2f0f1ecede" + integrity sha512-AN6l7KF7+mEfyWG0doT96z+47ljwPpZfi9/JrNMkOGLFv27XVZvKzRLXlmDPQjPl/wOB1GNnHuc54jlCLRNqGA== + dependencies: + vue-demi "^0.13.11" + +"@vuelidate/validators@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@vuelidate/validators/-/validators-2.0.3.tgz#f55d168adeb91ac25a3045c942a2354516226667" + integrity sha512-P4WtmczPRbwmVihKlSAs3pIjIil4xjHW+Qoi58MCw7vnKuYr/IHarOFkwp0K8eIIqiQqY4URM5Gb4aeDjna6Yw== + dependencies: + vue-demi "^0.13.11" + +"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" + integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== + +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== + +"@webassemblyjs/helper-buffer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" + integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== + +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== + +"@webassemblyjs/helper-wasm-section@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" + integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" + integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-opt" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + "@webassemblyjs/wast-printer" "1.11.6" + +"@webassemblyjs/wasm-gen@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" + integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" + integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + +"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" + integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" + integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +abab@^2.0.3, abab@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== + +abbrev@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn-walk@^8.0.0, acorn-walk@^8.0.2: + version "8.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^7.1.1: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.0.4, acorn@^8.0.5, acorn@^8.2.4, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: + version "8.9.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.9.0.tgz#78a16e3b2bcc198c10822786fa6679e245db5b59" + integrity sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ== + +address@^1.1.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" + integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + 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" + +ajv@^8.0.0, ajv@^8.9.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-colors@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-escapes@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-html-community@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== + +ansi-regex@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== + +anymatch@^3.0.3, anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arch@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" + integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +array-flatten@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +async@^2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== + dependencies: + lodash "^4.17.14" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +autoprefixer@^10.2.4: + version "10.4.14" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.14.tgz#e28d49902f8e759dd25b153264e862df2705f79d" + integrity sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ== + dependencies: + browserslist "^4.21.5" + caniuse-lite "^1.0.30001464" + fraction.js "^4.2.0" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +babel-jest@^27.1.0, babel-jest@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444" + integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== + dependencies: + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^27.5.1" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-jest@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.5.0.tgz#3fe3ddb109198e78b1c88f9ebdecd5e4fc2f50a5" + integrity sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q== + dependencies: + "@jest/transform" "^29.5.0" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^29.5.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-loader@^8.2.2: + version "8.3.0" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.3.0.tgz#124936e841ba4fe8176786d6ff28add1f134d6a8" + integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^2.0.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz#9be98ecf28c331eb9f5df9c72d6f89deb8181c2e" + integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-plugin-jest-hoist@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz#a97db437936f441ec196990c9738d4b88538618a" + integrity sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" + "@types/babel__traverse" "^7.0.6" + +babel-plugin-polyfill-corejs2@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.3.tgz#75044d90ba5043a5fb559ac98496f62f3eb668fd" + integrity sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw== + dependencies: + "@babel/compat-data" "^7.17.7" + "@babel/helper-define-polyfill-provider" "^0.4.0" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz#39248263c38191f0d226f928d666e6db1b4b3a8a" + integrity sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.4.0" + core-js-compat "^3.30.1" + +babel-plugin-polyfill-regenerator@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz#e7344d88d9ef18a3c47ded99362ae4a757609380" + integrity sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.4.0" + +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@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.8.3" + +babel-preset-jest@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81" + integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag== + dependencies: + babel-plugin-jest-hoist "^27.5.1" + babel-preset-current-node-syntax "^1.0.0" + +babel-preset-jest@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz#57bc8cc88097af7ff6a5ab59d1cd29d52a5916e2" + integrity sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg== + dependencies: + babel-plugin-jest-hoist "^29.5.0" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bl@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +bluebird@^3.1.1: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +body-parser@1.20.1: + version "1.20.1" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" + integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" + +bonjour-service@^1.0.11: + version "1.1.1" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.1.1.tgz#960948fa0e0153f5d26743ab15baf8e33752c135" + integrity sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg== + dependencies: + array-flatten "^2.1.2" + dns-equal "^1.0.0" + fast-deep-equal "^3.1.3" + multicast-dns "^7.2.5" + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.3, browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.21.5: + version "4.21.9" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.9.tgz#e11bdd3c313d7e2a9e87e8b4b0c7872b13897635" + integrity sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg== + dependencies: + caniuse-lite "^1.0.30001503" + electron-to-chromium "^1.4.431" + node-releases "^2.0.12" + update-browserslist-db "^1.0.11" + +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +busboy@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" + integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== + dependencies: + streamsearch "^1.1.0" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +call-me-maybe@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.2.tgz#03f964f19522ba643b1b0693acb9152fe2074baa" + integrity sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ== + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.2.0, camelcase@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001464, caniuse-lite@^1.0.30001503: + version "1.0.30001511" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001511.tgz#e6e2a1614275c6fb8e3acfd74a8c3a70e53ed233" + integrity sha512-NaWPJawcoedlghN4P7bDNeADD7K+rZaY6V8ZcME7PkEZo/nfOg+lnrUgRWiKbNxcQ4/toFKSxnS4WdbyPZnKkw== + +case-sensitive-paths-webpack-plugin@^2.3.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" + integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== + +chalk@^2.0.0, chalk@^2.1.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +char-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-2.0.1.tgz#6dafdb25f9d3349914079f010ba8d0e6ff9cd01e" + integrity sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw== + +chokidar@^3.4.2, chokidar@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +ci-info@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== + +ci-info@^3.2.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" + integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== + +cjs-module-lexer@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" + integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== + +clean-css@^5.2.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.2.tgz#70ecc7d4d4114921f5d298349ff86a31a9975224" + integrity sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww== + dependencies: + source-map "~0.6.0" + +cli-cursor@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== + dependencies: + restore-cursor "^2.0.0" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-highlight@^2.1.10: + version "2.1.11" + resolved "https://registry.yarnpkg.com/cli-highlight/-/cli-highlight-2.1.11.tgz#49736fa452f0aaf4fae580e30acb26828d2dc1bf" + integrity sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg== + dependencies: + chalk "^4.0.0" + highlight.js "^10.7.1" + mz "^2.4.0" + parse5 "^5.1.1" + parse5-htmlparser2-tree-adapter "^6.0.0" + yargs "^16.0.0" + +cli-spinners@^2.5.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.0.tgz#5881d0ad96381e117bbe07ad91f2008fe6ffd8db" + integrity sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g== + +clipboardy@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-2.3.0.tgz#3c2903650c68e46a91b388985bc2774287dba290" + integrity sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ== + dependencies: + arch "^2.1.1" + execa "^1.0.0" + is-wsl "^2.1.1" + +cliui@^7.0.2, cliui@^7.0.4: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colord@^2.9.1: + version "2.9.3" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" + integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== + +colorette@^2.0.10: + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^10.0.0: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== + +commander@^2.19.0, commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +condense-newlines@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/condense-newlines/-/condense-newlines-0.2.1.tgz#3de985553139475d32502c83b02f60684d24c55f" + integrity sha512-P7X+QL9Hb9B/c8HI5BFFKmjgBu2XpQuF98WZ9XkO+dBGgk5XgwiQz7o1SmpglNWId3581UcS0SFAWfoIhMHPfg== + dependencies: + extend-shallow "^2.0.1" + is-whitespace "^0.3.0" + kind-of "^3.0.2" + +config-chain@^1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" + integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + +connect-history-api-fallback@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" + integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== + +consolidate@^0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7" + integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw== + dependencies: + bluebird "^3.1.1" + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + +copy-anything@^2.0.1: + version "2.0.6" + resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480" + integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== + dependencies: + is-what "^3.14.1" + +copy-webpack-plugin@^9.0.1: + version "9.1.0" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-9.1.0.tgz#2d2c460c4c4695ec0a58afb2801a1205256c4e6b" + integrity sha512-rxnR7PaGigJzhqETHGmAcxKnLZSR5u1Y3/bcIv/1FnqXedcL/E2ewK7ZCNrArJKCiSv8yVXhTqetJh8inDvfsA== + dependencies: + fast-glob "^3.2.7" + glob-parent "^6.0.1" + globby "^11.0.3" + normalize-path "^3.0.0" + schema-utils "^3.1.1" + serialize-javascript "^6.0.0" + +core-js-compat@^3.30.1, core-js-compat@^3.30.2, core-js-compat@^3.8.3: + version "3.31.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.31.0.tgz#4030847c0766cc0e803dcdfb30055d7ef2064bf1" + integrity sha512-hM7YCu1cU6Opx7MXNu0NuumM0ezNeAeRKadixyiQELWY3vT3De9S4J5ZBMraWV2vZnrE1Cirl0GtFtDtMUXzPw== + dependencies: + browserslist "^4.21.5" + +core-js@^3.8.3: + version "3.31.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.31.0.tgz#4471dd33e366c79d8c0977ed2d940821719db344" + integrity sha512-NIp2TQSGfR6ba5aalZD+ZQ1fSxGhDo/s1w0nx3RYzf2pnJxt7YynxFlFScP6eV7+GZsKO95NSjGxyJsU3DZgeQ== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + 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" + +cosmiconfig@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-declaration-sorter@^6.3.1: + version "6.4.0" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz#630618adc21724484b3e9505bce812def44000ad" + integrity sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew== + +css-loader@^6.5.0: + version "6.8.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.8.1.tgz#0f8f52699f60f5e679eab4ec0fcd68b8e8a50a88" + integrity sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g== + dependencies: + icss-utils "^5.1.0" + postcss "^8.4.21" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.3" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.2.0" + semver "^7.3.8" + +css-minimizer-webpack-plugin@^3.0.2: + version "3.4.1" + resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz#ab78f781ced9181992fe7b6e4f3422e76429878f" + integrity sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q== + dependencies: + cssnano "^5.0.6" + jest-worker "^27.0.2" + postcss "^8.3.5" + schema-utils "^4.0.0" + serialize-javascript "^6.0.0" + source-map "^0.6.1" + +css-select@^4.1.3: + version "4.3.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" + integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== + dependencies: + boolbase "^1.0.0" + css-what "^6.0.1" + domhandler "^4.3.1" + domutils "^2.8.0" + nth-check "^2.0.1" + +css-tree@^1.1.2, css-tree@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-tree@^2.0.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" + integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== + dependencies: + mdn-data "2.0.30" + source-map-js "^1.0.1" + +css-what@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^5.2.14: + version "5.2.14" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz#309def4f7b7e16d71ab2438052093330d9ab45d8" + integrity sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A== + dependencies: + css-declaration-sorter "^6.3.1" + cssnano-utils "^3.1.0" + postcss-calc "^8.2.3" + postcss-colormin "^5.3.1" + postcss-convert-values "^5.1.3" + postcss-discard-comments "^5.1.2" + postcss-discard-duplicates "^5.1.0" + postcss-discard-empty "^5.1.1" + postcss-discard-overridden "^5.1.0" + postcss-merge-longhand "^5.1.7" + postcss-merge-rules "^5.1.4" + postcss-minify-font-values "^5.1.0" + postcss-minify-gradients "^5.1.1" + postcss-minify-params "^5.1.4" + postcss-minify-selectors "^5.2.1" + postcss-normalize-charset "^5.1.0" + postcss-normalize-display-values "^5.1.0" + postcss-normalize-positions "^5.1.1" + postcss-normalize-repeat-style "^5.1.1" + postcss-normalize-string "^5.1.0" + postcss-normalize-timing-functions "^5.1.0" + postcss-normalize-unicode "^5.1.1" + postcss-normalize-url "^5.1.0" + postcss-normalize-whitespace "^5.1.1" + postcss-ordered-values "^5.1.3" + postcss-reduce-initial "^5.1.2" + postcss-reduce-transforms "^5.1.0" + postcss-svgo "^5.1.0" + postcss-unique-selectors "^5.1.1" + +cssnano-utils@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" + integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== + +cssnano@^5.0.0, cssnano@^5.0.6: + version "5.1.15" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.15.tgz#ded66b5480d5127fcb44dac12ea5a983755136bf" + integrity sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw== + dependencies: + cssnano-preset-default "^5.2.14" + lilconfig "^2.0.3" + yaml "^1.10.2" + +csso@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +csstype@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" + integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@^3.2.6, debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +decimal.js@^10.2.1: + version "10.4.3" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" + integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753" + integrity sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ== + +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +default-gateway@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" + integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== + dependencies: + execa "^5.0.0" + +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-properties@^1.1.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" + integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +diff-sequences@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" + integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== + +diff-sequences@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.4.3.tgz#9314bc1fabe09267ffeca9cbafc457d8499a13f2" + integrity sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== + +dns-packet@^5.2.2: + version "5.6.0" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.0.tgz#2202c947845c7a63c23ece58f2f70ff6ab4c2f7d" + integrity sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ== + dependencies: + "@leichtgewicht/ip-codec" "^2.0.1" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-converter@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + dependencies: + domelementtype "^2.2.0" + +domutils@^2.5.2, domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +dotenv-expand@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" + integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== + +dotenv@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" + integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== + +duplexer@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +easy-stack@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/easy-stack/-/easy-stack-1.0.1.tgz#8afe4264626988cabb11f3c704ccd0c835411066" + integrity sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w== + +editorconfig@^0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5" + integrity sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g== + dependencies: + commander "^2.19.0" + lru-cache "^4.1.5" + semver "^5.6.0" + sigmund "^1.0.1" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.4.431: + version "1.4.447" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.447.tgz#ac69d3a7b3713e9ae94bb30ba65c3114e4d76a38" + integrity sha512-sxX0LXh+uL41hSJsujAN86PjhrV/6c79XmpY0TvjZStV6VxIgarf8SRkUoUTuYmFcZQTemsoqo8qXOGw5npWfw== + +emittery@^0.10.2: + version "0.10.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" + integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== + +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== + +emittery@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" + integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^5.0.0, enhanced-resolve@^5.15.0: + version "5.15.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" + integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +errno@^0.1.1: + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +error-stack-parser@^2.0.6: + version "2.1.4" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" + integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== + dependencies: + stackframe "^1.3.4" + +es-module-lexer@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.3.0.tgz#6be9c9e0b4543a60cd166ff6f8b4e9dae0b0c16f" + integrity sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA== + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escodegen@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" + integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionalDependencies: + source-map "~0.6.1" + +eslint-config-prettier@^8.3.0: + version "8.8.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz#bfda738d412adc917fd7b038857110efe98c9348" + integrity sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA== + +eslint-plugin-prettier@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" + integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-plugin-vue@^9.15.1: + version "9.15.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.15.1.tgz#3c09e0edab444b5d4d9239a12a645a0e2e2ea5be" + integrity sha512-CJE/oZOslvmAR9hf8SClTdQ9JLweghT6JCBQNrT2Iel1uVw0W0OLJxzvPd6CxmABKCvLrtyDnqGV37O7KQv6+A== + dependencies: + "@eslint-community/eslint-utils" "^4.3.0" + natural-compare "^1.4.0" + nth-check "^2.0.1" + postcss-selector-parser "^6.0.9" + semver "^7.3.5" + vue-eslint-parser "^9.3.0" + xml-name-validator "^4.0.0" + +eslint-scope@5.1.1, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.1.1, eslint-scope@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b" + integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994" + integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA== + +eslint-webpack-plugin@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz#1978cdb9edc461e4b0195a20da950cf57988347c" + integrity sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w== + dependencies: + "@types/eslint" "^7.29.0 || ^8.4.1" + jest-worker "^28.0.2" + micromatch "^4.0.5" + normalize-path "^3.0.0" + schema-utils "^4.0.0" + +eslint@^8.44.0: + version "8.44.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.44.0.tgz#51246e3889b259bbcd1d7d736a0c10add4f0e500" + integrity sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.4.0" + "@eslint/eslintrc" "^2.1.0" + "@eslint/js" "8.44.0" + "@humanwhocodes/config-array" "^0.11.10" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.0" + eslint-visitor-keys "^3.4.1" + espree "^9.6.0" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + +espree@^9.3.1, espree@^9.6.0: + version "9.6.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.0.tgz#80869754b1c6560f32e3b6929194a3fe07c5b82f" + integrity sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.0, esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +event-pubsub@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/event-pubsub/-/event-pubsub-4.3.0.tgz#f68d816bc29f1ec02c539dc58c8dd40ce72cb36e" + integrity sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ== + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" + integrity sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA== + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + 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" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expect@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.1.tgz#83ce59f1e5bdf5f9d2b94b61d2050db48f3fef74" + integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw== + dependencies: + "@jest/types" "^27.5.1" + jest-get-type "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + +expect@^29.0.0, expect@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.5.0.tgz#68c0509156cb2a0adb8865d413b137eeaae682f7" + integrity sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg== + dependencies: + "@jest/expect-utils" "^29.5.0" + jest-get-type "^29.4.3" + jest-matcher-utils "^29.5.0" + jest-message-util "^29.5.0" + jest-util "^29.5.0" + +express@^4.17.3: + version "4.18.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" + integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.1" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.5.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.2.0" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.11.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== + dependencies: + is-extendable "^0.1.0" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-diff@^1.1.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" + integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== + +fast-glob@^3.2.12, fast-glob@^3.2.7, fast-glob@^3.2.9: + version "3.3.0" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.0.tgz#7c40cb491e1e2ed5664749e87bfb516dbe8727c0" + integrity sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + +find-cache-dir@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.7" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== + +follow-redirects@^1.0.0: + version "1.15.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + +fork-ts-checker-webpack-plugin@^6.4.0: + version "6.5.3" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz#eda2eff6e22476a2688d10661688c47f611b37f3" + integrity sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ== + dependencies: + "@babel/code-frame" "^7.8.3" + "@types/json-schema" "^7.0.5" + chalk "^4.1.0" + chokidar "^3.4.2" + cosmiconfig "^6.0.0" + deepmerge "^4.2.2" + fs-extra "^9.0.0" + glob "^7.1.6" + memfs "^3.1.2" + minimatch "^3.0.4" + schema-utils "2.7.0" + semver "^7.3.2" + tapable "^1.0.0" + +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fraction.js@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" + integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +fs-extra@^11.1.1: + version "11.1.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" + integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^9.0.0, fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-monkey@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.4.tgz#ee8c1b53d3fe8bb7e5d2c5c5dfc0168afdd2f747" + integrity sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@^2.3.2, fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" + integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-proto "^1.0.1" + has-symbols "^1.0.3" + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.1, glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^8.0.3, glob@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.19.0: + version "13.20.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== + dependencies: + type-fest "^0.20.2" + +globby@^11.0.2, globby@^11.0.3, globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +gzip-size@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== + dependencies: + duplexer "^0.1.2" + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +handlebars@^4.7.7: + version "4.7.7" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" + integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.0" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-sum@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" + integrity sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA== + +hash-sum@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a" + integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg== + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +highlight.js@^10.7.1: + version "10.7.3" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531" + integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +html-entities@^2.3.2: + version "2.4.0" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061" + integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +html-minifier-terser@^6.0.2: + version "6.1.0" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" + integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== + dependencies: + camel-case "^4.1.2" + clean-css "^5.2.2" + commander "^8.3.0" + he "^1.2.0" + param-case "^3.0.4" + relateurl "^0.2.7" + terser "^5.10.0" + +html-tags@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b" + integrity sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g== + +html-tags@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" + integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== + +html-webpack-plugin@^5.1.0: + version "5.5.3" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz#72270f4a78e222b5825b296e5e3e1328ad525a3e" + integrity sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg== + dependencies: + "@types/html-minifier-terser" "^6.0.0" + html-minifier-terser "^6.0.2" + lodash "^4.17.21" + pretty-error "^4.0.0" + tapable "^2.0.0" + +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-parser-js@>=0.5.1: + version "0.5.8" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + +http-proxy-middleware@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" + integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== + dependencies: + "@types/http-proxy" "^1.17.8" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +image-size@~0.5.0: + version "0.5.5" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" + integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ== + +import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +ini@^1.3.4: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +ipaddr.js@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" + integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-ci@^1.0.10: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" + integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== + dependencies: + ci-info "^1.5.0" + +is-core-module@^2.11.0: + version "2.12.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd" + integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg== + dependencies: + has "^1.0.3" + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extendable@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-file-esm@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-file-esm/-/is-file-esm-1.0.0.tgz#987086b0f5a5318179e9d30f4f2f8d37321e1b5f" + integrity sha512-rZlaNKb4Mr8WlRu2A9XdeoKgnO5aA53XdPHgCKVyCrQ/rWi89RET1+bq37Ru46obaQXeiX4vmFIm1vks41hoSA== + dependencies: + read-pkg-up "^7.0.1" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-what@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" + integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== + +is-whitespace@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/is-whitespace/-/is-whitespace-0.3.0.tgz#1639ecb1be036aec69a54cbb401cfbed7114ab7f" + integrity sha512-RydPhl4S6JwAyj0JJjshWJEFG6hNye3pZFBRZaTUfZFwGHxzppNaNOVgQuS/E/SlhrApuMXrpnK1EEIXfdo3Dg== + +is-wsl@^2.1.1, is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.1.5" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" + integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +javascript-stringify@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz#27c76539be14d8bd128219a2d731b09337904e79" + integrity sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg== + +jest-changed-files@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5" + integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw== + dependencies: + "@jest/types" "^27.5.1" + execa "^5.0.0" + throat "^6.0.1" + +jest-changed-files@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.5.0.tgz#e88786dca8bf2aa899ec4af7644e16d9dcf9b23e" + integrity sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag== + dependencies: + execa "^5.0.0" + p-limit "^3.1.0" + +jest-circus@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc" + integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^0.7.0" + expect "^27.5.1" + is-generator-fn "^2.0.0" + jest-each "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + jest-runtime "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + pretty-format "^27.5.1" + slash "^3.0.0" + stack-utils "^2.0.3" + throat "^6.0.1" + +jest-circus@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.5.0.tgz#b5926989449e75bff0d59944bae083c9d7fb7317" + integrity sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA== + dependencies: + "@jest/environment" "^29.5.0" + "@jest/expect" "^29.5.0" + "@jest/test-result" "^29.5.0" + "@jest/types" "^29.5.0" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^0.7.0" + is-generator-fn "^2.0.0" + jest-each "^29.5.0" + jest-matcher-utils "^29.5.0" + jest-message-util "^29.5.0" + jest-runtime "^29.5.0" + jest-snapshot "^29.5.0" + jest-util "^29.5.0" + p-limit "^3.1.0" + pretty-format "^29.5.0" + pure-rand "^6.0.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.1.tgz#278794a6e6458ea8029547e6c6cbf673bd30b145" + integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw== + dependencies: + "@jest/core" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + import-local "^3.0.2" + jest-config "^27.5.1" + jest-util "^27.5.1" + jest-validate "^27.5.1" + prompts "^2.0.1" + yargs "^16.2.0" + +jest-cli@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.5.0.tgz#b34c20a6d35968f3ee47a7437ff8e53e086b4a67" + integrity sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw== + dependencies: + "@jest/core" "^29.5.0" + "@jest/test-result" "^29.5.0" + "@jest/types" "^29.5.0" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + import-local "^3.0.2" + jest-config "^29.5.0" + jest-util "^29.5.0" + jest-validate "^29.5.0" + prompts "^2.0.1" + yargs "^17.3.1" + +jest-config@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41" + integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA== + dependencies: + "@babel/core" "^7.8.0" + "@jest/test-sequencer" "^27.5.1" + "@jest/types" "^27.5.1" + babel-jest "^27.5.1" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.9" + jest-circus "^27.5.1" + jest-environment-jsdom "^27.5.1" + jest-environment-node "^27.5.1" + jest-get-type "^27.5.1" + jest-jasmine2 "^27.5.1" + jest-regex-util "^27.5.1" + jest-resolve "^27.5.1" + jest-runner "^27.5.1" + jest-util "^27.5.1" + jest-validate "^27.5.1" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^27.5.1" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-config@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.5.0.tgz#3cc972faec8c8aaea9ae158c694541b79f3748da" + integrity sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.5.0" + "@jest/types" "^29.5.0" + babel-jest "^29.5.0" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^29.5.0" + jest-environment-node "^29.5.0" + jest-get-type "^29.4.3" + jest-regex-util "^29.4.3" + jest-resolve "^29.5.0" + jest-runner "^29.5.0" + jest-util "^29.5.0" + jest-validate "^29.5.0" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^29.5.0" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" + integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== + dependencies: + chalk "^4.0.0" + diff-sequences "^27.5.1" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + +jest-diff@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.5.0.tgz#e0d83a58eb5451dcc1fa61b1c3ee4e8f5a290d63" + integrity sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.4.3" + jest-get-type "^29.4.3" + pretty-format "^29.5.0" + +jest-docblock@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0" + integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ== + dependencies: + detect-newline "^3.0.0" + +jest-docblock@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.4.3.tgz#90505aa89514a1c7dceeac1123df79e414636ea8" + integrity sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg== + dependencies: + detect-newline "^3.0.0" + +jest-each@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e" + integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ== + dependencies: + "@jest/types" "^27.5.1" + chalk "^4.0.0" + jest-get-type "^27.5.1" + jest-util "^27.5.1" + pretty-format "^27.5.1" + +jest-each@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.5.0.tgz#fc6e7014f83eac68e22b7195598de8554c2e5c06" + integrity sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA== + dependencies: + "@jest/types" "^29.5.0" + chalk "^4.0.0" + jest-get-type "^29.4.3" + jest-util "^29.5.0" + pretty-format "^29.5.0" + +jest-environment-jsdom@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546" + integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + jest-mock "^27.5.1" + jest-util "^27.5.1" + jsdom "^16.6.0" + +jest-environment-node@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e" + integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + jest-mock "^27.5.1" + jest-util "^27.5.1" + +jest-environment-node@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.5.0.tgz#f17219d0f0cc0e68e0727c58b792c040e332c967" + integrity sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw== + dependencies: + "@jest/environment" "^29.5.0" + "@jest/fake-timers" "^29.5.0" + "@jest/types" "^29.5.0" + "@types/node" "*" + jest-mock "^29.5.0" + jest-util "^29.5.0" + +jest-get-type@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" + integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== + +jest-get-type@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.4.3.tgz#1ab7a5207c995161100b5187159ca82dd48b3dd5" + integrity sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg== + +jest-haste-map@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" + integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== + dependencies: + "@jest/types" "^27.5.1" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^27.5.1" + jest-serializer "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + micromatch "^4.0.4" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.3.2" + +jest-haste-map@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.5.0.tgz#69bd67dc9012d6e2723f20a945099e972b2e94de" + integrity sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA== + dependencies: + "@jest/types" "^29.5.0" + "@types/graceful-fs" "^4.1.3" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^29.4.3" + jest-util "^29.5.0" + jest-worker "^29.5.0" + micromatch "^4.0.4" + walker "^1.0.8" + optionalDependencies: + fsevents "^2.3.2" + +jest-jasmine2@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4" + integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/source-map" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^27.5.1" + is-generator-fn "^2.0.0" + jest-each "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + jest-runtime "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + pretty-format "^27.5.1" + throat "^6.0.1" + +jest-leak-detector@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8" + integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ== + dependencies: + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + +jest-leak-detector@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.5.0.tgz#cf4bdea9615c72bac4a3a7ba7e7930f9c0610c8c" + integrity sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow== + dependencies: + jest-get-type "^29.4.3" + pretty-format "^29.5.0" + +jest-matcher-utils@^27.0.0, jest-matcher-utils@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" + integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== + dependencies: + chalk "^4.0.0" + jest-diff "^27.5.1" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + +jest-matcher-utils@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz#d957af7f8c0692c5453666705621ad4abc2c59c5" + integrity sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw== + dependencies: + chalk "^4.0.0" + jest-diff "^29.5.0" + jest-get-type "^29.4.3" + pretty-format "^29.5.0" + +jest-message-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf" + integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^27.5.1" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^27.5.1" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-message-util@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.3.tgz#232def7f2e333f1eecc90649b5b94b0055e7c43d" + integrity sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^28.1.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^28.1.3" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-message-util@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.5.0.tgz#1f776cac3aca332ab8dd2e3b41625435085c900e" + integrity sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.5.0" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.5.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" + integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + +jest-mock@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.5.0.tgz#26e2172bcc71d8b0195081ff1f146ac7e1518aed" + integrity sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw== + dependencies: + "@jest/types" "^29.5.0" + "@types/node" "*" + jest-util "^29.5.0" + +jest-pnp-resolver@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== + +jest-regex-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" + integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== + +jest-regex-util@^28.0.0: + version "28.0.2" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz#afdc377a3b25fb6e80825adcf76c854e5bf47ead" + integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw== + +jest-regex-util@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.4.3.tgz#a42616141e0cae052cfa32c169945d00c0aa0bb8" + integrity sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg== + +jest-resolve-dependencies@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8" + integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg== + dependencies: + "@jest/types" "^27.5.1" + jest-regex-util "^27.5.1" + jest-snapshot "^27.5.1" + +jest-resolve-dependencies@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.5.0.tgz#f0ea29955996f49788bf70996052aa98e7befee4" + integrity sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg== + dependencies: + jest-regex-util "^29.4.3" + jest-snapshot "^29.5.0" + +jest-resolve@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384" + integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== + dependencies: + "@jest/types" "^27.5.1" + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-pnp-resolver "^1.2.2" + jest-util "^27.5.1" + jest-validate "^27.5.1" + resolve "^1.20.0" + resolve.exports "^1.1.0" + slash "^3.0.0" + +jest-resolve@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.5.0.tgz#b053cc95ad1d5f6327f0ac8aae9f98795475ecdc" + integrity sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.5.0" + jest-pnp-resolver "^1.2.2" + jest-util "^29.5.0" + jest-validate "^29.5.0" + resolve "^1.20.0" + resolve.exports "^2.0.0" + slash "^3.0.0" + +jest-runner@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5" + integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ== + dependencies: + "@jest/console" "^27.5.1" + "@jest/environment" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.8.1" + graceful-fs "^4.2.9" + jest-docblock "^27.5.1" + jest-environment-jsdom "^27.5.1" + jest-environment-node "^27.5.1" + jest-haste-map "^27.5.1" + jest-leak-detector "^27.5.1" + jest-message-util "^27.5.1" + jest-resolve "^27.5.1" + jest-runtime "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + source-map-support "^0.5.6" + throat "^6.0.1" + +jest-runner@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.5.0.tgz#6a57c282eb0ef749778d444c1d758c6a7693b6f8" + integrity sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ== + dependencies: + "@jest/console" "^29.5.0" + "@jest/environment" "^29.5.0" + "@jest/test-result" "^29.5.0" + "@jest/transform" "^29.5.0" + "@jest/types" "^29.5.0" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.13.1" + graceful-fs "^4.2.9" + jest-docblock "^29.4.3" + jest-environment-node "^29.5.0" + jest-haste-map "^29.5.0" + jest-leak-detector "^29.5.0" + jest-message-util "^29.5.0" + jest-resolve "^29.5.0" + jest-runtime "^29.5.0" + jest-util "^29.5.0" + jest-watcher "^29.5.0" + jest-worker "^29.5.0" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af" + integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/globals" "^27.5.1" + "@jest/source-map" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + execa "^5.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-message-util "^27.5.1" + jest-mock "^27.5.1" + jest-regex-util "^27.5.1" + jest-resolve "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-runtime@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.5.0.tgz#c83f943ee0c1da7eb91fa181b0811ebd59b03420" + integrity sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw== + dependencies: + "@jest/environment" "^29.5.0" + "@jest/fake-timers" "^29.5.0" + "@jest/globals" "^29.5.0" + "@jest/source-map" "^29.4.3" + "@jest/test-result" "^29.5.0" + "@jest/transform" "^29.5.0" + "@jest/types" "^29.5.0" + "@types/node" "*" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^29.5.0" + jest-message-util "^29.5.0" + jest-mock "^29.5.0" + jest-regex-util "^29.4.3" + jest-resolve "^29.5.0" + jest-snapshot "^29.5.0" + jest-util "^29.5.0" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-serializer-vue@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/jest-serializer-vue/-/jest-serializer-vue-2.0.2.tgz#b238ef286357ec6b480421bd47145050987d59b3" + integrity sha512-nK/YIFo6qe3i9Ge+hr3h4PpRehuPPGZFt8LDBdTHYldMb7ZWlkanZS8Ls7D8h6qmQP2lBQVDLP0DKn5bJ9QApQ== + dependencies: + pretty "2.0.0" + +jest-serializer@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" + integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.9" + +jest-snapshot@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1" + integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA== + dependencies: + "@babel/core" "^7.7.2" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/traverse" "^7.7.2" + "@babel/types" "^7.0.0" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.1.5" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^27.5.1" + graceful-fs "^4.2.9" + jest-diff "^27.5.1" + jest-get-type "^27.5.1" + jest-haste-map "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + jest-util "^27.5.1" + natural-compare "^1.4.0" + pretty-format "^27.5.1" + semver "^7.3.2" + +jest-snapshot@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.5.0.tgz#c9c1ce0331e5b63cd444e2f95a55a73b84b1e8ce" + integrity sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g== + dependencies: + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/traverse" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.5.0" + "@jest/transform" "^29.5.0" + "@jest/types" "^29.5.0" + "@types/babel__traverse" "^7.0.6" + "@types/prettier" "^2.1.5" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^29.5.0" + graceful-fs "^4.2.9" + jest-diff "^29.5.0" + jest-get-type "^29.4.3" + jest-matcher-utils "^29.5.0" + jest-message-util "^29.5.0" + jest-util "^29.5.0" + natural-compare "^1.4.0" + pretty-format "^29.5.0" + semver "^7.3.5" + +jest-transform-stub@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/jest-transform-stub/-/jest-transform-stub-2.0.0.tgz#19018b0851f7568972147a5d60074b55f0225a7d" + integrity sha512-lspHaCRx/mBbnm3h4uMMS3R5aZzMwyNpNIJLXj4cEsV0mIUtS4IjYJLSoyjRCtnxb6RIGJ4NL2quZzfIeNhbkg== + +jest-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" + integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-util@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.3.tgz#f4f932aa0074f0679943220ff9cbba7e497028b0" + integrity sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ== + dependencies: + "@jest/types" "^28.1.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-util@^29.0.0, jest-util@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.5.0.tgz#24a4d3d92fc39ce90425311b23c27a6e0ef16b8f" + integrity sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ== + dependencies: + "@jest/types" "^29.5.0" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067" + integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== + dependencies: + "@jest/types" "^27.5.1" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^27.5.1" + leven "^3.1.0" + pretty-format "^27.5.1" + +jest-validate@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.5.0.tgz#8e5a8f36178d40e47138dc00866a5f3bd9916ffc" + integrity sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ== + dependencies: + "@jest/types" "^29.5.0" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^29.4.3" + leven "^3.1.0" + pretty-format "^29.5.0" + +jest-watch-typeahead@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz#b4a6826dfb9c9420da2f7bc900de59dad11266a9" + integrity sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw== + dependencies: + ansi-escapes "^4.3.1" + chalk "^4.0.0" + jest-regex-util "^28.0.0" + jest-watcher "^28.0.0" + slash "^4.0.0" + string-length "^5.0.1" + strip-ansi "^7.0.1" + +jest-watcher@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2" + integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw== + dependencies: + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^27.5.1" + string-length "^4.0.1" + +jest-watcher@^28.0.0: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-28.1.3.tgz#c6023a59ba2255e3b4c57179fc94164b3e73abd4" + integrity sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g== + dependencies: + "@jest/test-result" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.10.2" + jest-util "^28.1.3" + string-length "^4.0.1" + +jest-watcher@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.5.0.tgz#cf7f0f949828ba65ddbbb45c743a382a4d911363" + integrity sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA== + dependencies: + "@jest/test-result" "^29.5.0" + "@jest/types" "^29.5.0" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.13.1" + jest-util "^29.5.0" + string-length "^4.0.1" + +jest-worker@^27.0.2, jest-worker@^27.4.5, jest-worker@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest-worker@^28.0.2: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.3.tgz#7e3c4ce3fa23d1bb6accb169e7f396f98ed4bb98" + integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest-worker@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.5.0.tgz#bdaefb06811bd3384d93f009755014d8acb4615d" + integrity sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA== + dependencies: + "@types/node" "*" + jest-util "^29.5.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^27.1.0: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc" + integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== + dependencies: + "@jest/core" "^27.5.1" + import-local "^3.0.2" + jest-cli "^27.5.1" + +jest@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.5.0.tgz#f75157622f5ce7ad53028f2f8888ab53e1f1f24e" + integrity sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ== + dependencies: + "@jest/core" "^29.5.0" + "@jest/types" "^29.5.0" + import-local "^3.0.2" + jest-cli "^29.5.0" + +joi@^17.4.0: + version "17.9.2" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.9.2.tgz#8b2e4724188369f55451aebd1d0b1d9482470690" + integrity sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw== + dependencies: + "@hapi/hoek" "^9.0.0" + "@hapi/topo" "^5.0.0" + "@sideway/address" "^4.1.3" + "@sideway/formula" "^3.0.1" + "@sideway/pinpoint" "^2.0.0" + +js-beautify@1.14.6: + version "1.14.6" + resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.14.6.tgz#b23ca5d74a462c282c7711bb51150bcc97f2b507" + integrity sha512-GfofQY5zDp+cuHc+gsEXKPpNw2KbPddreEo35O6jT6i0RVK6LhsoYBhq5TvK4/n74wnA0QbK8gGd+jUZwTMKJw== + dependencies: + config-chain "^1.1.13" + editorconfig "^0.15.3" + glob "^8.0.3" + nopt "^6.0.0" + +js-beautify@^1.6.12: + version "1.14.8" + resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.14.8.tgz#e0c570c15b5445b006de6d9a3e70fb62f9e408e9" + integrity sha512-4S7HFeI9YfRvRgKnEweohs0tgJj28InHVIj4Nl8Htf96Y6pHg3+tJrmo4ucAM9f7l4SHbFI3IvFAZ2a1eQPbyg== + dependencies: + config-chain "^1.1.13" + editorconfig "^0.15.3" + glob "^8.1.0" + nopt "^6.0.0" + +js-message@1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/js-message/-/js-message-1.0.7.tgz#fbddd053c7a47021871bb8b2c95397cc17c20e47" + integrity sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsdom@^16.6.0: + version "16.7.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== + dependencies: + abab "^2.0.5" + acorn "^8.2.4" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.3.0" + data-urls "^2.0.0" + decimal.js "^10.2.1" + domexception "^2.0.1" + escodegen "^2.0.0" + form-data "^3.0.0" + html-encoding-sniffer "^2.0.1" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.0" + parse5 "6.0.1" + saxes "^5.0.1" + symbol-tree "^3.2.4" + tough-cookie "^4.0.0" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.5.0" + ws "^7.4.6" + xml-name-validator "^3.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-ref-parser@^9.0.9: + version "9.0.9" + resolved "https://registry.yarnpkg.com/json-schema-ref-parser/-/json-schema-ref-parser-9.0.9.tgz#66ea538e7450b12af342fa3d5b8458bc1e1e013f" + integrity sha512-qcP2lmGy+JUoQJ4DOQeLaZDqH9qSkeGCK3suKWxJXS82dg728Mn3j97azDMaOUmJAN4uCq91LdPx4K7E8F1a7Q== + dependencies: + "@apidevtools/json-schema-ref-parser" "9.0.9" + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json5@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2, json5@^2.2.2, json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +kind-of@^3.0.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== + dependencies: + is-buffer "^1.1.5" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +klona@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" + integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== + +launch-editor-middleware@^2.2.1: + version "2.6.0" + resolved "https://registry.yarnpkg.com/launch-editor-middleware/-/launch-editor-middleware-2.6.0.tgz#2ba4fe4b695d7fe3d44dee86b6d46d57b8332dfd" + integrity sha512-K2yxgljj5TdCeRN1lBtO3/J26+AIDDDw+04y6VAiZbWcTdBwsYN6RrZBnW5DN/QiSIdKNjKdATLUUluWWFYTIA== + dependencies: + launch-editor "^2.6.0" + +launch-editor@^2.2.1, launch-editor@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.6.0.tgz#4c0c1a6ac126c572bd9ff9a30da1d2cae66defd7" + integrity sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ== + dependencies: + picocolors "^1.0.0" + shell-quote "^1.7.3" + +less-loader@^11.1.3: + version "11.1.3" + resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-11.1.3.tgz#1bb62d6ca9bf00a177c02793b54baac40f9be694" + integrity sha512-A5b7O8dH9xpxvkosNrP0dFp2i/dISOJa9WwGF3WJflfqIERE2ybxh1BFDj5CovC2+jCE4M354mk90hN6ziXlVw== + +less@^4.0.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/less/-/less-4.1.3.tgz#175be9ddcbf9b250173e0a00b4d6920a5b770246" + integrity sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA== + dependencies: + copy-anything "^2.0.1" + parse-node-version "^1.0.1" + tslib "^2.3.0" + optionalDependencies: + errno "^0.1.1" + graceful-fs "^4.1.2" + image-size "~0.5.0" + make-dir "^2.1.0" + mime "^1.4.1" + needle "^3.1.0" + source-map "~0.6.0" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +lilconfig@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +loader-runner@^4.1.0, loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +loader-utils@^1.0.2, loader-utils@^1.1.0: + version "1.4.2" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3" + integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.defaultsdeep@^4.6.1: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6" + integrity sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA== + +lodash.kebabcase@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" + integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== + +lodash.mapvalues@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" + integrity sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ== + +lodash.memoize@4.x, lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash@^4.17.14, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +log-update@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" + integrity sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg== + dependencies: + ansi-escapes "^3.0.0" + cli-cursor "^2.0.0" + wrap-ansi "^3.0.1" + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + +lru-cache@^4.0.1, lru-cache@^4.1.2, lru-cache@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +magic-string@^0.30.0: + version "0.30.0" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.0.tgz#fd58a4748c5c4547338a424e90fa5dd17f4de529" + integrity sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.13" + +make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-error@1.x: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +mdn-data@2.0.30: + version "2.0.30" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" + integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +memfs@^3.1.2, memfs@^3.4.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" + integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== + dependencies: + fs-monkey "^1.0.4" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + +merge-source-map@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" + integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== + dependencies: + source-map "^0.6.1" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0, mime@^1.4.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mini-css-extract-plugin@^2.5.3: + version "2.7.6" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz#282a3d38863fddcd2e0c220aaed5b90bc156564d" + integrity sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw== + dependencies: + schema-utils "^4.0.0" + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minipass@^3.1.1: + version "3.3.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +mkdirp@^0.5.6: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +module-alias@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/module-alias/-/module-alias-2.2.3.tgz#ec2e85c68973bda6ab71ce7c93b763ec96053221" + integrity sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q== + +moment@^2.29.3: + version "2.29.4" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" + integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== + +mrmime@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.1.tgz#5f90c825fad4bdd41dc914eff5d1a8cfdaf24f27" + integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multicast-dns@^7.2.5: + version "7.2.5" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" + integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== + dependencies: + dns-packet "^5.2.2" + thunky "^1.0.2" + +mz@^2.4.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== + +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +needle@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/needle/-/needle-3.2.0.tgz#07d240ebcabfd65c76c03afae7f6defe6469df44" + integrity sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ== + dependencies: + debug "^3.2.6" + iconv-lite "^0.6.3" + sax "^1.2.4" + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.0, neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-fetch@^2.6.7: + version "2.6.12" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.12.tgz#02eb8e22074018e3d5a83016649d04df0e348fba" + integrity sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g== + dependencies: + whatwg-url "^5.0.0" + +node-forge@^1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +node-releases@^2.0.12: + version "2.0.12" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.12.tgz#35627cc224a23bfb06fb3380f2b3afaaa7eb1039" + integrity sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ== + +nopt@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d" + integrity sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g== + dependencies: + abbrev "^1.0.0" + +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" + integrity sha512-7WyT0w8jhpDStXRq5836AMmihQwq2nrUVQrgjvUo/p/NZf9uy/MeJ246lBJVmWuYXMlJuG9BNZHF0hWjfTbQUA== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +nwsapi@^2.2.0: + version "2.2.5" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.5.tgz#a52744c61b3889dd44b0a158687add39b8d935e2" + integrity sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ== + +object-assign@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.9.0: + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.0: + version "4.1.4" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ== + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^8.0.2, open@^8.0.9: + version "8.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +openapi-typescript-codegen@^0.24.0: + version "0.24.0" + resolved "https://registry.yarnpkg.com/openapi-typescript-codegen/-/openapi-typescript-codegen-0.24.0.tgz#b3e6ade5bae75cd47868e5e3e4dc3bcf899cadab" + integrity sha512-rSt8t1XbMWhv6Db7GUI24NNli7FU5kzHLxcE8BpzgGWRdWyWt9IB2YoLyPahxNrVA7yOaVgnXPkrcTDRMQtJYg== + dependencies: + camelcase "^6.3.0" + commander "^10.0.0" + fs-extra "^11.1.1" + handlebars "^4.7.7" + json-schema-ref-parser "^9.0.9" + +openapi-typescript@^6.2.8: + version "6.2.8" + resolved "https://registry.yarnpkg.com/openapi-typescript/-/openapi-typescript-6.2.8.tgz#71f43e932b1405a22a6fd5b94bcb37a90698a834" + integrity sha512-yA+y5MHiu6cjmtsGfNLavzVuvGCKzjL3H+exgHDPK6bnp6ZVFibtAiafenNSRDWL0x+7Sw/VPv5SbaqiPLW46w== + dependencies: + ansi-colors "^4.1.3" + fast-glob "^3.2.12" + js-yaml "^4.1.0" + supports-color "^9.3.1" + undici "^5.22.1" + yargs-parser "^21.1.1" + +opener@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + +ora@^5.3.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2, p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-retry@^4.5.0: + version "4.6.2" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" + integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== + dependencies: + "@types/retry" "0.12.0" + retry "^0.13.1" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +param-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" + integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^5.0.0, parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + 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" + +parse-node-version@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" + integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== + +parse5-htmlparser2-tree-adapter@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" + integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== + dependencies: + parse5 "^6.0.1" + +parse5@6.0.1, parse5@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +parse5@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pirates@^4.0.4: + version "4.0.6" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +pkg-dir@^4.1.0, pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +portfinder@^1.0.26: + version "1.0.32" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.32.tgz#2fe1b9e58389712429dc2bea5beb2146146c7f81" + integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg== + dependencies: + async "^2.6.4" + debug "^3.2.7" + mkdirp "^0.5.6" + +postcss-calc@^8.2.3: + version "8.2.4" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" + integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== + dependencies: + postcss-selector-parser "^6.0.9" + postcss-value-parser "^4.2.0" + +postcss-colormin@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.1.tgz#86c27c26ed6ba00d96c79e08f3ffb418d1d1988f" + integrity sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + colord "^2.9.1" + postcss-value-parser "^4.2.0" + +postcss-convert-values@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz#04998bb9ba6b65aa31035d669a6af342c5f9d393" + integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA== + dependencies: + browserslist "^4.21.4" + postcss-value-parser "^4.2.0" + +postcss-discard-comments@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz#8df5e81d2925af2780075840c1526f0660e53696" + integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== + +postcss-discard-duplicates@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" + integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== + +postcss-discard-empty@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" + integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== + +postcss-discard-overridden@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" + integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== + +postcss-loader@^6.1.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef" + integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== + dependencies: + cosmiconfig "^7.0.0" + klona "^2.0.5" + semver "^7.3.5" + +postcss-merge-longhand@^5.1.7: + version "5.1.7" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz#24a1bdf402d9ef0e70f568f39bdc0344d568fb16" + integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ== + dependencies: + postcss-value-parser "^4.2.0" + stylehacks "^5.1.1" + +postcss-merge-rules@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz#2f26fa5cacb75b1402e213789f6766ae5e40313c" + integrity sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + cssnano-utils "^3.1.0" + postcss-selector-parser "^6.0.5" + +postcss-minify-font-values@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" + integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-minify-gradients@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz#f1fe1b4f498134a5068240c2f25d46fcd236ba2c" + integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== + dependencies: + colord "^2.9.1" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-minify-params@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz#c06a6c787128b3208b38c9364cfc40c8aa5d7352" + integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw== + dependencies: + browserslist "^4.21.4" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-minify-selectors@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz#d4e7e6b46147b8117ea9325a915a801d5fe656c6" + integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== + dependencies: + postcss-selector-parser "^6.0.5" + +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== + +postcss-modules-local-by-default@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz#b08eb4f083050708998ba2c6061b50c2870ca524" + integrity sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" + integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== + dependencies: + icss-utils "^5.0.0" + +postcss-normalize-charset@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" + integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== + +postcss-normalize-display-values@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" + integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-positions@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz#ef97279d894087b59325b45c47f1e863daefbb92" + integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-repeat-style@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz#e9eb96805204f4766df66fd09ed2e13545420fb2" + integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-string@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" + integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-timing-functions@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" + integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-unicode@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz#f67297fca3fea7f17e0d2caa40769afc487aa030" + integrity sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA== + dependencies: + browserslist "^4.21.4" + postcss-value-parser "^4.2.0" + +postcss-normalize-url@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" + integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== + dependencies: + normalize-url "^6.0.1" + postcss-value-parser "^4.2.0" + +postcss-normalize-whitespace@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" + integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-ordered-values@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz#b6fd2bd10f937b23d86bc829c69e7732ce76ea38" + integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== + dependencies: + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-reduce-initial@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz#798cd77b3e033eae7105c18c9d371d989e1382d6" + integrity sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + +postcss-reduce-transforms@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" + integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: + version "6.0.13" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" + integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-svgo@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" + integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== + dependencies: + postcss-value-parser "^4.2.0" + svgo "^2.7.0" + +postcss-unique-selectors@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" + integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== + dependencies: + postcss-selector-parser "^6.0.5" + +postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^7.0.36: + version "7.0.39" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^8.1.10, postcss@^8.2.6, postcss@^8.3.5, postcss@^8.4.21: + version "8.4.24" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.24.tgz#f714dba9b2284be3cc07dbd2fc57ee4dc972d2df" + integrity sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg== + dependencies: + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +"prettier@^1.18.2 || ^2.0.0", prettier@^2.4.1: + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== + +pretty-error@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" + integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== + dependencies: + lodash "^4.17.20" + renderkid "^3.0.0" + +pretty-format@^27.0.0, pretty-format@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" + integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== + dependencies: + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^17.0.1" + +pretty-format@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.3.tgz#c9fba8cedf99ce50963a11b27d982a9ae90970d5" + integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q== + dependencies: + "@jest/schemas" "^28.1.3" + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +pretty-format@^29.0.0, pretty-format@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.5.0.tgz#283134e74f70e2e3e7229336de0e4fce94ccde5a" + integrity sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw== + dependencies: + "@jest/schemas" "^29.4.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +pretty@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pretty/-/pretty-2.0.0.tgz#adbc7960b7bbfe289a557dc5f737619a220d06a5" + integrity sha512-G9xUchgTEiNpormdYBl+Pha50gOUovT18IvAe7EYMZ1/f9W/WWMPRn+xI68yXNMUk3QXHDwo/1wV/4NejVNe1w== + dependencies: + condense-newlines "^0.2.1" + extend-shallow "^2.0.1" + js-beautify "^1.6.12" + +primeflex@^3.3.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/primeflex/-/primeflex-3.3.1.tgz#361dddf6eb5db50d733e4cddd4b6e376a3d7bd68" + integrity sha512-zaOq3YvcOYytbAmKv3zYc+0VNS9Wg5d37dfxZnveKBFPr7vEIwfV5ydrpiouTft8MVW6qNjfkaQphHSnvgQbpQ== + +primeicons@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/primeicons/-/primeicons-6.0.1.tgz#431fa7c79825934eefd62087d8e1faa6a9e376ad" + integrity sha512-KDeO94CbWI4pKsPnYpA1FPjo79EsY9I+M8ywoPBSf9XMXoe/0crjbUK7jcQEDHuc0ZMRIZsxH3TYLv4TUtHmAA== + +primevue@^3.23.0: + version "3.29.2" + resolved "https://registry.yarnpkg.com/primevue/-/primevue-3.29.2.tgz#de3fd996a84353e6a817023f7c43b3f368b4a121" + integrity sha512-zMk1w5AySLR6ipWH2fONKtDabHrvRZhZFI1OdoiBDdMhZpARmWuCXwE/ZFusUh5Te0RBEd3iVCiizjUkSRraRQ== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +progress-webpack-plugin@^1.0.12: + version "1.0.16" + resolved "https://registry.yarnpkg.com/progress-webpack-plugin/-/progress-webpack-plugin-1.0.16.tgz#278f5c1afd21af783aad72c5ec95241520230fe5" + integrity sha512-sdiHuuKOzELcBANHfrupYo+r99iPRyOnw15qX+rNlVUqXGfjXdH4IgxriKwG1kNJwVswKQHMdj1hYZMcb9jFaA== + dependencies: + chalk "^2.1.0" + figures "^2.0.0" + log-update "^2.3.0" + +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== + +psl@^1.1.33: + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.1.0, punycode@^2.1.1: + version "2.3.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + +pure-rand@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.2.tgz#a9c2ddcae9b68d736a8163036f088a2781c8b306" + integrity sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ== + +qs@6.11.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^5.1.1, read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +readable-stream@^2.0.1: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.6, readable-stream@^3.4.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +regenerate-unicode-properties@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" + integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.13.11: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +regenerator-transform@^0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56" + integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== + dependencies: + "@babel/runtime" "^7.8.4" + +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" + integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== + dependencies: + "@babel/regjsgen" "^0.8.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +relateurl@^0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== + +renderkid@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" + integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== + dependencies: + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^6.0.1" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve.exports@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.1.tgz#05cfd5b3edf641571fd46fa608b610dda9ead999" + integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== + +resolve.exports@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" + integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== + +resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0: + version "1.22.2" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" + integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== + dependencies: + is-core-module "^2.11.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q== + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +retry@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sax@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +schema-utils@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" + integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== + dependencies: + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" + +schema-utils@^2.6.5: + version "2.7.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" + integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== + +selfsigned@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.1.1.tgz#18a7613d714c0cd3385c48af0075abf3f266af61" + integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== + dependencies: + node-forge "^1" + +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.6, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3: + version "7.5.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.3.tgz#161ce8c2c6b4b3bdca6caadc9fa3317a4c4fe88e" + integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ== + dependencies: + lru-cache "^6.0.0" + +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" + integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.7.3: + version "1.8.1" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +sigmund@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + integrity sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g== + +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +sirv@^1.0.7: + version "1.0.19" + resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.19.tgz#1d73979b38c7fe91fcba49c85280daa9c2363b49" + integrity sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ== + dependencies: + "@polka/url" "^1.0.0-next.20" + mrmime "^1.0.0" + totalist "^1.0.0" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + +sockjs@^0.3.24: + version "0.3.24" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== + dependencies: + faye-websocket "^0.11.3" + uuid "^8.3.2" + websocket-driver "^0.7.4" + +source-map-js@^1.0.1, source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-support@^0.5.6, source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@0.5.6: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + integrity sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA== + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.13" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz#7189a474c46f8d47c7b0da4b987bb45e908bd2d5" + integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +ssri@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" + integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== + dependencies: + minipass "^3.1.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + +stackframe@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" + integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +streamsearch@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" + integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-length@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-5.0.1.tgz#3d647f497b6e8e8d41e422f7e0b23bc536c8381e" + integrity sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow== + dependencies: + char-regex "^2.0.0" + strip-ansi "^7.0.1" + +string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-indent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" + integrity sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA== + +strip-json-comments@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +stylehacks@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.1.tgz#7934a34eb59d7152149fa69d6e9e56f2fc34bcc9" + integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw== + dependencies: + browserslist "^4.21.4" + postcss-selector-parser "^6.0.4" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-color@^9.3.1: + version "9.4.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.4.0.tgz#17bfcf686288f531db3dea3215510621ccb55954" + integrity sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw== + +supports-hyperlinks@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" + integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +svg-tags@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" + integrity sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA== + +svgo@^2.7.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" + integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^4.1.3" + css-tree "^1.1.3" + csso "^4.2.0" + picocolors "^1.0.0" + stable "^0.1.8" + +symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +tapable@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +terser-webpack-plugin@^5.1.1, terser-webpack-plugin@^5.3.7: + version "5.3.9" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz#832536999c51b46d468067f9e37662a3b96adfe1" + integrity sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.17" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.16.8" + +terser@^5.10.0, terser@^5.16.8: + version "5.18.2" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.18.2.tgz#ff3072a0faf21ffd38f99acc9a0ddf7b5f07b948" + integrity sha512-Ah19JS86ypbJzTzvUCX7KOsEIhDaRONungA4aYBjEP3JZRf4ocuDzTg4QWZnPn9DEMiMYGJPiSOy7aykoCc70w== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + +thread-loader@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/thread-loader/-/thread-loader-3.0.4.tgz#c392e4c0241fbc80430eb680e4886819b504a31b" + integrity sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA== + dependencies: + json-parse-better-errors "^1.0.2" + loader-runner "^4.1.0" + loader-utils "^2.0.0" + neo-async "^2.6.2" + schema-utils "^3.0.0" + +throat@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.2.tgz#51a3fbb5e11ae72e2cf74861ed5c8020f89f29fe" + integrity sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ== + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +totalist@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" + integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== + +tough-cookie@^4.0.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" + integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.2.0" + url-parse "^1.5.3" + +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== + dependencies: + punycode "^2.1.1" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +ts-jest@^29.1.1: + version "29.1.1" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.1.tgz#f58fe62c63caf7bfcc5cc6472082f79180f0815b" + integrity sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA== + dependencies: + bs-logger "0.x" + fast-json-stable-stringify "2.x" + jest-util "^29.0.0" + json5 "^2.2.3" + lodash.memoize "4.x" + make-error "1.x" + semver "^7.5.3" + yargs-parser "^21.0.1" + +ts-loader@^9.2.5: + version "9.4.4" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.4.4.tgz#6ceaf4d58dcc6979f84125335904920884b7cee4" + integrity sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w== + dependencies: + chalk "^4.1.0" + enhanced-resolve "^5.0.0" + micromatch "^4.0.0" + semver "^7.3.4" + +tsconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7" + integrity sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw== + dependencies: + "@types/strip-bom" "^3.0.0" + "@types/strip-json-comments" "0.0.30" + strip-bom "^3.0.0" + strip-json-comments "^2.0.0" + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.3, tslib@^2.3.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.0.tgz#b295854684dbda164e181d259a22cd779dcd7bc3" + integrity sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +"typescript@>=3.3.1 <5.1.0": + version "5.0.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b" + integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== + +uglify-js@^3.1.4: + version "3.17.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" + integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== + +undici@^5.22.1: + version "5.22.1" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.22.1.tgz#877d512effef2ac8be65e695f3586922e1a57d7b" + integrity sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw== + dependencies: + busboy "^1.6.0" + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +update-browserslist-db@^1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" + integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +utila@~0.4: + version "0.4.0" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-to-istanbul@^8.1.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed" + integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +v8-to-istanbul@^9.0.1: + version "9.1.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz#1b83ed4e397f58c85c266a570fc2558b5feb9265" + integrity sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +vue-component-type-helpers@1.6.5: + version "1.6.5" + resolved "https://registry.yarnpkg.com/vue-component-type-helpers/-/vue-component-type-helpers-1.6.5.tgz#ff6b75529063744b0966655725f3e02f30d97cd7" + integrity sha512-iGdlqtajmiqed8ptURKPJ/Olz0/mwripVZszg6tygfZSIL9kYFPJTNY6+Q6OjWGznl2L06vxG5HvNvAnWrnzbg== + +vue-demi@^0.13.11: + version "0.13.11" + resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.13.11.tgz#7d90369bdae8974d87b1973564ad390182410d99" + integrity sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A== + +vue-eslint-parser@^9.1.1, vue-eslint-parser@^9.3.0: + version "9.3.1" + resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-9.3.1.tgz#429955e041ae5371df5f9e37ebc29ba046496182" + integrity sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g== + dependencies: + debug "^4.3.4" + eslint-scope "^7.1.1" + eslint-visitor-keys "^3.3.0" + espree "^9.3.1" + esquery "^1.4.0" + lodash "^4.17.21" + semver "^7.3.6" + +vue-hot-reload-api@^2.3.0: + version "2.3.4" + resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" + integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== + +vue-loader@^17.0.0: + version "17.2.2" + resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-17.2.2.tgz#96148eb70c1365cc8c5bab4274923596811c79df" + integrity sha512-aqNvKJvnz2A/6VWeJZodAo8XLoAlVwBv+2Z6dama+LHsAF+P/xijQ+OfWrxIs0wcGSJduvdzvTuATzXbNKkpiw== + dependencies: + chalk "^4.1.0" + hash-sum "^2.0.0" + watchpack "^2.4.0" + +vue-router@^4.0.3: + version "4.2.2" + resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-4.2.2.tgz#b0097b66d89ca81c0986be03da244c7b32a4fd81" + integrity sha512-cChBPPmAflgBGmy3tBsjeoe3f3VOSG6naKyY5pjtrqLGbNEXdzCigFUHgBvp9e3ysAtFtEx7OLqcSDh/1Cq2TQ== + dependencies: + "@vue/devtools-api" "^6.5.0" + +vue-style-loader@^4.1.0, vue-style-loader@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.3.tgz#6d55863a51fa757ab24e89d9371465072aa7bc35" + integrity sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg== + dependencies: + hash-sum "^1.0.2" + loader-utils "^1.0.2" + +vue-template-es2015-compiler@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825" + integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== + +vue@^3.2.13: + version "3.3.4" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.3.4.tgz#8ed945d3873667df1d0fcf3b2463ada028f88bd6" + integrity sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw== + dependencies: + "@vue/compiler-dom" "3.3.4" + "@vue/compiler-sfc" "3.3.4" + "@vue/runtime-dom" "3.3.4" + "@vue/server-renderer" "3.3.4" + "@vue/shared" "3.3.4" + +vuex@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/vuex/-/vuex-4.1.0.tgz#aa1b3ea5c7385812b074c86faeeec2217872e36c" + integrity sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ== + dependencies: + "@vue/devtools-api" "^6.0.0-beta.11" + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +webpack-bundle-analyzer@^4.4.0: + version "4.9.0" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.0.tgz#fc093c4ab174fd3dcbd1c30b763f56d10141209d" + integrity sha512-+bXGmO1LyiNx0i9enBu3H8mv42sj/BJWhZNFwjz92tVnBa9J3JMGo2an2IXlEleoDOPn/Hofl5hr/xCpObUDtw== + dependencies: + "@discoveryjs/json-ext" "0.5.7" + acorn "^8.0.4" + acorn-walk "^8.0.0" + chalk "^4.1.0" + commander "^7.2.0" + gzip-size "^6.0.0" + lodash "^4.17.20" + opener "^1.5.2" + sirv "^1.0.7" + ws "^7.3.1" + +webpack-chain@^6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/webpack-chain/-/webpack-chain-6.5.1.tgz#4f27284cbbb637e3c8fbdef43eef588d4d861206" + integrity sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA== + dependencies: + deepmerge "^1.5.2" + javascript-stringify "^2.0.1" + +webpack-dev-middleware@^5.3.1: + version "5.3.3" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" + integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== + dependencies: + colorette "^2.0.10" + memfs "^3.4.3" + mime-types "^2.1.31" + range-parser "^1.2.1" + schema-utils "^4.0.0" + +webpack-dev-server@^4.7.3: + version "4.15.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz#8944b29c12760b3a45bdaa70799b17cb91b03df7" + integrity sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/serve-static" "^1.13.10" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.5.5" + ansi-html-community "^0.0.8" + bonjour-service "^1.0.11" + chokidar "^3.5.3" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^2.0.0" + default-gateway "^6.0.3" + express "^4.17.3" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.3" + ipaddr.js "^2.0.1" + launch-editor "^2.6.0" + open "^8.0.9" + p-retry "^4.5.0" + rimraf "^3.0.2" + schema-utils "^4.0.0" + selfsigned "^2.1.1" + serve-index "^1.9.1" + sockjs "^0.3.24" + spdy "^4.0.2" + webpack-dev-middleware "^5.3.1" + ws "^8.13.0" + +webpack-merge@^5.7.3: + version "5.9.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.9.0.tgz#dc160a1c4cf512ceca515cc231669e9ddb133826" + integrity sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg== + dependencies: + clone-deep "^4.0.1" + wildcard "^2.0.0" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack-virtual-modules@^0.4.2: + version "0.4.6" + resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.4.6.tgz#3e4008230731f1db078d9cb6f68baf8571182b45" + integrity sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA== + +webpack@^5.0.0, webpack@^5.54.0: + version "5.88.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.88.1.tgz#21eba01e81bd5edff1968aea726e2fbfd557d3f8" + integrity sha512-FROX3TxQnC/ox4N+3xQoWZzvGXSuscxR32rbzjpXgEzWudJFEJBpdlkkob2ylrv5yzzufD1zph1OoFsLtm6stQ== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^1.0.0" + "@webassemblyjs/ast" "^1.11.5" + "@webassemblyjs/wasm-edit" "^1.11.5" + "@webassemblyjs/wasm-parser" "^1.11.5" + acorn "^8.7.1" + acorn-import-assertions "^1.9.0" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.15.0" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.7" + watchpack "^2.4.0" + webpack-sources "^3.2.3" + +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-fetch@^3.6.2: + version "3.6.2" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" + integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +whatwg-url@^8.0.0, whatwg-url@^8.5.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== + dependencies: + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.0" + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wildcard@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== + +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== + +wrap-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" + integrity sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ== + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + +ws@^7.3.1, ws@^7.4.6: + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +ws@^8.13.0: + version "8.13.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" + integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +xml-name-validator@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" + integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== + +xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^21.0.1, yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^16.0.0, yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^17.3.1: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +yorkie@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yorkie/-/yorkie-2.0.0.tgz#92411912d435214e12c51c2ae1093e54b6bb83d9" + integrity sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw== + dependencies: + execa "^0.8.0" + is-ci "^1.0.10" + normalize-path "^1.0.0" + strip-indent "^2.0.0" diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..e6c750e --- /dev/null +++ b/go.mod @@ -0,0 +1,70 @@ +module cafe + +go 1.20 + +require ( + github.com/gin-contrib/cors v1.4.0 + github.com/gin-contrib/static v0.0.1 + github.com/gin-gonic/gin v1.9.1 + github.com/go-playground/assert/v2 v2.2.0 + github.com/gorilla/websocket v1.5.0 + github.com/mitchellh/mapstructure v1.5.0 + github.com/sirupsen/logrus v1.9.3 + github.com/spf13/viper v1.16.0 + github.com/swaggo/files v1.0.1 + github.com/swaggo/gin-swagger v1.6.0 + github.com/swaggo/swag v1.16.1 + github.com/unjx-de/go-folder v1.0.7 + gorm.io/driver/mysql v1.5.1 + gorm.io/driver/sqlite v1.5.2 + gorm.io/gorm v1.25.2 + gorm.io/plugin/soft_delete v1.2.1 +) + +require ( + github.com/KyleBanks/depth v1.2.1 // indirect + github.com/bytedance/sonic v1.9.2 // indirect + github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect + github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/gabriel-vasile/mimetype v1.4.2 // indirect + github.com/gin-contrib/sse v0.1.0 // indirect + github.com/go-openapi/jsonpointer v0.19.6 // indirect + github.com/go-openapi/jsonreference v0.20.2 // indirect + github.com/go-openapi/spec v0.20.9 // indirect + github.com/go-openapi/swag v0.22.4 // indirect + github.com/go-playground/locales v0.14.1 // indirect + github.com/go-playground/universal-translator v0.18.1 // indirect + github.com/go-playground/validator/v10 v10.14.1 // indirect + github.com/go-sql-driver/mysql v1.7.1 // indirect + github.com/goccy/go-json v0.10.2 // indirect + github.com/hashicorp/hcl v1.0.0 // indirect + github.com/jinzhu/inflection v1.0.0 // indirect + github.com/jinzhu/now v1.1.5 // indirect + github.com/josharian/intern v1.0.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/klauspost/cpuid/v2 v2.2.5 // indirect + github.com/leodido/go-urn v1.2.4 // indirect + github.com/magiconair/properties v1.8.7 // indirect + github.com/mailru/easyjson v0.7.7 // indirect + github.com/mattn/go-isatty v0.0.19 // indirect + github.com/mattn/go-sqlite3 v1.14.17 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/pelletier/go-toml/v2 v2.0.8 // indirect + github.com/spf13/afero v1.9.5 // indirect + github.com/spf13/cast v1.5.1 // indirect + github.com/spf13/jwalterweatherman v1.1.0 // indirect + github.com/spf13/pflag v1.0.5 // indirect + github.com/subosito/gotenv v1.4.2 // indirect + github.com/twitchyliquid64/golang-asm v0.15.1 // indirect + github.com/ugorji/go/codec v1.2.11 // indirect + golang.org/x/arch v0.3.0 // indirect + golang.org/x/crypto v0.10.0 // indirect + golang.org/x/net v0.11.0 // indirect + golang.org/x/sys v0.9.0 // indirect + golang.org/x/text v0.10.0 // indirect + golang.org/x/tools v0.10.0 // indirect + google.golang.org/protobuf v1.31.0 // indirect + gopkg.in/ini.v1 v1.67.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..6c0438b --- /dev/null +++ b/go.sum @@ -0,0 +1,662 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/KyleBanks/depth v1.2.1 h1:5h8fQADFrWtarTdtDudMmGsC7GPbOAu6RVB3ffsVFHc= +github.com/KyleBanks/depth v1.2.1/go.mod h1:jzSb9d0L43HxTQfT+oSA1EEp2q+ne2uh6XgeJcm8brE= +github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= +github.com/bytedance/sonic v1.9.2 h1:GDaNjuWSGu09guE9Oql0MSTNhNCLlWwO8y/xM5BzcbM= +github.com/bytedance/sonic v1.9.2/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= +github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 h1:qSGYFH7+jGhDF8vLC+iwCD4WpbV1EBDSzWkJODFLams= +github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= +github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= +github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU= +github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= +github.com/gin-contrib/cors v1.4.0 h1:oJ6gwtUl3lqV0WEIwM/LxPF1QZ5qe2lGWdY2+bz7y0g= +github.com/gin-contrib/cors v1.4.0/go.mod h1:bs9pNM0x/UsmHPBWT2xZz9ROh8xYjYkiURUfmBoMlcs= +github.com/gin-contrib/gzip v0.0.6 h1:NjcunTcGAj5CO1gn4N8jHOSIeRFHIbn51z6K+xaN4d4= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-contrib/static v0.0.1 h1:JVxuvHPuUfkoul12N7dtQw7KRn/pSMq7Ue1Va9Swm1U= +github.com/gin-contrib/static v0.0.1/go.mod h1:CSxeF+wep05e0kCOsqWdAWbSszmc31zTIbD8TvWl7Hs= +github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= +github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= +github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= +github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= +github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo= +github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= +github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= +github.com/go-openapi/spec v0.20.9 h1:xnlYNQAwKd2VQRRfwTEI0DcK+2cbuvI/0c7jx3gA8/8= +github.com/go-openapi/spec v0.20.9/go.mod h1:2OpW+JddWPrpXSCIX8eOx7lZ5iyuWj3RYR6VaaBKcWA= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= +github.com/go-openapi/swag v0.22.4 h1:QLMzNJnMGPRNDCbySlcj1x01tzU8/9LTTL9hZZZogBU= +github.com/go-openapi/swag v0.22.4/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= +github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= +github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= +github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= +github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= +github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= +github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= +github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= +github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= +github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= +github.com/go-playground/validator/v10 v10.14.1 h1:9c50NUPC30zyuKprjL3vNZ0m5oG+jU0zvx4AqHGnv4k= +github.com/go-playground/validator/v10 v10.14.1/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= +github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= +github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI= +github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= +github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= +github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= +github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= +github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jinzhu/now v1.1.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= +github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg= +github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= +github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= +github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= +github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= +github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-sqlite3 v1.14.3/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI= +github.com/mattn/go-sqlite3 v1.14.17 h1:mCRHCLDUBXgpKAqIKsaAaAsrAlbkeomtRFKXh2L6YIM= +github.com/mattn/go-sqlite3 v1.14.17/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= +github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= +github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= +github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM= +github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= +github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= +github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= +github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.16.0 h1:rGGH0XDZhdUOryiDWjmIvUSWpbNqisK8Wk0Vyefw8hc= +github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1FofRzQg= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= +github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= +github.com/swaggo/files v1.0.1 h1:J1bVJ4XHZNq0I46UU90611i9/YzdrF7x92oX1ig5IdE= +github.com/swaggo/files v1.0.1/go.mod h1:0qXmMNH6sXNf+73t65aKeB+ApmgxdnkQzVTAj2uaMUg= +github.com/swaggo/gin-swagger v1.6.0 h1:y8sxvQ3E20/RCyrXeFfg60r6H0Z+SwpTjMYsMm+zy8M= +github.com/swaggo/gin-swagger v1.6.0/go.mod h1:BG00cCEy294xtVpyIAHG6+e2Qzj/xKlRdOqDkvq0uzo= +github.com/swaggo/swag v1.16.1 h1:fTNRhKstPKxcnoKsytm4sahr8FaYzUcT7i1/3nd/fBg= +github.com/swaggo/swag v1.16.1/go.mod h1:9/LMvHycG3NFHfR6LwvikHv5iFvmPADQ359cKikGxto= +github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= +github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= +github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= +github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= +github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +github.com/unjx-de/go-folder v1.0.7 h1:OVKvqjcVB0ASidVshYndRtkmlqS1h6MIhSr0vqX3Q6A= +github.com/unjx-de/go-folder v1.0.7/go.mod h1:sbcRrRgLE49QI6CZqGBMdneRuNOOhoRU1gx9DYlyD2g= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= +golang.org/x/arch v0.3.0 h1:02VY4/ZcO/gBOH6PUaoiptASxtXU10jazRCP865E97k= +golang.org/x/arch v0.3.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.10.0 h1:LKqV2xt9+kDzSTfOhx4FrkEBcMrAgHSYgzywV9zcGmM= +golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.11.0 h1:bUO06HqtnRcc/7l71XBe4WcqTZ+3AH1J59zWDDwLKgU= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.11.0 h1:Gi2tvZIJyBtO9SDr1q9h5hEQCp/4L2RQ+ar0qjx2oNU= +golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s= +golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.10.0 h1:UpjohKhiEgNc0CSauXmwYftY1+LlaC75SJwh0SgCX58= +golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.10.0 h1:tvDr/iQoUqNdohiYm0LmmKcBk+q86lb9EprIUFhHHGg= +golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= +gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gorm.io/driver/mysql v1.5.1 h1:WUEH5VF9obL/lTtzjmML/5e6VfFR/788coz2uaVCAZw= +gorm.io/driver/mysql v1.5.1/go.mod h1:Jo3Xu7mMhCyj8dlrb3WoCaRd1FhsVh+yMXb1jUInf5o= +gorm.io/driver/sqlite v1.1.3/go.mod h1:AKDgRWk8lcSQSw+9kxCJnX/yySj8G3rdwYlU57cB45c= +gorm.io/driver/sqlite v1.5.2 h1:TpQ+/dqCY4uCigCFyrfnrJnrW9zjpelWVoEVNy5qJkc= +gorm.io/driver/sqlite v1.5.2/go.mod h1:qxAuCol+2r6PannQDpOP1FP6ag3mKi4esLnB/jHed+4= +gorm.io/gorm v1.20.1/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= +gorm.io/gorm v1.23.0/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= +gorm.io/gorm v1.25.1/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= +gorm.io/gorm v1.25.2 h1:gs1o6Vsa+oVKG/a9ElL3XgyGfghFfkKA2SInQaCyMho= +gorm.io/gorm v1.25.2/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= +gorm.io/plugin/soft_delete v1.2.1 h1:qx9D/c4Xu6w5KT8LviX8DgLcB9hkKl6JC9f44Tj7cGU= +gorm.io/plugin/soft_delete v1.2.1/go.mod h1:Zv7vQctOJTGOsJ/bWgrN1n3od0GBAZgnLjEx+cApLGk= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/hub/hub.go b/hub/hub.go new file mode 100644 index 0000000..9bd050e --- /dev/null +++ b/hub/hub.go @@ -0,0 +1,55 @@ +package hub + +import ( + "cafe/service" + + "github.com/sirupsen/logrus" +) + +type ( + NotifierChan chan service.WebSocketMsg + + Hub struct { + Notifier NotifierChan + NewClients chan NotifierChan + ClosingClients chan NotifierChan + clients map[NotifierChan]struct{} + } +) + +func (h *Hub) Initialize() { + h.Notifier = make(NotifierChan) + h.NewClients = make(chan NotifierChan) + h.ClosingClients = make(chan NotifierChan) + h.clients = make(map[NotifierChan]struct{}) + go h.listen() + go func() { + for { + if msg, ok := <-service.LiveCh; ok { + h.Notifier <- msg + } + } + }() +} + +func (h *Hub) listen() { + for { + select { + case s := <-h.NewClients: + h.clients[s] = struct{}{} + logrus.WithField("openConnections", len(h.clients)).Trace("Websocket connection added") + case s := <-h.ClosingClients: + delete(h.clients, s) + logrus.WithField("openConnections", len(h.clients)).Trace("Websocket connection removed") + case event := <-h.Notifier: + for client := range h.clients { + select { + case client <- event: + default: + close(client) + delete(h.clients, client) + } + } + } + } +} diff --git a/main.go b/main.go new file mode 100644 index 0000000..63c1395 --- /dev/null +++ b/main.go @@ -0,0 +1,39 @@ +package main + +import ( + "cafe/api" + "cafe/config" + "cafe/service" + "cafe/user" + "fmt" + + "github.com/gin-gonic/gin" + "github.com/sirupsen/logrus" +) + +func main() { + gin.SetMode(gin.ReleaseMode) + + config.Cafe.Database.Initialize(config.StorageDir) + config.Cafe.Database.MigrateHelper(service.Table{}, "table") + config.Cafe.Database.MigrateHelper(service.Order{}, "order") + config.Cafe.Database.MigrateHelper(service.OrderItem{}, "orderItem") + config.Cafe.Database.MigrateHelper(service.Bill{}, "bill") + config.Cafe.Database.MigrateHelper(service.BillItem{}, "billItem") + config.Cafe.Database.MigrateHelper(user.User{}, "user") + + a := api.Api{} + service.Initialize() + a.Hub.Initialize() + + a.Router = gin.New() + a.SetMiddlewares() + a.HandleStaticFiles() + a.SetupSwagger() + a.SetupRouter() + logrus.WithField("port", config.Cafe.Port).Info("Server running") + err := a.Router.Run(fmt.Sprintf(":%d", config.Cafe.Port)) + if err != nil { + logrus.WithField("error", err).Fatal("Cannot start server") + } +} diff --git a/scripts/dev.sh b/scripts/dev.sh new file mode 100755 index 0000000..c577fc6 --- /dev/null +++ b/scripts/dev.sh @@ -0,0 +1,25 @@ +#!/bin/sh +parse_yaml() { + local prefix=$2 + local s='[[:space:]]*' w='[a-zA-Z0-9_]*' fs=$(echo @ | tr @ '\034') + sed -ne "s|^\($s\)\($w\)$s:$s\"\(.*\)\"$s\$|\1$fs\2$fs\3|p" \ + -e "s|^\($s\)\($w\)$s:$s\(.*\)$s\$|\1$fs\2$fs\3|p" $1 | + awk -F$fs '{ + indent = length($1)/2; + vname[indent] = $2; + for (i in vname) {if (i > indent) {delete vname[i]}} + if (length($3) > 0) { + vn=""; for (i=0; i + + + + + Test + + +

Working
+ + \ No newline at end of file diff --git a/types/types.go b/types/types.go new file mode 100644 index 0000000..3b02eff --- /dev/null +++ b/types/types.go @@ -0,0 +1,59 @@ +package types + +type ( + ErrorResponses uint + ItemType uint + NotifierType uint +) + +const ( + Create NotifierType = iota + Delete + DeleteAll +) + +const ( + Food ItemType = iota + ColdDrink + HotDrink +) + +const ( + MissingInformation ErrorResponses = iota + CannotCreate + CannotUpdate + CannotDelete + CannotFind + StillInUse + CannotParse +) + +func ParseItemType(itemType string) ItemType { + switch itemType { + case "0": + return Food + case "1": + return ColdDrink + default: + return HotDrink + } +} + +func (e ErrorResponses) String() string { + switch e { + case MissingInformation: + return "fehlende Informationen" + case CannotCreate: + return "kann nicht gespeichert werden" + case CannotUpdate: + return "kann nicht geändert werden" + case CannotDelete: + return "kann nicht gelöscht werden" + case CannotFind: + return "kann nicht gefunden werden" + case StillInUse: + return "noch in Verwendung" + default: + return "kann nicht verarbeitet werden" + } +} diff --git a/types/types_test.go b/types/types_test.go new file mode 100644 index 0000000..9e6917b --- /dev/null +++ b/types/types_test.go @@ -0,0 +1,23 @@ +package types + +import ( + "testing" + + "github.com/go-playground/assert/v2" +) + +func TestErrorResponses_String(t *testing.T) { + assert.Equal(t, MissingInformation.String(), "fehlende Informationen") + assert.Equal(t, CannotCreate.String(), "kann nicht gespeichert werden") + assert.Equal(t, CannotUpdate.String(), "kann nicht geändert werden") + assert.Equal(t, CannotDelete.String(), "kann nicht gelöscht werden") + assert.Equal(t, CannotFind.String(), "kann nicht gefunden werden") + assert.Equal(t, StillInUse.String(), "noch in Verwendung") + assert.Equal(t, CannotParse.String(), "kann nicht verarbeitet werden") +} + +func TestParseItemType(t *testing.T) { + assert.Equal(t, ParseItemType("0"), Food) + assert.Equal(t, ParseItemType("1"), ColdDrink) + assert.Equal(t, ParseItemType("2"), HotDrink) +} diff --git a/user/user.go b/user/user.go new file mode 100644 index 0000000..7210639 --- /dev/null +++ b/user/user.go @@ -0,0 +1,42 @@ +package user + +import ( + "cafe/config" + "cafe/types" + "fmt" +) + +type User struct { + Username string `gorm:"primaryKey" json:"username" validate:"required"` + ShowColdDrinks bool `json:"show_cold_drinks" validate:"required"` + ShowHotDrinks bool `json:"show_hot_drinks" validate:"required"` +} + +func DoesUserExist(username string) (User, error) { + var user User + result := config.Cafe.Database.ORM.Limit(1).Find(&user, "username = ?", username) + if result.RowsAffected == 0 { + return user, fmt.Errorf(types.CannotFind.String()) + } + return user, nil +} + +func GetUserOrCreate(username string) (User, error) { + var user User + err := config.Cafe.Database.ORM.Where(User{Username: username}).Attrs(User{ShowHotDrinks: true, ShowColdDrinks: true}).FirstOrCreate(&user).Error + if err != nil { + return user, fmt.Errorf(types.CannotCreate.String()) + } + return user, nil +} + +func UpdateUser(old *User, new *User) error { + err := config.Cafe.Database.ORM.First(old).Updates(map[string]interface{}{ + "Username": new.Username, + "ShowColdDrinks": new.ShowColdDrinks, + "ShowHotDrinks": new.ShowHotDrinks}).Error + if err != nil { + return fmt.Errorf(types.CannotUpdate.String()) + } + return nil +} diff --git a/websocket/websocket.go b/websocket/websocket.go new file mode 100644 index 0000000..0935c3d --- /dev/null +++ b/websocket/websocket.go @@ -0,0 +1,36 @@ +package websocket + +import ( + "cafe/config" + "net/http" + + "github.com/gorilla/websocket" +) + +func inAllowedHosts(str string) bool { + for _, a := range config.Cafe.AllowedHosts { + if a == str { + return true + } + } + return false +} + +var Upgrader = websocket.Upgrader{ + CheckOrigin: func(r *http.Request) bool { + origin := r.Header.Get("Origin") + return inAllowedHosts(origin) + }, + ReadBufferSize: 1024, + WriteBufferSize: 1024, +} + +func ReadPump(conn *websocket.Conn) { + defer conn.Close() + for { + _, _, err := conn.ReadMessage() + if err != nil { + break + } + } +}