diff --git a/.codechina-ci.yml b/.codechina-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..f3aeeeac13a297b79f617f9294a31537a612ae7a --- /dev/null +++ b/.codechina-ci.yml @@ -0,0 +1,16 @@ +# All available Hugo versions are listed here: https://gitlab.com/pages/hugo/container_registry +image: ubuntu-latest + +variables: + GIT_SUBMODULE_STRATEGY: recursive + +pages: + script: + - npm install + - npm run setup + - npm run build + artifacts: + paths: + - public + rules: + - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH diff --git a/.gitignore b/.gitignore index 4fe18e2c880d903840a348636f00641d240854d3..ef26e9f8d40ff679dfe6dcc3da96a61d6d2d7810 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ /build /tmp /out-tsc +/public # dependencies /node_modules diff --git a/angular.json b/angular.json index cc23a75cbde2efcd215f485ef8e778919a198af8..b602234e12b6cd4379dd688bf32f9144562a2988 100644 --- a/angular.json +++ b/angular.json @@ -18,7 +18,7 @@ "builder": "@angular-devkit/build-angular:browser", "options": { "allowedCommonJsDependencies": ["axios", "qs", "nprogress"], - "outputPath": "dist", + "outputPath": "public", "index": "src/index.html", "main": "src/main.ts", "polyfills": "src/polyfills.ts", diff --git a/data/db.json b/data/db.json index 6f26ce5374c6ea854f02b772cf7a25b621c55a36..06762fce678491793811bfd1cc7e6489161396db 100644 --- a/data/db.json +++ b/data/db.json @@ -1 +1,10118 @@ -[{"title":"实用工具","nav":[{"title":"开发相关","nav":[{"title":"开发神器","nav":[{"name":"Github-CLI","createdAt":"2021-02-18T13:06:06.671Z","rate":5,"desc":"GitHub的官方命令行工具","top":false,"icon":"https://github.githubassets.com/favicons/favicon.svg","url":"https://cli.github.com/","urls":{"Github":"https://github.com/cli/cli"}},{"name":"Coveralls","icon":"https://coveralls.io/favicon.png","url":"https://coveralls.io/","desc":"通过显示测试套件未涵盖代码的哪些部分,我们可以帮助您自信地交付代码。免费提供开源软件库","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"Releasly","desc":"在新的开源版本发布时收到通知,直接发送到您的电子邮件中。","url":"https://www.releasly.co/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"Convert cURL","desc":"将curl命令转换为Python,JavaScript,PHP,R,Go,Rust,Dart,JSON,Ansible,Elixir。","url":"https://curl.trillworks.com/","urls":{"Github":"https://github.com/NickCarneiro/curlconverter"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"Supervisor","desc":"Supervisor是一个客户端/服务器系统,允许其用户监视和控制类似UNIX的操作系统上的多个进程。","url":"http://supervisord.org/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.sonarqube.org/favicon-152.png","name":"SonarQube","desc":"代码质量和安全性检查, 支持所有开发人员编写更干净,更安全的代码。","url":"https://www.sonarqube.org/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://paste.ubuntu.com/favicon.ico","name":"Pastebin","desc":"在线共享代码,将代码以URL形式发送以便查看","url":"https://paste.ubuntu.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/30217756?s=200&v=4","name":"UPX","desc":"UPX-可执行文件的终极打包器","url":"https://github.com/upx/upx","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/30217756?s=200&v=4","name":"askgit","desc":"使用SQL查询git存储库。生成报告,执行状态检查,分析代码库。","url":"https://github.com/augmentable-dev/askgit","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars3.githubusercontent.com/u/1396951?s=200&v=4","name":"Sentry","desc":"Web应用程序,移动应用程序和游戏的实时崩溃报告。","url":"https://sentry.io/","urls":{"Github":"https://github.com/getsentry"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://randomuser.me/favicon.ico","name":"randomuser","desc":"随机用户生成器是用于生成占位符用户信息的免费API。 获取个人资料照片,姓名等。 对于人们来说,就像Lorem Ipsum。","url":"https://randomuser.me/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://camo.githubusercontent.com/ebfdd465daa90626d0ab0d0fddc0e457c942a392/68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f616e7572616768617a72612f696d6167652f75706c6f61642f76313539343930383234322f6c6f676f5f636373776d652e737667","name":"github-readme-stats","desc":"在你的 README 中 获取动态生成的 GitHub 统计信息","url":"https://github.com/anuraghazra/github-readme-stats/blob/master/readme_cn.md","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://i.imgur.com/zBEQq4w.png","name":"Hits","desc":"了解有多少人正在查看您的GitHub项目的简单方法","url":"http://hits.dwyl.io/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"GitHub 文件加速","desc":"GitHub 文件加速","url":"https://shrill-pond-3e81.hunsh.workers.dev/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"Shields IO","desc":"svg生成版本号图标","url":"https://shields.io/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.fundebug.com/favicon.ico","name":"FunDebug","desc":"支持前端JavaScript,后端Node.js以及微信小程序错误监控","url":"https://www.fundebug.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"http://www.asciiworld.com/favicon.ico","name":"Asciiworld","desc":"WA!原来那些年程序猿搞怪的注释都在这里","url":"http://www.asciiworld.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://jsfiddle.net/img/favicon.png","name":"jsfiddle","desc":"强大的前端代码在线演示的网站","url":"http://jsfiddle.net/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://user-images.githubusercontent.com/799578/50462941-8075fe80-09c3-11e9-89e7-af0cb7991406.png","name":"CODEIF","desc":"变量命名神器","url":"https://unbug.github.io/codelf/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"http://asciiflow.com/images/favicon.png","name":"ASCIIFlow Infinity","desc":"无限的ASCII图表,保存到谷歌驱动器,调整大小,自由绘制,并直接输出到文本/HTML。","url":"http://asciiflow.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://kinolien.github.io/gitzip/images/gitzip.png","name":"gitzip","desc":"它可以将GITHUB存储库的子文件夹/子目录作为zip并下载","url":"https://kinolien.github.io/gitzip/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"http://sc.ftqq.com/static/image/favlogo.png","name":"Server酱","desc":"「Server酱」,英文名「ServerChan」,是一款「程序员」和「服务器」之间的通信软件。","url":"http://sc.ftqq.com","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"mkcert","desc":"一个简单的零配置工具,可以使用您喜欢的任何名称制作本地可信赖的SSL开发证书","url":"https://github.com/FiloSottile/mkcert","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://carbon.now.sh/favicon.ico","name":"carbon","desc":"创建和分享源代码的精美图像","url":"https://carbon.now.sh","urls":{"Github":"https://github.com/dawnlabs/carbon"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"setup-ipsec-vpn","desc":"用于构建您自己的IPsec VPN服务器的脚本,在Ubuntu,Debian和CentOS上使用IPsec / L2TP和Cisco IPsec","url":"https://github.com/hwdsl2/setup-ipsec-vpn","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.digitalocean.com/favicon.ico","name":"nginxconfig","desc":"nginx配置生成器","url":"https://www.digitalocean.com/community/tools/nginx#?","urls":{"Github":"https://github.com/digitalocean/nginxconfig.io"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"GraphQL Explorer","desc":"GraphQL资源管理器利用真实的、实时的生产数据","url":"https://developer.github.com/v4/explorer/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"patorjk","desc":"将文本转换成ASCII","url":"http://patorjk.com/software/taag/#p=display&f=Graffiti&t=xiejiahe","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/62133242?s=200&v=4","name":"lens","desc":"Lens控制Kubernetes集群所需的唯一IDE。它是适用于MacOS,Windows和Linux操作系统的独立应用程序。它是开源的,免费的。","url":"https://k8slens.dev/","urls":{"Github":"https://github.com/lensapp/lens"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"public-apis","desc":"一些可用在 Web 或软件开发的开放 API 接口","url":"https://github.com/public-apis/public-apis","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://astexplorer.net/favicon.png","name":"astexplorer","desc":"一个Web工具,用于探索由各种解析器生成的AST","url":"https://astexplorer.net/","urls":{"Github":"https://github.com/fkling/astexplorer"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"http://www.u.tools/assets/img/brand/favicon.png","name":"uTools","desc":"uTools是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合","url":"http://www.u.tools/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://ihateregex.io/favicon.ico","name":"ihateregex","desc":"正则表达式备忘录","url":"https://ihateregex.io/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars3.githubusercontent.com/u/22552083?s=200&v=4","name":"Oh My ZSH","desc":"是一个开放源代码,社区驱动的框架,用于管理zsh配置。","url":"https://ohmyz.sh/","urls":{"Github":"https://github.com/ohmyzsh"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://tampermonkey.freetls.fastly.net/images/icon144.png","name":"Tampermonkey","desc":"一款免费的浏览器扩展和最为流行的用户脚本管理器","url":"https://www.tampermonkey.net/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"Greasy Fork","desc":"提供用户脚本的网站","url":"https://greasyfork.org/zh-CN","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://img.kuaidaili.com/img/favicon.ico?v=3","name":"免费代理","desc":"免费HTTP代理IP","url":"https://www.kuaidaili.com/free/inha/1/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/1342004?s=200&v=4","name":"Google Workspace","desc":"Google Workspace状态信息中心","url":"https://www.google.com/appsstatus#hl=en&v=status","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"接口/开发文档管理","nav":[{"icon":"https://www.eolinker.com/assets/images/favicon.ico","name":"eoLinker接口管理平台","desc":"国内最大的在线接口管理服务方案供应商","url":"https://www.eolinker.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/19645609?s=200&v=4","name":"YApi","desc":"YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台","url":"https://yapi.baidu.com/","urls":{"Github":"https://github.com/YMFE/yapi"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"http://rap2.taobao.org/favicon.png","name":"RAP2","desc":"Web接口管理工具,开源免费,接口自动化,MOCK数据自动生成,自动化测试,企业级管理。阿里妈妈MUX团队出品","url":"http://rap2.taobao.org/","urls":{"Github":"https://github.com/thx/rap2-delos"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://www.showdoc.cc/static/logo/b_64.png","name":"showdoc","desc":"一个非常适合IT团队的在线API文档、技术文档工具","url":"https://www.showdoc.cc/","urls":{"Github":"https://github.com/star7th/showdoc"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars3.githubusercontent.com/u/40133106?s=200&v=4","name":"docsify","desc":"一个神奇的文档站点生成器","url":"https://docsify.js.org","urls":{"Github":"https://github.com/docsifyjs/docsify"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/4103663?s=200&v=4","name":"apiDoc","desc":"RESTful Web API文档生成器","url":"http://apidocjs.com","urls":{"Github":"https://github.com/apidoc/apidoc"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/69631?s=200&v=4","name":"docusaurus","desc":"易于维护的开源文档网站","url":"https://docusaurus.io/","urls":{"Github":"https://github.com/facebook/docusaurus"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://www.zentao.net/favicon.ico","name":"禅道","desc":"禅道是灵活的项目管理软件","url":"https://www.zentao.net/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.tapd.cn/favicon.ico","name":"Tapd","desc":"一站式敏捷研发协作云平台, 凝聚腾讯研发方法及敏捷实践精髓, 助力企业研发更高效、协作更敏捷","url":"https://www.tapd.cn/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/56705483?s=200&v=4","name":"Hoppscotch","desc":"一个免费,快速,美观的API请求构建器,供10万多个开发人员使用。(原名叫 Postwoman)","url":"https://hoppscotch.io/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"内网穿透/代理","nav":[{"name":"Sunny-Ngrok","desc":"一条命令解决的外网访问内网问题,无需任何配置,下载客户端之后直接一条命令让外网访问您的内网不再是距离","url":"https://www.ngrok.cc/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"frp","desc":"一个快速反向代理,可帮助您将NAT或防火墙后面的本地服务器暴露给Internet。","url":"https://github.com/fatedier/frp","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/11404085?s=200&v=4","name":"zan-proxy","desc":"本地代码调试线上页面,环境再也不是问题","url":"https://youzan.github.io/zan-proxy/","urls":{"Github":"https://github.com/youzan/zan-proxy"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://ngrok.com/static/img/favicon.png","name":"ngrok","desc":"ngrok是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok可捕获和分析所有通道上的流量,便于后期分析和重放","url":"https://ngrok.com/","urls":{"Github":"https://github.com/inconshreveable/ngrok"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"编码/解码","nav":[{"icon":"http://www.chamd5.org/favicon.ico","name":"查MD5","desc":"MD5在线解密|md5在线破解|批量破解md5网站","url":"http://www.cmd5.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://jwt.io/img/favicon/apple-icon-76x76.png","name":"JSON Web Tokens","desc":"jwt 在线解码","url":"https://jwt.io/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"http://www.xpcha.com/favicon.ico","name":"base64","desc":"base64在线解码编码","url":"http://base64.xpcha.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"免费公开API","nav":[{"icon":"https://www.ipify.org/static/images/favicon-96x96.png","name":"ipify","desc":"一个简单的公共IP地址API","url":"https://www.ipify.org/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"归属地查询","desc":"淘宝免费归属地查询","url":"https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=13333333333","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"设计相关","nav":[{"title":"设计相关","nav":[{"icon":"https://www.draw.io/images/apple-touch-icon.png","name":"draw","desc":"免费的在线图表软件,用于制作流程图、流程图、组织图、UML、ER和网络图","url":"https://www.draw.io/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.processon.com/favicon.ico","name":"ProcessOn","desc":"免费在线作图工具,UML作图,UI界面原型设计,iOS原型设计,BPMN,流程图,思维导图,多人协作绘图","url":"https://www.processon.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://lhcdn.lanhuapp.com/web/static/favicon.ico","name":"蓝湖","desc":"蓝湖是一款设计图共享平台,帮助互联网团队管理设计图","url":"https://lanhuapp.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://zeplin.io/img/favicon/228x228.png","name":"Zeplin","desc":"为设计师和前端而生的协作应用","url":"https://zeplin.io/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://mubu.com/favicon.ico","name":"幕布","desc":"极简大纲笔记 | 一键生成思维导图","url":"https://mubu.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://p.ssl.qhimg.com/t01a54d9106629dda0e.png","name":"声享","desc":"在线制作 PPT,让分享更有价值","url":"https://ppt.baomitu.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://modao.cc/images/logo.png","name":"墨刀","desc":"原型设计工具,web原型设计工具,app原型设计工具","url":"https://modao.cc/features","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://xzlogo.com/static/images/favicon-16x16.png?v2","name":"小智LOGO","desc":"LOGO在线制作神器 - 3分钟完成LOGO设计在线生成","url":"https://xzlogo.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.chuangkit.com/favicon.ico","name":"创客贴","desc":"一款简单易用、功能强大的线上图形设计工具","url":"https://www.chuangkit.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://cdn.jifo.co/favicon/favicon.ico","name":"在线制作图表","desc":"信息图表是一种易于使用的信息图表和图表制造商。创建和分享美丽的信息图表,在线报告和互动地图。在这里做你自己","url":"https://infogram.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"CLIPPING MAGIC","desc":"删除图像背景在线。使背景透明,白色等编辑,裁剪,旋转,固定颜色,添加阴影,一款在线抠图工具","url":"https://clippingmagic.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://koutu.gaoding.com/favicon.ico","name":"稿定抠图","desc":"稿定设计是一款专为淘宝店主、新媒体运营人员和修图爱好者打造的免费在线抠图工具。","url":"https://www.gaoding.com/koutu","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://uzer.me/favicon.ico","name":"UZER.ME","desc":"超级应用空间致力于全生命周期的文档管理,无需安装,即可在线编辑Office, CAD,PS等任意格式文档,支持远程协作,全文检索,版本管理,权限管理,安全外发等.提高工作效率,降低安全风险","url":"https://uzer.me/index.html","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.launchaco.com/static/favicon.ico","name":"launchaco","desc":"免费在线制作LOGO","url":"https://www.launchaco.com/logo","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://g.alicdn.com/acca/resource/luban/image/favicon.png","name":"鹿班","desc":"鹿班 - 让设计更美好(阿里出品)","url":"https://luban.aliyun.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.yasuotu.com/favicon.ico","name":"图片裁剪","desc":"在线裁剪照片大小尺寸","url":"https://www.yasuotu.com/meditor","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"GUI软件","nav":[{"title":"GUI","nav":[{"icon":"https://bitwarden.com/images/icons/favicon-32x32.png","name":"Bitwarden","desc":"个人和企业在任何设备上存储,共享和保护敏感数据的最简单,最安全的方法","url":"https://bitwarden.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://typora.io/img/favicon-48.png","name":"Typeora","desc":"Typora是一款跨平台的最小Markdown编辑器,可为Markdown读者和作家提供无缝的体验","url":"https://typora.io/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.iterm2.com/favicon.ico","name":"iterm2","desc":"iTerm2是Terminal的替代品,是iTerm的后续产品","url":"https://www.iterm2.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.sourcetreeapp.com/assets/img/favicons/sourcetree/favicon-32x32.png","name":"Sourcetree","desc":"美丽的Git GUI中的简单性和强大功能","url":"https://www.sourcetreeapp.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.charlesproxy.com/static/img/icon.8b97278f.png","name":"charles","desc":"Charles是HTTP代理/ HTTP监视器/反向代理,使开发人员可以查看其计算机与Internet之间的所有HTTP和SSL / HTTPS通信。这包括请求,响应和HTTP标头(其中包含cookie和缓存信息)。","url":"https://www.charlesproxy.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://tunnelblick.net/favicon.ico","name":"Tunnelblick","desc":"适用于macOS的免费开源OpenVPN VPN客户端服务器软件。","url":"https://tunnelblick.net/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.keka.io/img/Keka-120x120.png","name":"Keka","desc":"macOS文件存档器, 储存更多,私密分享","url":"https://www.keka.io/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://getkap.co/static/favicon/kap.ico","name":"Kap","desc":"使用Web技术构建的开源屏幕录像机。","url":"https://getkap.co/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://code.visualstudio.com/apple-touch-icon.png","name":"Vscode","desc":"VScode是一款轻量级的编辑器,自由。 建立在开源上。 无处不在。","url":"https://code.visualstudio.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://nmap.org/shared/images/tiny-eyeicon.png","name":"zenmap","desc":"开源免费的网络发现工具,通过它能够找出网络上在线的主机,并测试主机上哪些端口处于监听状态,接着通过端口确定主机上运行的应用程序类型与版本信息,最后利用它还能侦测出操作系统的类型和版本","url":"https://nmap.org/zenmap/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://obsproject.com/favicon-32x32.png","name":"obsproject","desc":"免费和开源软件,用于视频录制和实时流。","url":"https://obsproject.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/14985020?s=200&v=4","name":"hyper","desc":"基于WEB技术的终端","url":"https://hyper.is/","urls":{"Github":"https://github.com/zeit/hyper"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://www.listary.com/wp-content/themes/listary5/images/favicon.ico","name":"Listary","desc":"Listary是Windows的革命性搜索实用程序,它使休闲用户和高级用户都能快速找到文件并启动应用程序!","url":"https://www.listary.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"虚拟机","nav":[{"icon":"https://www.vmware.com/favicon.ico","name":"vmware","desc":"利用VMware提供的软件定义的云,移动性,网络和安全解决方案来建立您的数字基础。","url":"https://www.vmware.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.parallels.cn/typo3conf/ext/prls_theme/Resources/Public/theme/res/img/favicon/favicon.png","name":"parallels","desc":"Mac和Windows虚拟化|管理Mac|VDI和RDS解决方案","url":"https://www.parallels.cn/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"http://mumu.163.com/favicon.ico","name":"mumu Android模拟器","desc":"网易MuMu[手游模拟器][安卓模拟器]","url":"http://mumu.163.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"数据库","nav":[{"icon":"https://avatars3.githubusercontent.com/u/34743864?s=200&v=4","name":"DBeaver","desc":"适用于开发人员,数据库管理员,分析师和所有需要使用数据库的人员的免费的多平台数据库工具。支持所有流行的数据库:MySQL,PostgreSQL,SQLite,Oracle,DB2,SQL Server,Sybase,MS Access,Teradata,Firebird,Apache Hive,Phoenix,Presto等","url":"https://dbeaver.io/","urls":{"Github":"https://github.com/dbeaver/dbeaver"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://redisdesktop.com/static/css/favicon.png","name":"RedisDesktopManager","desc":"Redis Desktop Manager(又名RDM)—是用于Windows,Linux,MacOS和iPadOS的快速Redis数据库管理应用程序。","url":"https://redisdesktop.com/","urls":{"Github":"https://github.com/uglide/RedisDesktopManager"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://sequelpro.com/favicon/favicon-32x32.png","name":"Sequel Pro","desc":"Sequel Pro是一个快速,易于使用的Mac数据库管理应用程序,用于处理MySQL数据库。","url":"https://www.sequelpro.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://robomongo.org/static/favicon-11ace079.ico","name":"Robo 3T","desc":"一个现代,强大且由社区驱动的MongoDB管理工具","url":"https://robomongo.org/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.jetbrains.com/favicon-32x32.png","name":"DataGrip","desc":"jetbrains出品的数据库管理系统","url":"https://www.jetbrains.com/datagrip/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://tableplus.com/resources/favicons/apple-icon-57x57.png","name":"tableplus","desc":"用于关系数据库的现代,本地且友好的GUI工具:MySQL,PostgreSQL,SQLite等","url":"https://tableplus.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"远程控制","nav":[{"icon":"https://www.teamviewer.cn/wp-content/themes/tv-wordpress-theme/dist/media/favicon.png","name":"TeamViewer","desc":"TeamViewer远程连接控制软件是一款随时随地连接到远程桌面电脑、移动设备及Iot,让远程连接过程更加的快速和安全,轻松实现对文件、网络及程序的实时支持或访问。","url":"https://www.teamviewer.cn/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://sunlogin.oray.com/favicon.ico","name":"向日葵","desc":"向日葵远程控制软件是一款免费的集远程控制电脑手机、远程桌面连接、远程开机、远程管理、支持内网穿透的一体化远程控制管理工具软件","url":"https://sunlogin.oray.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"飞机场","nav":[{"icon":"https://avatars0.githubusercontent.com/u/14110142?s=200&v=4","name":"v2ray","desc":"用于构建代理绕过网络限制的平台。","url":"https://github.com/v2ray/v2ray-core","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://github.com/Dreamacro/clash/raw/master/docs/logo.png","name":"clash","desc":"Go中基于规则的隧道","url":"https://github.com/Dreamacro/clash","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"影视/音乐","nav":[{"title":"影视","nav":[{"icon":"https://www.bilibili.com/favicon.ico","name":"哔哩哔哩","desc":"国内知名的视频弹幕网站,这里有最及时的动漫新番,最棒的ACG氛围,最有创意的Up主","url":"https://www.bilibili.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.iqiyipic.com/common/images/PCW-114x114.png","name":"爱奇艺","desc":"拥有海量、优质、高清的网络视频的大型视频网站,专业的网络视频播放平台","url":"https://www.iqiyi.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.youtube.com/favicon.ico","name":"Youtube","desc":"全球最大的视频网站","url":"https://www.youtube.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.douyu.com/favicon.ico","name":"斗鱼","desc":"斗鱼 - 每个人的直播平台","url":"https://www.douyu.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://cdn.jsdelivr.net/gh/txxxjs/fk/ifkdy/2020-03-16/favicon.ico","name":"疯狂影视搜索","desc":"疯狂影视搜索是一款全能影视搜索引擎,帮你找到最新影视资源,一站拥有无尽影视资源","url":"http://ifkdy.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"http://www.qmaile.com/favicon.ico","name":"全民vip视频在线解析","desc":"免费全网VIP视频会员免广告看电影!优酷vip解析,爱奇艺vip解析,腾讯vip解析,乐视vip解析,芒果vip解析","url":"http://www.qmaile.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://qncdnimg.aoscdn.com/local/beecut.cn/img/favicon.png","name":"蜜蜂剪辑","desc":"免费在线视频剪辑、视频制作、视频剪切、视频转gif等实用功能","url":"https://beecut.cn/online-video-editor","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"kk高清影院","desc":"kk高清影院,1080p电影下载,高清电影迅雷下载,免费高清电影网","url":"http://www.kk3.tv/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"音乐","nav":[{"name":"自由的音乐","desc":"自由的音乐是一个免费试听并下载全网音乐的网站","url":"https://www.tikitiki.cn/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"招聘/求职","nav":[{"title":"招聘/求职","nav":[{"icon":"https://www.zhaopin.com/favicon.ico","name":"智联招聘","desc":"智联招聘,更懂你的价值","url":"https://www.zhaopin.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.51job.com/favicon.ico","name":"前程无忧","desc":"招聘网,人才网,求职,找工作","url":"https://www.51job.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.zhipin.com/favicon.ico","name":"BOSS直聘","desc":"BOSS直聘是权威领先的招聘网,开启人才网招聘求职新时代,让求职者与Boss直接开聊、加快面试、即时反馈,找工作就来BOSS直聘和Boss开聊吧","url":"https://www.zhipin.com","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"其他","nav":[{"name":"ResumeSample","desc":"程序员简历模板系列, WEB/IOS/Android/C++/node等以及通用程序员简历模板","url":"https://github.com/geekcompany/ResumeSample","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"http://coder.shengxinjing.cn/logo.ico","name":"程序员找工作黑名单","desc":"有些事情,应该被记住","url":"http://coder.shengxinjing.cn/","urls":{"Github":"https://github.com/shengxinjing/programmer-job-blacklist"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://www.kanzhun.com/favicon.ico","name":"看准网","desc":"看准网★中国领先的职场信息平台,专注于公司评论,晒工资,工资待遇,面试,公司福利等.您可以在看准网上匿名分享您的职业信息","url":"https://www.kanzhun.com","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"其他","nav":[{"title":"压缩工具","nav":[{"icon":"https://tinypng.com/images/apple-touch-icon.png","name":"TinyPNG","desc":"智能PNG和JPEG压缩,以质量和文件大小的完美平衡来优化您的图像","url":"https://tinypng.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://squoosh.app/assets/favicon.ico","name":"Squoosh","desc":"在浏览器中用不同的编解码器压缩和比较图像(Google出品)","url":"https://squoosh.app/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"辅助工具","nav":[{"icon":"https://static.clewm.net/static/images/favicon.ico","name":"草料二维码","desc":"用专业的二维码产品帮助企业创造价值","url":"https://cli.im/url/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"Feed 验证器","desc":"验证RSS是否符合标准规范","url":"http://www.feedvalidator.org/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.taonienie.com/favicon.ico","name":"淘捏捏","desc":"淘宝信誉查询 - 淘捏捏卖家工具箱 淘宝信誉查询_淘宝信用查询_淘宝小号查询_淘宝黑号查询","url":"http://taonienie.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.tianyancha.com/favicon.ico","name":"天眼查","desc":"人人都在用商业安全工具_企业信息查询_公司查询_工商查询_企业信用信息查询系统","url":"https://www.tianyancha.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://yuque.com/favicon.ico","name":"语雀","desc":"优雅高效的在线文档编辑与协同工具,让每个企业轻松拥有文档中心 - 阿里巴巴","url":"https://yuque.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.qsc.zju.edu.cn/box/favicon.ico","name":"求是潮云U盘","desc":"临时文件上传, 快速和稳定","url":"https://box.zjuqsc.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.360converter.com/images/favicon.ico","name":"云转换","desc":"在线免费转换视频,音频,YouTube视频到文字,视频到文字,音频到文字,语音转换成文字","url":"http://www.360converter.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.picdiet.com/css/favicon.ico","name":"Picdiet","desc":"独特且强悍的JavaScript算法,能极速压缩80%的图片大小,而不损害其质量","url":"https://www.picdiet.com/zh-cn","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://cdn-img.easyicon.net/favicon.ico","name":"easyicon","desc":"在线图标转换ico、icns","url":"https://www.easyicon.net/covert/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://smallpdf.com/favicon.png","name":"Smallpdf","desc":"压缩pdf、各种文件格式转换pdf","url":"https://smallpdf.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://coolbackgrounds.io/images/favicon-fe5a0ff5.png","name":"Cool Backgrounds","desc":"生成非常酷的彩色背景图像","url":"https://coolbackgrounds.io/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://source.unsplash.com/favicon-32x32.png","name":"Unsplash Source","desc":"随机生成图片链接","url":"https://source.unsplash.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://assets.smcdn.cn/from_qbox/favicon.ico","name":"石墨文档","desc":"一款轻便、简洁的在线协作文档工具,PC端和移动端全覆盖,支持多人同时对文档编辑和评论...","url":"https://shimo.im/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://emoji.muan.co/appicon.png","name":"Emoji searcher","desc":"Emoji表情大全","url":"http://emoji.muan.co/","urls":{"Github":"https://github.com/muan/emoji/"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://imgurl.org/favicon.ico","name":"imgURL","desc":"ImgURL是一个简单、纯粹的图床程序,让个人图床多一个选择","url":"https://imgurl.org/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://f0cdn.anyknew.com/web/img/icons/favicon-32x32.png","name":"拷贝兔","desc":"跨平台分享工具,纯Web,IOS,MAC,Linux,Android互传","url":"https://cp.ifval.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://tableconvert.com/static/images/favicon.png","name":"表格工具","desc":"一个功能强大的在线表格编辑器,支持Excel、Markdown、JSON、CSV、HTML等格式的相互转换","url":"https://tableconvert.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://p2.ssl.qhimg.com/t014de4ba13ada26743.png","name":"360查字体","desc":"360查字体 - 查版权,免纠纷","url":"https://fonts.safe.360.cn/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.sejda.com/images/icon_128.png","name":"sejda","desc":"在线HTML转换pdf","url":"https://www.sejda.com/html-to-pdf","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://bigjpg.com/static/css/touch-icon-iphone.png","name":"AI人工智能图片放大","desc":"Bigjpg - 使用开源waifu2x人工智能深度卷积神经网络(CNN)智能无损免费放大图片","url":"https://bigjpg.com","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"VVV文档在线导出工具","desc":"免费下载百度文库文档","url":"http://wenku.baiduvvv.com/doc","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"http://tools.bugscaner.com/static/images/favicon.ico","name":"在线文件编码识别","desc":"在线文件编码识别","url":"http://tools.bugscaner.com/filebianma/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"http://tools.bugscaner.com/static/images/favicon.ico","name":"iptv","desc":"收集来自世界各地的5000多个公共IPTV频道","url":"https://github.com/iptv-org/iptv","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.linshiyouxiang.net/public/zh-CN/img/favicon.ico","name":"临时邮箱","desc":"10分钟邮箱,临时邮箱,临时邮,临时电子邮箱,24小时邮箱,一次性邮箱,匿名邮箱,安全邮箱","url":"https://www.linshiyouxiang.net/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"}],"id":0,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"WEB前端","nav":[{"title":"JavaScript","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","nav":[{"title":"JavaScript","nav":[{"icon":"https://jquery.com/jquery-wp-content/themes/jquery.com/i/favicon.ico","name":"jQuery","desc":"jQuery是一个JavaScript函数库","url":"http://jquery.com/","urls":{"英文":"http://jquery.com/","中文":"https://www.jquery123.com/","Github":"https://github.com/jquery/jquery"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://www.webpackjs.com/assets/favicon.ico","name":"webpack","desc":"webpack是一个模块打包器","url":"https://www.webpackjs.com/","urls":{"英文":"https://webpack.js.org/","中文":"https://www.webpackjs.com/","Github":"https://github.com/webpack/webpack"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://babeljs.io/img/favicon.png","name":"Babel","desc":"用于编写下一代 JavaScript 的编译器","url":"http://babeljs.io/","urls":{"英文":"http://babeljs.io/","中文":"https://babeljs.cn/","Github":"https://github.com/babel/babel"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://cn.eslint.org/img/favicon.512x512.png","name":"ESLint","desc":"可组装的JavaScript和JSX检查工具","url":"https://cn.eslint.org/","urls":{"英文":"https://cn.eslint.org/","中文":"http://eslint.cn/","Github":"https://github.com/eslint/eslint"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars3.githubusercontent.com/u/10076935?s=200&v=4","name":"stylelint","desc":"一个强大的现代样式风格的linter","url":"https://stylelint.io/","urls":{"Github":"https://github.com/stylelint/stylelint"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/8770005?s=200&v=4","name":"Mocha","desc":"Mocha是JavaScript的一种单元测试框架,既可以在浏览器环境下运行,也可以在Node.js环境下运行","url":"https://mochajs.org/","urls":{"Github":"https://github.com/mochajs/mocha"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/5485517?s=200&v=4","name":"MUI","desc":"MUI: 最接近原生APP体验的高性能前端框架","url":"http://dev.dcloud.net.cn/mui/","urls":{"Github":"https://github.com/dcloudio/mui"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/12554859?s=200&v=4","name":"rollup","desc":"Rollup 是一个 JavaScript 模块打包器,可以将小块代码编译成大块复杂的代码,例如 library 或应用程序","url":"https://rollupjs.org/guide/zh/","urls":{"英文":"https://rollupjs.org/guide/en/","中文":"https://rollupjs.org/guide/zh/","Github":"https://github.com/rollup/rollup"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/29208316?s=200&v=4","name":"standard","desc":"JavaScript样式指南,带有linter和自动代码修复程序","url":"https://standardjs.com","urls":{"Github":"https://github.com/standard/standard"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"常用插件","nav":[{"urls":{},"name":"Faker","icon":"https://github.com/favicon.ico","url":"https://github.com/Marak/faker.js","createdAt":"2021-01-23T09:37:03.055Z","desc":"在Node.js和浏览器中生成大量逼真的假数据","rate":5,"top":false},{"name":"sweetalert","desc":"JavaScript Alert 的漂亮替代品","url":"https://sweetalert.js.org/","urls":{"Github":"https://github.com/t4t5/sweetalert"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/17040762?s=200&v=4","name":"Sortable","desc":"一个JavaScript库,用于在现代浏览器和触摸设备上对拖放列表进行重新排序","url":"https://sortablejs.github.io/Sortable/","urls":{"Github":"https://github.com/SortableJS/Sortable"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"formilyjs","desc":"Formily 是一个由阿里巴巴集团多 BU 共建的面向中后台复杂场景的表单解决方案,它也是一个表单框架","url":"https://formilyjs.org/","urls":{"Github":"https://github.com/alibaba/formily"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://roughnotation.com/images/fav.png","name":"rough-notation","desc":"一个小的JavaScript库,用于在网页上创建手绘动画并为其添加动画效果","url":"https://roughnotation.com/","urls":{"Github":"https://github.com/rough-stuff/rough-notation"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars3.githubusercontent.com/u/19199542?s=200&v=4","name":"AntV","desc":"AntV 是蚂蚁金服全新一代数据可视化解决方案","url":"https://antv.alipay.com/","urls":{"Github":"https://github.com/antvis/"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://www.lodashjs.com/icons/favicon-32x32.png","name":"Lodash","desc":"Lodash是一个一致性、模块化、高性能的 JavaScript 实用工具库","url":"https://www.lodashjs.com/","urls":{"英文":"https://lodash.com/","中文":"https://www.lodashjs.com/","Github":"https://github.com/lodash/lodash"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://www.swiper.com.cn/favicon.ico","name":"Swiper","desc":"轻量级的移动设备触控滑块的js框架,使用硬件加速过渡","url":"https://www.swiper.com.cn/","urls":{"英文":"http://idangero.us/swiper/","中文":"https://www.swiper.com.cn/","Github":"https://github.com/nolimits4web/swiper"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"fastclick","desc":"Polyfill 解决移动端具有300ms延迟的库","url":"https://github.com/ftlabs/fastclick","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"Layer","desc":"丰富多样的Web弹出层组件,可轻松实现Alert/Confirm/Prompt/普通提示/页面区块/iframe/tips等等几乎所有的弹出交互","url":"http://layer.layui.com/","urls":{"Github":"https://github.com/sentsin/layer/"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://momentjs.com/static/img/moment-favicon.png","name":"moment.js","desc":"一个轻量级的JavaScript日期库,用于解析,验证,操作和格式化日期","url":"http://momentjs.cn/","urls":{"英文":"http://momentjs.com/","中文":"http://momentjs.cn/","Github":"https://github.com/moment/moment"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"js-cookie","desc":"一个简单,轻量级的JavaScript API,用于处理浏览器cookie","url":"https://github.com/js-cookie/js-cookie","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"qs","desc":"具有嵌套支持的查询字符串解析器","url":"https://github.com/ljharb/qs","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"Mock.js","desc":"生成随机数据,拦截 Ajax 请求","url":"http://mockjs.com/","urls":{"Github":"https://github.com/nuysoft/Mock"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://gitalk.github.io/favicon.ico","name":"GITALK","desc":"凹凸实验室出品的一款基于 Github Issue 和 Preact 开发的评论插件","url":"https://gitalk.github.io/","urls":{"Github":"https://github.com/gitalk/gitalk"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://prismjs.com/assets/favicon.png","name":"prism","desc":"轻巧,强大,优雅的代码语法高亮","url":"https://prismjs.com/","urls":{"Github":"https://github.com/PrismJS/prism"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"nprogress","desc":"顶部加载进度条","url":"http://ricostacruz.com/nprogress/","urls":{"Github":"https://github.com/rstacruz/nprogress"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"iNotify","desc":"JS实现浏览器标题闪烁,滚动,语音提示,Chrome/Safari/FireFox/IE通知","url":"https://git.io/iNotify","urls":{"Github":"https://github.com/jaywcjlove/iNotify"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"html2canvas","desc":"最流行的JavaScript屏幕截图","url":"https://html2canvas.hertzen.com/","urls":{"Github":"https://github.com/niklasvh/html2canvas"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"dayjs","desc":"使用与Moment.js兼容的API来解析,验证,操作和显示现代浏览器的日期和时间","url":"https://github.com/iamkun/dayjs/blob/master/docs/zh-cn/API-reference.md","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"JsBarcode","desc":"易于使用但功能强大的条形码生成器,适用于Web和Node.js","url":"https://lindell.me/JsBarcode/","urls":{"Github":"https://github.com/lindell/JsBarcode"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"clipboard.js","desc":"现代复制到剪贴板。没有Flash。只需3kb gzipped。","url":"https://clipboardjs.com/","urls":{"Github":"https://github.com/zenorocha/clipboard.js"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"lib-flexible","desc":"可伸缩布局方案, 淘宝rem解决方案","url":"https://github.com/amfe/lib-flexible","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"js-xss","desc":"根据白名单过滤HTML(防止XSS攻击)","url":"https://github.com/leizongmin/js-xss","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"mescroll","desc":"精致的下拉刷新和上拉加载 js框架.支持vue,完美运行于移动端和主流PC浏览器","url":"http://www.mescroll.com/index.html","urls":{"Github":"https://github.com/mescroll/mescroll"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"better-scroll","desc":"灵感来自iscroll,它具有更好的滚动性能","url":"https://ustbhuangyi.github.io/better-scroll/","urls":{"Github":"https://github.com/ustbhuangyi/better-scroll"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"pinyinjs","desc":"一个实现汉字与拼音互转的小巧web工具库","url":"http://demo.haoji.me/pinyinjs/","urls":{"Github":"https://github.com/sxei/pinyinjs"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"ms","desc":"使用此包可以轻松地将各种时间格式转换为毫秒。","url":"https://github.com/zeit/ms","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/5298359?s=200&v=4","name":"ramda","desc":"适用于JavaScript程序员的实用函数库","url":"https://ramdajs.com","urls":{"Github":"https://github.com/ramda/ramda"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"decimal.js","desc":"JavaScript的任意精度Decimal类型 (0.1+0.2=0.3)","url":"http://mikemcl.github.io/decimal.js","urls":{"Github":"https://github.com/MikeMcl/decimal.js/"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"copy-to-clipboard","desc":"简单的模块公开copy功能,它将尝试使用execCommand与特定于IE的clipboardData接口的回退,最后,通常prompt使用适当的文本内容和消息","url":"https://github.com/sudodoki/copy-to-clipboard","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"path-to-regexp","desc":"将字符串路径转换成正则表达式","url":"https://github.com/pillarjs/path-to-regexp","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"autosize","desc":"autosize是一个小的独立脚本,可以自动调整textarea域的高度以适合文本","url":"http://www.jacklmoore.com/autosize/","urls":{"Github":"https://github.com/jackmoore/autosize"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"shake.js","desc":"监听手机设备摇动","url":"https://github.com/alexgibson/shake.js","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"progressbar","desc":"可以轻松地为Web创建响应式和时尚的进度栏。动画即使在移动设备上也表现良好","url":"https://kimmobrunfeldt.github.io/progressbar.js/","urls":{"Github":"https://github.com/kimmobrunfeldt/progressbar.js"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/28626637?s=200&v=4","name":"easy-mock","desc":"Easy Mock 是一个可视化,并且能快速生成模拟数据的持久化服务","url":"https://easy-mock.com","urls":{"Github":"https://github.com/easy-mock/easy-mock/blob/dev/README.zh-CN.md"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://joe.sh/assets/images/favicon.ico","name":"Clamp.js","desc":"JS版本的多行文本溢出省略","url":"https://joe.sh/clamp-js","urls":{"Github":"https://github.com/josephschmitt/Clamp.js"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"json-bigint","desc":"带有bigints支持的JSON.parse / stringify","url":"https://github.com/sidorares/json-bigint","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"exif-js","desc":"用于读取EXIF图像元数据的JavaScript库","url":"https://github.com/exif-js/exif-js","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"lunr.js","desc":"Lunr.js是一个用于浏览器的小型全文本搜索库。它为JSON文档建立索引,并提供一个简单的搜索界面来检索与文本查询最匹配的文档","url":"https://github.com/olivernn/lunr.js","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"hotkeys","desc":"强大的Javascript库,用于捕获键盘输入和输入的按键组合。它没有依赖性。","url":"https://wangchujiang.com/hotkeys/","urls":{"Github":"https://github.com/jaywcjlove/hotkeys"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"dom-to-image","desc":"使用HTML5 canvas从DOM节点生成图像","url":"https://github.com/tsayen/dom-to-image","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/59940233?s=200&v=4","name":"single-spa","desc":"使微前端变得简单","url":"https://single-spa.js.org/","urls":{"Github":"https://github.com/single-spa/single-spa"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/33895495?s=200&v=4","name":"qiankun","desc":"为微型前端提供快速,简单和完整的解决方案","url":"https://qiankun.umijs.org/","urls":{"Github":"https://github.com/umijs/qiankun"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://zelark.github.io/nano-id-cc/favicon.ico","name":"nanoid","desc":"一个很小的,安全的,URL友好的,唯一的JavaScript字符串ID生成器。","url":"https://zelark.github.io/nano-id-cc/","urls":{"Github":"https://github.com/ai/nanoid"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"Numeral-js","desc":"一个用于格式化和处理数字的javascript库","url":"http://numeraljs.com","urls":{"Github":"https://github.com/adamwdraper/Numeral-js"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"ua-parser-js","desc":"用于从userAgent字符串检测浏览器,引擎,操作系统,CPU和设备类型/模型。支持浏览器和node.js环境","url":"http://faisalman.github.io/ua-parser-js/","urls":{"Github":"https://github.com/faisalman/ua-parser-js"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/7997161?s=200&v=4","name":"hammer.js","desc":"一个用于多点触摸手势的javascript库","url":"http://hammerjs.github.io","urls":{"Github":"https://github.com/hammerjs/hammer.js"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"国际化多语言方案","nav":[{"icon":"https://avatars1.githubusercontent.com/u/8546082?s=200&v=4","name":"i18next","desc":"i18next是一个非常流行的国际化框架,适用于浏览器或任何其他JavaScript环境(例如,node.js)。","url":"http://i18next.com/","urls":{"Github":"https://github.com/i18next/i18next"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars3.githubusercontent.com/u/11225539?s=200&v=4","name":"js-lingui","desc":"JavaScript的可读,自动化和优化(5 kb)国际化","url":"https://lingui.js.org/","urls":{"Github":"https://github.com/lingui/js-lingui"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"动画","nav":[{"name":"wow.js","desc":"基于Animate.css,向下滚动页面时显示CSS动画,轻松自定义动画设置:样式,延迟,长度,偏移,迭代...","url":"http://mynameismatthieu.com/WOW/","urls":{"Github":"https://github.com/matthieua/WOW"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"Waves","desc":"受Google材质设计启发的点击效果, 波纹效果","url":"http://fian.my.id/Waves/#examples","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"velocity","desc":"加速JavaScript动画","url":"http://velocityjs.org/","urls":{"Github":"https://github.com/julianshapiro/velocity"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"anime","desc":"轻量级的JavaScript动画库。它适用于任何CSS属性,单个CSS转换,SVG或任何DOM属性以及JavaScript对象","url":"http://animejs.com/","urls":{"Github":"https://github.com/juliangarnier/anime"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"Hover-Buttons","desc":"hover动画CSS / SCSS按钮","url":"https://varin6.github.io/Hover-Buttons/","urls":{"Github":"https://github.com/Varin6/Hover-Buttons"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"加盐","nav":[{"name":"JavaScript-MD5","desc":"JavaScript MD5实现。兼容服务器端环境,如node.js,RequireJS等模块加载器和所有Web浏览器","url":"https://blueimp.github.io/JavaScript-MD5/","urls":{"Github":"https://github.com/blueimp/JavaScript-MD5"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"js-sha1","desc":"JavaScript的简单SHA1哈希函数支持UTF-8编码。","url":"https://github.com/emn178/js-sha1","urls":{"Github":"https://github.com/emn178/js-sha1"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"js-base64","desc":"JavaScript的Base64实现","url":"https://github.com/dankogai/js-base64","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"jsSHA","desc":"SHA-1,SHA-224,SHA3-224,SHA-256,SHA3-256,SHA-384,SHA3-384,SHA-512,SHA3-512,SHAKE128 ,和SHAKE256以及HMAC","url":"https://caligatio.github.io/jsSHA/","urls":{"Github":"https://github.com/Caligatio/jsSHA"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"crypto-js","desc":"加密标准的JavaScript库","url":"https://cryptojs.gitbook.io","urls":{"Github":"https://github.com/brix/crypto-js"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"文件插件相关","nav":[{"name":"pdf.js","desc":"PDF.js是一个使用HTML5构建的可移植文档格式(PDF)查看器","url":"https://mozilla.github.io/pdf.js/web/viewer.html","urls":{"Github":"https://github.com/mozilla/pdf.js"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"webuploader","desc":"百度出品,采用大文件分片并发上传,极大的提高了文件上传效率。","url":"http://fex.baidu.com/webuploader/","urls":{"Github":"https://github.com/fex-team/webuploader"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"pdfmake","desc":"纯JavaScript中的客户端/服务器端PDF打印, HTML转换Pdf","url":"http://pdfmake.org/","urls":{"Github":"https://github.com/bpampuch/pdfmake"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"ViewerJS","desc":"JavaScript中的文档阅读器, pdf/ppt/opt/odt等文件渲染成HTML","url":"https://viewerjs.org/","urls":{"Github":"https://github.com/kogmbh/ViewerJS"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"filepond","desc":"灵活而有趣的JavaScript文件上传库","url":"https://pqina.nl/filepond/","urls":{"Github":"https://github.com/pqina/filepond"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"FileSaver.js","desc":"客户端保存文件的解决方案,非常适合在客户端上生成文件的Web应用程序","url":"https://github.com/eligrey/FileSaver.js","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"jsPDF","desc":"一个使用JavaScript生成PDF的库","url":"https://parall.ax/products/jspdf","urls":{"Github":"https://github.com/MrRio/jsPDF"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"图片预览","nav":[{"name":"PhotoSwipe","desc":"适用于移动和桌面的JavaScript图像库, 图片预览","url":"http://photoswipe.com/","urls":{"Github":"https://github.com/dimsemenov/PhotoSwipe"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"viewerjs","desc":"javascript图片预览","url":"https://fengyuanchen.github.io/viewerjs/","urls":{"Github":"https://github.com/fengyuanchen/viewerjs"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"音频/视频","nav":[{"icon":"https://howlerjs.com/assets/images/favicon.ico","name":"howler.js","desc":"现代 Web 音频 javascript 库","url":"https://howlerjs.com/","urls":{"Github":"https://github.com/goldfire/howler.js"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"DPlayer","desc":"哇,这么可爱的HTML5 danmaku视频播放器","url":"http://dplayer.js.org/#/zh-Hans/","urls":{"英文":"http://dplayer.js.org/#/home","中文":"http://dplayer.js.org/#/zh-Hans/","Github":"https://github.com/MoePlayer/DPlayer"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"APlayer","desc":"哇,这么可爱的HTML5音乐播放器","url":"https://aplayer.js.org/#/zh-Hans/","urls":{"英文":"http://aplayer.js.org/","中文":"https://aplayer.js.org/#/zh-Hans/","Github":"https://github.com/MoePlayer/APlayer"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"图形","nav":[{"icon":"https://threejs.org/files/favicon.ico","name":"three.js","desc":"JavaScript 3D引擎","url":"https://threejs.org/","urls":{"英文":"https://threejs.org/","中文":"http://techbrood.com/threejs/docs","Github":"https://github.com/mrdoob/three.js"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"flowy","desc":"创建流程图的最小JavaScript库","url":"https://github.com/alyssaxuu/flowy","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://echarts.apache.org/examples/images/favicon.png","name":"incubator-echarts","desc":"浏览器的功能强大的交互式图表和可视化库","url":"http://echarts.apache.org/","urls":{"Github":"https://github.com/apache/incubator-echarts"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/1562726?s=200&v=4","name":"d3","desc":"借助SVG,Canvas和HTML使数据栩栩如生。","url":"https://github.com/d3/d3","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"UI组件库","nav":[{"icon":"https://getuikit.com/images/favicon.png","name":"uikit","desc":"一款轻量级、模块化的前端框架可快速构建强大的web前端界面","url":"http://www.getuikit.net/","urls":{"英文":"https://getuikit.com/docs/installation","中文":"http://www.getuikit.net/","Github":"https://github.com/uikit/uikit"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"原生APP交互webview桥接","nav":[{"name":"JsBridge","desc":"android java和javascript桥接,灵感来自微信webview jsbridge","url":"https://github.com/lzyzsd/JsBridge","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"DSBridge-Android","desc":"一个现代的跨平台JavaScript桥接,通过它您可以在JavaScript和本机之间同步或异步地调用彼此的功能","url":"https://github.com/wendux/DSBridge-Android","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"参数验证","nav":[{"name":"joi","desc":"对象模式验证","url":"https://github.com/hapijs/joi","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"validator.js","desc":"字符串验证插件、表单验证","url":"https://github.com/chriso/validator.js","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"async-validator","desc":"异步验证器","url":"https://github.com/yiminghe/async-validator","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"yup","desc":"无效的简单对象架构验证","url":"https://runkit.com/jquense/yup","urls":{"Github":"https://github.com/jquense/yup#using-a-custom-locale-dictionary"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"数据库","nav":[{"icon":"https://avatars2.githubusercontent.com/u/18673496?s=200&v=4","name":"localForage","desc":"离线存储,使用简单但功能强大的API包装IndexedDB,WebSQL或localStorage。","url":"https://github.com/localForage/localForage","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"步骤引导","nav":[{"icon":"https://avatars2.githubusercontent.com/u/2010360?s=200&v=4","name":"introjs","desc":"为您的网站和项目提供新功能介绍和逐步用户指南的更好方法","url":"https://introjs.com/","urls":{"Github":"https://github.com/usablica/intro.js"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars3.githubusercontent.com/u/17297725?s=200&v=4","name":"shepherd","desc":"引导您的用户浏览您的应用程序","url":"https://shepherdjs.dev/","urls":{"Github":"https://github.com/shipshapecode/shepherd"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"bootstrap-tour","desc":"使用Twitter Bootstrap Popovers快速方便地进行产品浏览","url":"http://bootstraptour.com/","urls":{"Github":"https://github.com/sorich87/bootstrap-tour"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"React","icon":"https://reactjs.org/favicon.ico","nav":[{"title":"生态系统","nav":[{"name":"React","desc":"用于构建用户界面的 JavaScript 库","url":"https://zh-hans.reactjs.org/","urls":{"英文":"https://reactjs.org/","中文":"https://zh-hans.reactjs.org/","Github":"https://github.com/facebook/react/"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"React Router","desc":"React 路由管理","url":"https://react-router.docschina.org/","urls":{"英文":"https://reacttraining.com/react-router/","中文":"https://react-router.docschina.org/","Github":"https://github.com/ReactTraining/react-router"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/13142323?s=200&v=4","name":"Redux","desc":"React 状态管理","url":"http://www.redux.org.cn/docs/react-redux/api.html","urls":{"英文":"https://redux.js.org/basics/usagewithreact","中文":"http://www.redux.org.cn/docs/react-redux/api.html","Github":"https://github.com/reduxjs/redux"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"create-react-app","desc":"React官方脚手架","url":"https://www.html.cn/create-react-app/","urls":{"英文":"https://facebook.github.io/create-react-app/","中文":"https://www.html.cn/create-react-app/","Github":"https://github.com/facebook/create-react-app"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"Redux相关","nav":[{"name":"React Redux","desc":"Redux的官方React绑定(通常配合redux使用)","url":"https://react-redux.js.org/","urls":{"Github":"https://github.com/reduxjs/react-redux"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"redux-actions","desc":"Redux的Flux标准action实用程序(用于生成action)","url":"https://redux-actions.js.org/","urls":{"Github":"https://github.com/redux-utilities/redux-actions"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"redux-thunk","desc":"Redux的Thunk中间件, 用于处理异步逻辑","url":"https://github.com/reduxjs/redux-thunk","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/24776643?s=200&v=4","name":"redux-saga","desc":"一个旨在使应用程序副作用(即异步事物,如数据获取和不纯的东西,如访问浏览器缓存)更容易管理,执行更高效,易于测试,以及更好地处理故障的库","url":"https://redux-saga.js.org/","urls":{"Github":"https://github.com/redux-saga/redux-saga"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"React Native相关","nav":[{"name":"React Native","desc":"使用React构建原生APP程序的框架","url":"https://reactnative.cn/docs/0.51/tutorial.html","urls":{"英文":"https://facebook.github.io/react-native/docs/getting-started.html","中文":"https://reactnative.cn/docs/0.51/tutorial.html","Github":"https://github.com/facebook/react-native"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/29647600?s=200&v=4","name":"React Navigation","desc":"为您的本地应用程序提供路由和导航","url":"https://reactnavigation.org/zh-Hans/","urls":{"英文":"https://reactnavigation.org/en/","中文":"https://reactnavigation.org/zh-Hans/","Github":"https://github.com/react-navigation/react-navigation"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/12504344?s=200&v=4","name":"expo","desc":"用于制作跨平台移动应用程序的Expo平台","url":"https://docs.expo.io","urls":{"Github":"https://github.com/expo/expo"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/12101536?s=200&v=4","name":"ant-design-mobile-rn","desc":"一个基于 React Native 的 UI 组件库","url":"https://rn.mobile.ant.design/index-cn","urls":{"英文":"https://rn.mobile.ant.design/","中文":"https://rn.mobile.ant.design/index-cn","Github":"https://github.com/ant-design/ant-design-mobile-rn"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"PC端UI组件库","nav":[{"icon":"https://avatars1.githubusercontent.com/u/12101536?s=200&v=4","name":"Ant Design","desc":"Ant Design - A UI Design Language","url":"https://ant.design/docs/react/introduce-cn","urls":{"英文":"https://ant.design/docs/react/introduce","中文":"https://ant.design/docs/react/introduce-cn","Github":"https://github.com/ant-design/ant-design"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://material-ui.com/static/favicon.ico","name":"MATERIAL-UI","desc":"React 组件用于更快速、更简便的 web 开发。你也可以建立你自己的设计系统,或者从 Material Design 开始","url":"https://material-ui.com/zh/","urls":{"英文":"https://material-ui.com/","中文":"https://material-ui.com/zh/","Github":"https://github.com/mui-org/material-ui"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/12810740?s=200&v=4","name":"element","desc":"elementUI组件库","url":"https://elemefe.github.io/element-react/#/zh-CN/quick-start","urls":{"英文":"https://elemefe.github.io/element-react/#/en-US/quick-start","中文":"https://elemefe.github.io/element-react/#/zh-CN/quick-start","Github":"https://github.com/ElemeFE/element-react"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/6853419?s=200&v=4","name":"react-bootstrap","desc":"基于Bootstrap 3构建的组件库","url":"https://react-bootstrap.github.io/getting-started/introduction","urls":{"Github":"https://github.com/react-bootstrap/react-bootstrap"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"evergreen","desc":"Evergreen是一个React UI框架,用于在Web上构建雄心勃勃的产品。由Segment带给您。","url":"https://evergreen.segment.com/","urls":{"Github":"https://github.com/segmentio/evergreen"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"@alifd/next","desc":"@alifd/next 是 Alibaba Fusion Design 的官方 React 实现, 赋能企业中后台产品开发","url":"https://fusion.design/component/doc/102","urls":{"Github":"https://github.com/alibaba-fusion/next"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/11404085?s=200&v=4","name":"zent","desc":"Zent 是有赞 PC 端 WebUI 规范的 React 实现,提供了一整套基础的 UI 组件以及一些常用的业务组件","url":"https://youzan.github.io/zent/zh/guides/install","urls":{"Github":"https://github.com/youzan/zent"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"React95","desc":"装修一新的现代的应用程序做出React Windows95的UI组件。","url":"https://arturbien.github.io/React95","urls":{"Github":"https://github.com/arturbien/React95"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/19635045?s=200&v=4","name":"rsuite","desc":"React Suite 是一套 React 组件库,为后台产品而生。同时也是一个具有贴心设计以及对开发者友好的 UI 框架","url":"https://rsuitejs.com","urls":{"Github":"https://github.com/rsuite/rsuite"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/54212428?s=200&v=4","name":"chakra-ui","desc":"适用于您的React应用程序的简单,模块化和可访问的UI组件","url":"https://chakra-ui.com/","urls":{"Github":"https://github.com/chakra-ui/chakra-ui"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"移动端UI组件库","nav":[{"icon":"https://avatars1.githubusercontent.com/u/12101536?s=200&v=4","name":"Ant Design Mobile","desc":"一个基于 Preact / React / React Native 的 UI 组件库","url":"https://mobile.ant.design/index-cn","urls":{"英文":"https://mobile.ant.design/","中文":"https://mobile.ant.design/index-cn","Github":"https://github.com/ant-design/ant-design-mobile/stargazers/"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"其他组件库","nav":[{"name":"React Helmet","desc":"这个可重用的反应组件将管理对文档头的所有更改","url":"https://github.com/nfl/react-helmet","urls":{"Github":"https://github.com/nfl/react-helmet"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"react-image-crop","desc":"用于React的响应式图像裁剪工具","url":"https://github.com/DominicTobias/react-image-crop","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"React Helmet","desc":"这个可重用的反应组件将管理对文档头的所有更改","url":"https://github.com/nfl/react-helmet","urls":{"Github":"https://github.com/nfl/react-helmet"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"react-transition-group","desc":"当React组件进入或离开DOM时执行动画的简单方法","url":"https://reactcommunity.org/react-transition-group/","urls":{"英文":"https://reactcommunity.org/react-transition-group/","Github":"https://github.com/reactjs/react-transition-group"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"React Loadable","desc":"用于加载具有promise的组件的更高阶组件 - 路由懒加载","url":"https://github.com/jamiebuilds/react-loadable","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"react-swipe","desc":"基于swipe.js封装的react组件/走马灯","url":"https://github.com/voronianski/react-swipe","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"Ant Motion","desc":"使用 Ant Motion 能够快速在 React 框架中使用动画,我们提供了单项,组合动画,以及整套解决方案","url":"https://motion.ant.design/","urls":{"Github":"https://github.com/ant-design/ant-motion/"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"desc":"网络视频播放器使用React库从头开始构建HTML5世界","name":"video-react","url":"https://video-react.js.org/","urls":{"Github":"https://github.com/video-react/video-react"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"react-keeper","desc":"一个react路由库,更适合移动端使用,拥有缓存等功能","url":"https://github.com/vifird/react-keeper","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"Fusion Design","desc":"基于React构建的Web可配置组件库","url":"https://fusion.design","urls":{"Github":"https://github.com/alibaba-fusion/next"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/13690587?s=200&v=4","name":"recharts","desc":"基于 React和D3 的组合式图表库","url":"http://recharts.org/zh-CN/","urls":{"Github":"https://github.com/recharts/recharts"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"react-json-view","desc":"JSON查看器","url":"https://mac-s-g.github.io/react-json-view/demo/dist/","urls":{"Github":"https://github.com/mac-s-g/react-json-view"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"BizCharts","desc":"基于G2和React的强大数据可视化库","url":"https://bizcharts.net/products/bizCharts","urls":{"Github":"https://github.com/alibaba/BizCharts"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"react-draggable","desc":"一个简单的组件,用于使元素可拖动","url":"https://github.com/mzabriskie/react-draggable","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"react-slick","desc":"react走马灯组件","url":"https://react-slick.neostack.com/","urls":{"Github":"https://github.com/akiran/react-slick"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"react-color","desc":"react 拾色器","url":"http://casesandberg.github.io/react-color/","urls":{"Github":"https://github.com/casesandberg/react-color"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/50559490?s=200&v=4","name":"react-intl","desc":"国际化React应用程序。这个库提供了React组件和一个API,用于格式化日期,数字和字符串,包括复数形式和处理翻译","url":"https://github.com/formatjs/react-intl","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars3.githubusercontent.com/u/1763971?s=200&v=4","name":"react-data-grid","desc":"使用React构建的类似于Excel的网格组件,具有编辑器,键盘导航,复制和粘贴等功能","url":"http://adazzle.github.io/react-data-grid/","urls":{"Github":"https://github.com/adazzle/react-data-grid"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://cloud.githubusercontent.com/assets/29597/11736841/c0497158-9f87-11e5-8dfe-9c0be97d4286.png","name":"react-virtualized","desc":"React组件可有效呈现大型列表和表格数据","url":"http://www.reactvirtualized.com","urls":{"Github":"https://github.com/bvaughn/react-virtualized"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars3.githubusercontent.com/u/5078602?s=200&v=4","name":"react-live","desc":"一个用于实时编辑React组件的灵活组件库","url":"https://react-live.netlify.com/","urls":{"Github":"https://github.com/FormidableLabs/react-live"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://jaredpalmer.com/formik/img/favicon.png","name":"formik","desc":"在React中轻松创建表单","url":"https://jaredpalmer.com/formik/docs/overview","urls":{"Github":"https://github.com/jaredpalmer/formik"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"拖拽组件","nav":[{"name":"react-move","icon":"https://github.com/favicon.ico","url":"https://github.com/daybrush/moveable/tree/master/packages/react-moveable","desc":"一个React组件,它创建可移动,可拖动,可调整大小,可缩放,可旋转,可扭曲,可收缩,可分组,可捕捉。","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/25307599?s=200&v=4","name":"react-dnd","desc":"React DnD是一组React实用程序,可帮助您构建复杂的拖放接口,同时保持组件分离","url":"https://react-dnd.github.io/react-dnd/about","urls":{"Github":"https://github.com/react-dnd/react-dnd"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"react-beautiful-dnd","desc":"漂亮的和可访问的拖放列表","url":"https://github.com/atlassian/react-beautiful-dnd","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"react-rnd","desc":"一个可调整大小且可拖动的React组件。","url":"https://bokuweb.github.io/react-rnd/stories","urls":{"Github":"https://github.com/bokuweb/react-rnd"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"开箱即用","nav":[{"icon":"https://avatars1.githubusercontent.com/u/12101536?s=200&v=4","name":"ANT DESIGN PRO","desc":"开箱即用的中台前端/设计解决方案","url":"https://pro.ant.design/","urls":{"中文":"https://pro.ant.design/","Github":"https://github.com/ant-design/ant-design-pro/"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"单元测试","nav":[{"name":"enzyme","desc":"适用于React的JavaScript测试实用程序","url":"https://enzymejs.github.io/enzyme/","urls":{"Github":"https://github.com/enzymejs/enzyme"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"Jest","desc":"Jest是一个令人愉快的JavaScript测试框架,专注于简单性。","url":"https://jestjs.io/zh-Hans/","urls":{"Github":"https://github.com/facebook/jest"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"umi/dva","nav":[{"icon":"https://avatars2.githubusercontent.com/u/33895495?s=200&v=4","name":"umijs","desc":"插件化的企业级前端应用框架。","url":"https://umijs.org/zh-CN","urls":{"英文":"https://umijs.org/","中文":"https://umijs.org/zh-CN","Github":"https://github.com/umijs/umi"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/20552239?s=200&v=4","name":"DvaJS","desc":"基于React和Redux的轻量级和elm风格框架","url":"https://dvajs.com/","urls":{"Github":"https://github.com/dvajs/dva"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/33895495?s=200&v=4","name":"umijs/hooks","desc":"你可以将 umi hooks 使用在任何地方,和任意组件库搭配使用。虽然我们的代码示例都是基于 ant design 的,但是并不代表我们的 Hooks 只能和 ant design 配合使用","url":"https://hooks.umijs.org/","urls":{"中文":"https://hooks.umijs.org/","Github":"https://github.com/umijs/hooks"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/33895495?s=200&v=4","name":"umi-plugin-cache-route","desc":"路由缓存,类似vue keep-alive","url":"https://www.npmjs.com/package/umi-plugin-cache-route","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"知识","nav":[{"name":"React.js 小书","desc":"这是一本关于 React.js 的小书","url":"http://huziketang.mangojuice.top/books/react/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"TypeScript-React-Starter","desc":"TypeScript和React的入门模板,带有详细的README,描述了如何将两者结合使用。","url":"https://github.com/Microsoft/TypeScript-React-Starter","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"react-redux-typescript-guide","desc":"TypeScript中的React和 Redux - 使用说明","url":"https://piotrwitek.github.io/react-redux-typescript-guide/","urls":{"Github":"https://github.com/piotrwitek/react-redux-typescript-guide"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"其他","nav":[{"icon":"https://avatars1.githubusercontent.com/u/17475736?s=200&v=4","name":"Mobx","desc":"简单、可扩展的状态管理","url":"https://cn.mobx.js.org/","urls":{"英文":"https://mobx.js.org/","中文":"https://cn.mobx.js.org/","Github":"https://github.com/mobxjs/mobx"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"next.js","desc":"服务端渲染框架、SEO解决方案","url":"https://www.nextjs.cn/","urls":{"英文":"https://nextjs.org/","中文":"https://www.nextjs.cn/","Github":"https://github.com/zeit/next.js"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"nwb","desc":"适用于Web的React,Preact,Inferno和Vanilla JS应用,React库和其他npm模块的工具包,无需配置","url":"https://github.com/insin/nwb","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"ahooks","desc":"为 React Hooks 而生","url":"https://ahooks.js.org/zh-CN","urls":{"Github":"https://github.com/alibaba/hooks"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"react-app-rewired","desc":"覆盖create-react-app webpack配置而不弹出","url":"https://github.com/timarney/react-app-rewired","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"Vue.js","icon":"https://v3.vuejs.org/images/icons/apple-icon-152x152.png","nav":[{"title":"生态系统","nav":[{"name":"Vue.js","desc":"渐进式JavaScript 框架","url":"https://cn.vuejs.org/","urls":{"英文":"https://vuejs.org/index.html","中文":"https://cn.vuejs.org/","Github":"https://github.com/vuejs/vue"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"Vue Router","desc":"Vue Router 是 Vue.js 官方的路由管理器","url":"https://router.vuejs.org/zh/","urls":{"英文":"https://router.vuejs.org/","中文":"https://router.vuejs.org/zh/","Github":"https://github.com/vuejs/vue-router"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"Vuex","desc":"Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。","url":"https://vuex.vuejs.org/zh/","urls":{"英文":"https://vuex.vuejs.org/","中文":"https://vuex.vuejs.org/zh/","Github":"https://github.com/vuejs/vuex"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"vue-devtools","desc":"vue.js调试工具","url":"https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd","urls":{"Github":"https://github.com/vuejs/vue-devtools"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"vue-cli","desc":"Vue.js开发的标准脚手架工具","url":"https://cli.vuejs.org/zh/","urls":{"英文":"https://cli.vuejs.org/","中文":"https://cli.vuejs.org/zh/","Github":"https://github.com/vuejs/vue-cli"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"vuepress","desc":"Vue 驱动的静态网站生成器","url":"https://vuepress.vuejs.org/zh/","urls":{"英文":"https://vuepress.vuejs.org/","中文":"https://vuepress.vuejs.org/zh/","Github":"https://github.com/vuejs/vuepress"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"Vue SSR","desc":"Vue服务端渲染、SEO解决方案","url":"https://vuepress.vuejs.org/zh/","urls":{"英文":"https://ssr.vuejs.org/","中文":"https://ssr.vuejs.org/zh/","Github":"https://github.com/vuejs/vue-ssr-docs"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"vue-class-component","desc":"用于类式Vue组件的ECMAScript / TypeScript装饰器。","url":"https://github.com/vuejs/vue-class-component","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"eslint-plugin-vue","desc":"Vue.js的官方ESLint插件","url":"https://eslint.vuejs.org/","urls":{"Github":"https://github.com/vuejs/eslint-plugin-vue"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"vite","desc":"Vite是一个经过验证的Web开发人员构建工具,可在开发过程中通过本机ES模块导入为您的代码提供服务,并将其与Rollup捆绑在一起进行生产","url":"https://github.com/vitejs/vite","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"Vue 组合式 API","desc":"Vue 组合式 API在线文档阅读","url":"https://composition-api.vuejs.org/zh","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"PC端UI组件库","nav":[{"icon":"https://avatars0.githubusercontent.com/u/20693613?s=200&v=4","name":"iView","desc":"一套基于 Vue.js 的高质量UI 组件库","url":"https://www.iviewui.com/docs/guide/install","urls":{"英文":"https://www.iviewui.com/","中文":"https://www.iviewui.com/docs/guide/install","Github":"https://github.com/iview/iview"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/12810740?s=200&v=4","name":"Element","desc":"一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库","url":"http://element-cn.eleme.io/#/zh-CN","urls":{"英文":"http://element-cn.eleme.io/#/en-US","中文":"http://element-cn.eleme.io/#/zh-CN","Github":"https://github.com/ElemeFE/element"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/12810740?s=200&v=4","name":"Element Plus","desc":"支持Vue3.0的Element","url":"https://element-plus.org/#/zh-CN","urls":{"Github":"https://github.com/element-plus/element-plus"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/22283362?s=200&v=4","name":"Muse-UI","desc":"基于 Vue 2.0 优雅的 Material Design UI 组件库","url":"https://muse-ui.org/#/zh-CN","urls":{"英文":"https://muse-ui.org/#/en-US/","中文":"https://muse-ui.org/#/zh-CN","Github":"https://github.com/museui/muse-ui"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://qn.antdv.com/favicon.ico","name":"Ant Design Vue","desc":"这里是 Ant Design 的 Vue 实现,开发和服务于企业级后台产品","url":"https://antdv.com/docs/vue/introduce-cn/","urls":{"英文":"https://antdv.com/docs/vue/introduce/","中文":"https://antdv.com/docs/vue/introduce-cn/","Github":"https://github.com/vueComponent/ant-design-vue"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/22138497?s=200&v=4","name":"vuetify","desc":"让Vue和Material Design的强大力量在开发上助您一臂之力","url":"https://vuetifyjs.com/zh-Hans/","urls":{"英文":"https://vuetifyjs.com/en/","中文":"https://vuetifyjs.com/zh-Hans/","Github":"https://github.com/vuetifyjs/vuetify"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/22965283?s=200&v=4","name":"bootstrap-vue","desc":"BootstrapVue为Vue.js提供了最全面的Bootstrap 4组件和网格系统实现之一,并提供了广泛的自动WAI-ARIA可访问性标记","url":"https://bootstrap-vue.js.org/","urls":{"Github":"https://github.com/bootstrap-vue/bootstrap-vue"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/23659108?s=200&v=4","name":"vue-material","desc":"Vue material简单,轻巧,完全符合Google Material Design规范","url":"https://vuematerial.io","urls":{"Github":"https://github.com/vuematerial/vue-material"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/26799900?s=200&v=4","name":"buefy","desc":"Buefy是一个基于Bulma框架和设计的Vue.js响应式UI组件的轻量级库。","url":"https://buefy.org","urls":{"Github":"https://github.com/buefy/buefy"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"移动端UI组件库","nav":[{"icon":"https://avatars2.githubusercontent.com/u/11404085?s=200&v=4","name":"vant","desc":"轻量、可靠的移动端 Vue 组件库","url":"https://youzan.github.io/vant/#/zh-CN/intro","urls":{"英文":"https://youzan.github.io/vant/#/en-US/intro","中文":"https://youzan.github.io/vant/#/zh-CN/intro","Github":"https://github.com/youzan/vant"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"vux","desc":"一个凑合的 Vue.js 移动端 UI 组件库","url":"https://vux.li/","urls":{"中文":"https://vux.li/","Github":"https://github.com/airyland/vux"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/27521938?s=200&v=4","name":"cube-ui","desc":"基于 Vue.js 实现的精致移动端组件库","url":"https://didi.github.io/cube-ui/#/zh-CN","urls":{"英文":"https://didi.github.io/cube-ui/#/en-US","中文":"https://didi.github.io/cube-ui/#/zh-CN","Github":"https://github.com/didi/cube-ui"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/27521938?s=200&v=4","name":"Mand Mobile","desc":"面向金融场景的Vue移动端UI组件库,丰富、灵活、实用,快速搭建优质的金融类产品,让复杂的金融场景变简单","url":"https://didi.github.io/mand-mobile/#/zh-CN/home","urls":{"英文":"https://didi.github.io/mand-mobile/#/en-US/home","中文":"https://didi.github.io/mand-mobile/#/zh-CN/home","Github":"https://github.com/didi/mand-mobile"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/12810740?s=200&v=4","name":"Mint UI","desc":"基于 Vue.js 的移动端组件库","url":"http://mint-ui.github.io/#!/zh-cn","urls":{"英文":"http://mint-ui.github.io/#!/en","中文":"http://mint-ui.github.io/#!/zh-cn","Github":"https://github.com/ElemeFE/mint-ui/"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"NutUI","desc":"一套京东风格的轻量级移动端Vue组件库","url":"https://nutui.jd.com","urls":{"Github":"https://github.com/jdf2e/nutui"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"其他组件/插件","nav":[{"name":"vue-awesome-swiper","desc":"基于swiper封装的轮播图组件","url":"https://surmon-china.github.io/vue-awesome-swiper/","urls":{"Github":"https://github.com/surmon-china/vue-awesome-swiper"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"vue-meta","desc":"管理Vue 2.0组件中的页面元信息。支持SSR + Streaming","url":"https://github.com/nuxt/vue-meta","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"vue-scroller","desc":"Vue Scroller是Vonic UI 的基础组件。为了平滑滚动,拉动刷新和无限加载。","url":"https://wangdahoo.github.io/vue-scroller/#/","urls":{"Github":"https://github.com/wangdahoo/vue-scroller"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"vue-infinite-loading","desc":"Vue.js的无限滚动插件(支持向上和向下)","url":"https://peachscript.github.io/vue-infinite-loading/zh/","urls":{"Github":"https://github.com//PeachScript/vue-infinite-loading"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"开箱即用","nav":[{"name":"iview-admin","desc":"基于iView的Vue 2.0管理系统模板","url":"https://admin.iviewui.com/login","urls":{"Github":"https://github.com/iview/iview-admin"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"nuxt服务端渲染框架","nav":[{"icon":"https://avatars2.githubusercontent.com/u/23360933?s=200&v=4","name":"nuxt","desc":"Vue.js 通用应用框架","url":"https://zh.nuxtjs.org/","urls":{"英文":"https://nuxtjs.org/","中文":"https://zh.nuxtjs.org/","Github":"https://github.com/nuxt/nuxt.js"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/23360933?s=200&v=4","name":"创建nuxt的脚手架工具","desc":"create-nuxt-app","url":"https://github.com/nuxt/create-nuxt-app","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"Angular","icon":"https://avatars0.githubusercontent.com/u/139426?s=200&v=4","nav":[{"title":"生态系统","nav":[{"name":"Angular","desc":"一个框架,移动 & 桌面","url":"https://www.angular.cn/","urls":{"英文":"https://angular.io/","中文":"https://www.angular.cn/","Github":"https://github.com/angular/angular"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"angular-cli","desc":"用于Angular CLI脚手架工具","url":"https://cli.angular.io/","urls":{"英文":"https://cli.angular.io/","Github":"https://github.com/angular/angular-cli"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"augury","desc":"Angular调试和可视化工具","url":"https://augury.angular.io/","urls":{"英文":"https://augury.angular.io/","Github":"https://github.com/rangle/augury"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"PC端UI组件库","nav":[{"icon":"https://avatars2.githubusercontent.com/u/30223759?s=200&v=4","name":"NG-ZORRO","desc":"基于Ant Design的Angular企业级UI组件","url":"http://ng.ant.design/docs/introduce/zh","urls":{"英文":"http://ng.ant.design/docs/introduce/en","中文":"http://ng.ant.design/docs/introduce/zh","Github":"https://github.com/NG-ZORRO/ng-zorro-antd"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars3.githubusercontent.com/u/14283866?s=200&v=4","name":"ng-bootstrap","desc":"基于Bootstrap 4的Angular组件","url":"https://ng-bootstrap.github.io/#/components/accordion/examples","urls":{"英文":"https://ng-bootstrap.github.io/#/components/accordion/examples","Github":"https://github.com/ng-bootstrap/ng-bootstrap"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/12810740?s=200&v=4","name":"element-angular","desc":"Element Angular组件库","url":"https://element-angular.faas.ele.me/guide/install","urls":{"英文":"https://element-angular.faas.ele.me/","中文":"https://element-angular.faas.ele.me/guide/install","Github":"https://github.com/ElemeFE/element-angular"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/3494069?s=200&v=4","name":"primeng","desc":"PrimeNG是Angular的丰富UI组件的集合","url":"https://www.primefaces.org/primeng/#/button","urls":{"Github":"https://github.com/primefaces/primeng"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"material","desc":"Material Design是一个统一的视觉,动作和交互设计系统的规范,适用于不同的设备。","url":"https://www.primefaces.org/primeng/#/button","urls":{"Github":"https://github.com/angular/material"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"移动端UI组件库","nav":[{"name":"material","desc":"Material Design是一个统一的视觉,动作和交互设计系统的规范,适用于不同的设备。","url":"https://www.primefaces.org/primeng/#/button","urls":{"Github":"https://github.com/angular/material"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"微信开发","icon":"https://avatars0.githubusercontent.com/u/18461506?s=200&v=4","nav":[{"title":"小程序文档","nav":[{"name":"小程序开发","desc":"微信小程序","url":"https://developers.weixin.qq.com/miniprogram/dev/index.html","urls":{"英文":"https://developers.weixin.qq.com/miniprogram/en/dev/index.html?t=18082922","中文":"https://developers.weixin.qq.com/miniprogram/dev/index.html"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"小游戏开发","desc":"微信小游戏","url":"https://developers.weixin.qq.com/minigame/dev/index.html?t=18082922","urls":{"英文":"https://developers.weixin.qq.com/minigame/en/dev/index.html?t=18081820","中文":"https://developers.weixin.qq.com/minigame/dev/index.html?t=18082922"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"小程序框架","nav":[{"name":"mpvue","desc":"Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心","url":"http://mpvue.com/","urls":{"中文":"http://mpvue.com/","Github":"https://github.com/Meituan-Dianping/mpvue"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"wepy","desc":"官方小程序组件化开发框架","url":"https://tencent.github.io/wepy/","urls":{"中文":"https://tencent.github.io/wepy/","Github":"https://github.com/Tencent/wepy"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/27521938?s=200&v=4","name":"mpx","desc":"Mpx是一款致力于提高小程序开发体验的增强型小程序框架(滴滴出品,基于vue)","url":"https://didi.github.io/mpx/","urls":{"中文":"https://didi.github.io/mpx/","Github":"https://github.com/didi/mpx"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/5485517?s=200&v=4","name":"uni-app","desc":"uni-app 是使用 Vue 语法开发小程序、H5、App的统一框架","url":"https://uniapp.dcloud.io/","urls":{"Github":"https://github.com/dcloudio/uni-app"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://tencent.github.io/omi/assets/omi-logo2019.svg","name":"omix","desc":"腾讯原生小程序框架 OMIX 2.0","url":"https://github.com/Tencent/omi/tree/master/packages/omix","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"小程序组件库/插件","nav":[{"icon":"https://avatars2.githubusercontent.com/u/11404085?s=200&v=4","name":"vant-weapp","desc":"轻量、可靠的小程序 UI 组件库","url":"https://vant-contrib.gitee.io/vant-weapp/#/intro","urls":{"Github":"https://github.com/youzan/vant-weapp"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/18461506?s=200&v=4","name":"weui-wxss","desc":"这是一套基于样式库weui-wxss开发的小程序扩展组件库,同微信原生视觉体验一致的UI组件库","url":"https://github.com/Tencent/weui-wxss/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"wxParse","desc":"wxParse-微信小程序富文本解析自定义组件,支持HTML及markdown解析","url":"https://github.com/icindy/wxParse","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"mpvue-wxParse","desc":"适用于 Mpvue 的微信小程序富文本解析自定义组件","url":"https://github.com/F-loat/mpvue-wxParse","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/2268460?s=200&v=4","name":"echarts-for-weixin","desc":"ECharts 的微信小程序版本","url":"https://github.com/ecomfe/echarts-for-weixin","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://lbs.qq.com/favicon.ico","name":"腾讯位置服务","desc":"微信小程序原生LBS能力的最佳拍档","url":"https://lbs.qq.com/qqmap_wx_jssdk/index.html","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"ColorUI","desc":"鲜亮的高饱和色彩,专注视觉的小程序组件库","url":"https://www.color-ui.com/","urls":{"Github":"https://github.com/weilanwl/ColorUI"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"weapp-input-frame","desc":"验证码、支付密码输入框组件","url":"https://github.com/xjh22222228/weapp-input-frame","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"微信公众号开发辅助工具","nav":[{"name":"JS接口签名校验工具","desc":"微信 JS 接口签名校验工具","url":"https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"接口调试工具","desc":"微信公众平台接口调试工具","url":"https://mp.weixin.qq.com/debug/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"computed","desc":"小程序自定义组件 computed / watch 扩展","url":"https://github.com/wechat-miniprogram/computed","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"资源","nav":[{"name":"awesome-github-wechat-weapp","desc":"微信小程序开源项目库汇总","url":"https://github.com/opendigg/awesome-github-wechat-weapp","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"awesome-wechat-weapp","desc":"微信小程序开发资源汇总","url":"https://github.com/justjavac/awesome-wechat-weapp","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"其他","nav":[{"name":"微信开放社区","desc":"小程序开发者专区,微信公众平台,微信开放社区,开发者专区","url":"https://developers.weixin.qq.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"wechat-format","desc":"微信公众号排版编辑器,转换 Markdown 到微信特制的 HTML","url":"https://lab.lyric.im/wxformat/","urls":{"Github":"https://github.com/lyricat/wechat-format"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"微信开放平台","desc":"微信开放平台","url":"https://open.weixin.qq.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"工具","nav":[{"title":"CSS","nav":[{"name":"CSS3 UI Lib","desc":"CSS动画集成、在线调试阴影","url":"http://css3lib.alloyteam.com/#panel/demo1","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"CSS Sprites Generator","desc":"CSS雪碧图生成","url":"https://www.toptal.com/developers/css/sprite-generator","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"http://www.colorzilla.com/favicon.ico","name":"CSS渐变调试器","desc":"前端开发调试CSS渐变必备神器","url":"http://www.colorzilla.com/gradient-editor/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://animista.net/favicon.ico","name":"Animista","desc":"在线生成CSS动画","url":"http://animista.net/play/background/ken-burns","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://cssgradient.io/favicon.ico","name":"CSS Gradient","desc":"CSS渐变调试并生成CSS代码","url":"https://cssgradient.io/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.grabient.com/favicon.ico","name":"Grabient","desc":"CSS渐变调试并生成CSS代码,还可以角度变换","url":"https://www.grabient.com/","urls":{"Github":"https://github.com/johnkorzhuk/grabient"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"http://pxtoem.com/favicon.ico","name":"px与em单位转换","desc":"px与em单位转换","url":"http://pxtoem.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"http://apps.eky.hk/css-triangle-generator/favicon.gif","name":"CSS三角形產生器","desc":"CSS三角形產生器 - 使用純CSS繪畫三角形","url":"http://apps.eky.hk/css-triangle-generator/zh-hant","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.sassmeister.com/favicon.ico","name":"SassMeister","desc":"将sass语法转换成CSS语法","url":"https://www.sassmeister.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://transfonter.org/favicon.ico","name":"transfonter","desc":"字体图标转换Base64","url":"https://transfonter.org/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"Loading集合","desc":"上千种Loading认你选","url":"https://www.xiejiahe.com/detail/59ec506be9b3310879551f5e","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://cssreference.io/favicons/favicon-32x32.png","name":"CSS Reference","desc":"css参考是一个免费的视觉指导css。它以最受欢迎的特性为特色,并用插图和动画示例对其进行说明","url":"https://cssreference.io/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.w3cschool.cn/favicon.ico","name":"在线CSS阴影调试","desc":"CSS3 Box Shadow(阴影)效果在线调试工具","url":"https://www.w3cschool.cn/tools/index?name=css3_boxshadow","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"JavaScript","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","nav":[{"icon":"https://regexper.com/favicon.ico","name":"正则表达式验证器","desc":"验证JavaScript正则表达式","url":"https://regexper.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.json.cn/favicon.ico","name":"JSON在线解析及格式化验证","desc":"json在线解析,json格式化,json格式验证,json转xml,xml转json","url":"https://www.json.cn/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/25822731?s=200&v=4","name":"prettier","desc":"Prettier是一个固定的代码格式化程序。它通过解析代码并使用自己的规则重新打印它来强制执行一致的样式,这些规则考虑了最大行长度,并在必要时包装代码","url":"https://prettier.io/","urls":{"Github":"https://github.com/prettier/prettier"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"正则表达式在线测试","desc":"正则表达式在线测试","url":"http://tool.chinaz.com/regex","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"spy-debugger","desc":"微信调试,各种WebView样式调试、手机浏览器的页面真机调试。便捷的远程调试手机页面、抓包工具,支持:HTTP/HTTPS,无需USB连接设备","url":"https://github.com/wuchangming/spy-debugger","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"VConsole","desc":"一个轻量、可拓展、针对手机网页的前端开发者调试面板","url":"https://github.com/Tencent/vConsole/","urls":{"英文":"https://github.com/Tencent/vConsole","中文":"https://github.com/Tencent/vConsole/blob/dev/README_CN.md"},"icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"CDN","nav":[{"icon":"https://www.staticfile.org/assets/images/logo.png","name":"Staticfile CDN","desc":"免费CDN服务,包括 JavaScript、CSS、图片和 swf 等静态文件","url":"https://www.staticfile.org/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.jsdelivr.com/favicon.ico","name":"jsDelivr","desc":"jsDelivr – 开源 CDN","url":"https://www.jsdelivr.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.bootcdn.cn/assets/ico/favicon.ico","name":"BootCDN","desc":"稳定、快速、免费的前端开源项目 CDN 加速服务","url":"https://www.bootcdn.cn/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/637362?s=200&v=4","name":"cdnjs","desc":"面向Web开发人员的免费和开源公共Web CDN!","url":"https://cdnjs.com/","urls":{"Github":"https://github.com/cdnjs/cdnjs"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"其他","nav":[{"icon":"https://www.fundebug.com/favicon.ico","name":"FunDebug","desc":"支持前端JavaScript,后端Node.js以及微信小程序错误监控","url":"https://www.fundebug.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.caniuse.com/img/favicon-128.png","name":"前端兼容性查询","desc":"前端查询API各个厂商兼容性情况","url":"https://www.caniuse.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"http://browserhacks.com/assets/images/browserhacks.ico","name":"Browserhacks","desc":"Browserhacks是来自各个互联网的浏览器特定CSS和JavaScript hacks的广泛列表。","url":"http://browserhacks.com/","urls":{"Github":"https://github.com/4ae9b8/browserhacks"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"Character Entity Reference Chart","desc":"字符实体参考图,>","url":"https://dev.w3.org/html5/html-author/charref","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"awesome-web-editor","desc":"开源web编辑器汇总列表","url":"https://github.com/xjh22222228/awesome-web-editor","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://jsfiddle.net/img/favicon.png","name":"jsfiddle","desc":"强大的前端代码在线演示的网站","url":"http://jsfiddle.net/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/11043997?s=200&v=4","name":"jsperf","desc":"jsPerf旨在提供一种简单的方法来创建和共享测试用例,通过运行基准测试来比较不同JavaScript代码段的性能","url":"https://jsperf.com/","urls":{"Github":"https://github.com/jsperf/jsperf.com"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://codesandbox.io/favicon.ico","name":"codesandbox","desc":"codesandbox是为Web应用程序定制的在线编辑器。","url":"https://codesandbox.io","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://htmlreference.io/favicons/favicon-32x32.png","name":"HTML Reference","desc":"所有HTML元素和属性的免费指南参考","url":"https://htmlreference.io/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://static.jsbin.com/images/dave.min.svg","name":"jsbin","desc":"一个轻量级的html/css/js在线编辑器Debug调试器","url":"https://jsbin.com/juduyibeku/edit?html,css,js,console,output","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"http://www.jsfuck.com/favicon.ico","name":"jsfuck","desc":"JSFuck是基于JavaScript原子部分的深奥和教育性编程风格。它仅使用六个不同的字符来编写和执行代码。","url":"http://www.jsfuck.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"CSS","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/css/css.png","nav":[{"title":"CSS","nav":[{"icon":"https://getbootstrap.com/docs/4.5/assets/img/favicons/favicon.ico","name":"Bootstrap","desc":"Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架","url":"http://getbootstrap.com/","urls":{"英文":"http://getbootstrap.com/","中文":"http://www.bootcss.com/","Github":"https://github.com/twbs/bootstrap"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/317889?s=200&v=4","name":"Sass","desc":"Sass 是成熟、稳定、强大的 CSS 扩展语言","url":"http://sass-lang.com/","urls":{"英文":"http://sass-lang.com/","中文":"http://sass.bootcss.com/","Github":"https://github.com/sass/sass"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/3538330?s=200&v=4","name":"Less","desc":"Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性","url":"http://lesscss.org/","urls":{"英文":"http://lesscss.org/","中文":"http://lesscss.cn/","Github":"https://github.com/less/less.js"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"magic","desc":"CSS3动画特效","url":"https://minimamente.com/example/magic_animations/","urls":{"Github":"https://github.com/miniMAC/magic"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars3.githubusercontent.com/u/64791939?s=200&v=4","name":"Animate.css","desc":"CSS动画的跨浏览器库,简单易用","url":"https://daneden.github.io/animate.css/","urls":{"Github":"https://github.com/animate-css/animate.css"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"http://necolas.github.io/normalize.css/favicon.ico","name":"normalize.css","desc":"使浏览器更加一致地呈现所有元素并符合现代标准。它只针对需要规范化的样式","url":"http://necolas.github.io/normalize.css/","urls":{"Github":"https://github.com/necolas/normalize.css"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"Hover","desc":"CSS3动力悬停效果的集合,适用于链接,按钮,徽标,SVG,特色图像等","url":"http://ianlunn.github.io/Hover/","urls":{"Github":"https://github.com/IanLunn/Hover"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"github-markdown-css","desc":"复制GitHub Markdown样式的最小CSS量","url":"https://sindresorhus.com/github-markdown-css/","urls":{"Github":"https://github.com/sindresorhus/github-markdown-css"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/8296347?s=200&v=4","name":"autoprefixer","desc":"Autoprefixer是一款自动管理浏览器前缀的插件,它可以解析CSS文件并且添加浏览器前缀到CSS内容里","url":"https://github.com/postcss/autoprefixer","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"http://vivify.mkcreative.cz/assets/img/apple-icon-57x57.png","name":"vivify","desc":"Vivify是免费的CSS动画库。","url":"http://vivify.mkcreative.cz/","urls":{"Github":"https://github.com/Martz90/vivify"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"cubic-bezier","desc":"在线制作CSS动画","url":"https://cubic-bezier.com","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"图标库","nav":[{"icon":"http://www.iconfont.cn/favicon.ico","name":"iconfont","desc":"阿里妈妈MUX倾力打造的矢量图标管理、交流平台","url":"http://www.iconfont.cn/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/1505683?s=200&v=4","name":"Font Awesome","desc":"一套绝佳的图标字体库和CSS框架","url":"https://fontawesome.com/","urls":{"英文":"https://fontawesome.com/","中文":"http://www.fontawesome.com.cn/","Github":"https://github.com/FortAwesome/Font-Awesome"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://livicons.com/apple-icon-57x57.png","name":"LivIcons Evolution","desc":"会动的纯svg矢量图标库","url":"https://livicons.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/3171503?s=200&v=4","name":"ionicons","desc":"适用于Ionic Framework和Web应用程序的高级图标字体","url":"https://ionicons.com/","urls":{"Github":"https://github.com/ionic-team/ionicons"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"material-design-icons","desc":"Google的Material Design图标","url":"https://material.io/tools/icons","urls":{"Github":"https://github.com/google/material-design-icons"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"资源","nav":[{"icon":"https://cssbattle.dev/images/logo-square.png","name":"css battle","desc":"在线比拼CSS","url":"https://cssbattle.dev/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"http://zh.learnlayout.com/images/logo.png","name":"学习CSS布局","desc":"学习CSS布局","url":"http://zh.learnlayout.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"TypeScript","icon":"https://www.typescriptlang.org/favicon-32x32.png","nav":[{"title":"TypeScript","nav":[{"name":"TypeScript","desc":"TypeScript 是一种由微软开发的自由和开源的编程语言,它是JavaScript的一个超集","url":"https://www.tslang.cn/index.html","urls":{"英文":"http://www.typescriptlang.org/","中文":"https://www.tslang.cn/index.html","Github":"https://github.com/Microsoft/TypeScript"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"TypeSearch","desc":"搜索typescript 类型包 @types/node","url":"https://microsoft.github.io/TypeSearch/","urls":{"Github":"https://github.com/Microsoft/TypeSearch"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"DefinitelyTyped","desc":"高质量TypeScript类型定义的存储库","url":"http://definitelytyped.org/","urls":{"Github":"https://github.com/DefinitelyTyped/DefinitelyTyped"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/46634674?s=200&v=4","name":"typescript-eslint","desc":"Monorepo用于所有工具,使ESLint能够支持TypeScript","url":"https://github.com/typescript-eslint/typescript-eslint","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"awesome-typescript","desc":"用于客户端和服务器端开发的强大TypeScript资源的集合。在TypeScript中编写精彩的JavaScript","url":"https://github.com/dzharii/awesome-typescript","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"TypeScript 入门教程","desc":"TypeScript 入门教程","url":"https://ts.xcatliu.com/","urls":{"Github":"https://github.com/xcatliu/typescript-tutorial"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"参考资料","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","nav":[{"title":"书籍","nav":[{"name":"JavaScript 20 年","desc":"JavaScript 20 年","url":"https://cn.history.js.org/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"你不知道的JavaScript","desc":"你不知道的JavaScript","url":"https://github.com/getify/You-Dont-Know-JS","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://zh.javascript.info/img/favicon/favicon.png","name":"现代 JavaScript 教程","desc":"以最新的 JavaScript 标准为基准。通过简单但足够详细的内容,为你讲解从基础到高阶的 JavaScript 相关知识","url":"https://zh.javascript.info/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"ECMAScript 6入门","desc":"ECMAScript 6入门","url":"http://es6.ruanyifeng.com/#README","urls":{"Github":"https://github.com/ruanyf/es6tutorial/"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"JavaScript教程","desc":"JavaScript 标准参考教程","url":"https://wangdoc.com/javascript/basic/index.html","urls":{"Github":"https://github.com/ruanyf/jstutorial"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"文档","nav":[{"name":"JavaScript Puzzlers","desc":"你真的了解JavaScript吗?来试试吧!","url":"http://javascript-puzzlers.herokuapp.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/41361384?s=200&v=4","name":"InterviewMap","desc":"打造最好的面试图谱","url":"https://yuchengkai.cn/docs/zh/","urls":{"英文":"https://yuchengkai.cn/docs/","中文":"https://yuchengkai.cn/docs/zh/","Github":"https://github.com/InterviewMap/CS-Interview-Knowledge-Map"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"飞冰早报","desc":"飞冰早报","url":"http://fe.jskou.com/ice","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"jsdoc","desc":"用于JavaScript的API文档生成器。","url":"http://www.css88.com/doc/jsdoc/index.html","urls":{"英文":"http://usejsdoc.org/","中文":"http://www.css88.com/doc/jsdoc/index.html","Github":"https://github.com/jsdoc3/jsdoc"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars3.githubusercontent.com/u/43479428?s=200&v=4","name":"30 seconds of code","desc":"精选的有用JavaScript代码段集合,您可以在30秒或更短的时间内理解这些代码段。","url":"https://30secondsofcode.org/","urls":{"Github":"https://github.com/30-seconds/30-seconds-of-code"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"33-js-concepts","desc":"JavaScript开发者应懂的33个概念","url":"https://github.com/stephentian/33-js-concepts","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/1725583?s=200&v=4","name":"ECMAScript Proposals","desc":"跟踪ECMAScript 提案","url":"https://tc39.github.io/process-document/","urls":{"Github":"https://github.com/tc39/proposals"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/1725583?s=200&v=4","name":"ecma262","desc":"ECMA-262的状态,流程和文档","url":"https://tc39.es/ecma262/","urls":{"Github":"https://github.com/tc39/ecma262"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://bonsaiden.github.io/JavaScript-Garden/favicon.ico?v=2","name":"JavaScript 秘密花园","desc":"JavaScript 语言最古怪用法的文档集合","url":"https://bonsaiden.github.io/JavaScript-Garden/zh/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"Airbnb JavaScript 编码规范","desc":"Airbnb JavaScript 编码规范","url":"https://github.com/yuche/javascript","urls":{"英文":"https://github.com/airbnb/javascript","中文":"https://github.com/yuche/javascript"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"Daily-Interview-Question","desc":"工作日每天一道前端大厂面试题,祝大家天天进步,一年后会看到不一样的自己","url":"https://github.com/Advanced-Frontend/Daily-Interview-Question","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"javascript-algorithms","desc":"JavaScript 算法与数据结构","url":"https://github.com/trekhleb/javascript-algorithms","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/26534952?s=200&v=4","name":"weekly","desc":"前端精读周刊","url":"https://github.com/dt-fe/weekly","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"}],"id":0,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"Node.js","nav":[{"title":"生态系统","icon":"https://nodejs.org/static/images/favicons/favicon.ico","nav":[{"title":"官方","nav":[{"name":"Node.js","desc":"Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时","url":"http://nodejs.cn","urls":{"英文":"https://nodejs.org/en/","中文":"http://nodejs.cn","Github":"https://github.com/nodejs/node"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"npm1","desc":"npm是JavaScript世界的包管理工具,并且是 Node.js 平台的默认包管理工具","url":"https://www.npmjs.com/","urls":{"英文":"https://www.npmjs.com/","中文":"https://www.npmjs.com.cn/","Github":"https://github.com/npm/cli"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"模块","nav":[{"name":"urllib","desc":"在复杂的世界中请求HTTP(s)URL","url":"https://github.com/node-modules/urllib","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"formstream","desc":"multipart / form-data编码流,用于文件上传的帮助程序。","url":"https://github.com/node-modules/formstream","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"validate-npm-package-name","desc":"给我一个字符串,我会告诉你它是否是有效的npm软件包名称","url":"https://github.com/npm/validate-npm-package-name","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"其他","nav":[{"icon":"https://classic.yarnpkg.com/favicon.ico","name":"Yarn","desc":"快速、可靠、安全的依赖管理","url":"https://yarnpkg.com/zh-Hans/","urls":{"英文":"https://yarnpkg.com/en/","中文":"https://yarnpkg.com/zh-Hans/","Github":"https://github.com/yarnpkg/yarn"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"awesome-nodejs","desc":"Node.js软件包和资源","url":"https://github.com/sindresorhus/awesome-nodejs","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"nodebestpractices","desc":"最大的Node.js最佳实践列表","url":"https://github.com/goldbergyoni/nodebestpractices","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"CMS","nav":[{"icon":"https://avatars0.githubusercontent.com/u/4449608?s=200&v=4","name":"NodeBB","desc":"基于Node.js的论坛软件,为现代网站","url":"https://nodebb.org/","urls":{"Github":"https://github.com/NodeBB/NodeBB"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/2178663?s=200&v=4","name":"Ghost","desc":"Ghost 是基于 Node.js 构建的开源博客平台。Ghost 具有易用的书写界面和体验,博客内容默认采用 Markdown 语法书写。Ghost 的目标是取代臃肿的 Wordpress","url":"https://ghost.org/","urls":{"Github":"https://github.com/TryGhost/Ghost"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"资料","nav":[{"name":"nodebestpractices","desc":"Node.js 最佳实践, 最大的汇集,且每周都在增长 - 当前,超过50个最佳实现,样式指南,架构建议已经呈现","url":"https://github.com/goldbergyoni/nodebestpractices","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"依赖包","icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png","nav":[{"title":"网络请求","nav":[{"name":"request","desc":"简化的HTTP请求客户端","url":"https://github.com/request/request","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"superagent","desc":"一个小型渐进式客户端HTTP请求库,Node.js模块具有相同的API,具有许多高级HTTP客户端功能","url":"http://visionmedia.github.io/superagent/","urls":{"Github":"https://github.com/visionmedia/superagent"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"axios","desc":"基于Promise的HTTP客户端,用于浏览器和node.js","url":"https://github.com/axios/axios","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"node-fetch","desc":"一个轻量级的模块,将window.fetch带到Node.js","url":"https://github.com/node-fetch/node-fetch","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"bent","desc":"带有async await的功能性JS HTTP客户端(Node.js和Fetch)","url":"https://github.com/mikeal/bent","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"superagent-proxy","desc":"superagent代理扩展,这使您可以通过某种代理来代理HTTP请求","url":"https://github.com/TooTallNate/superagent-proxy","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"单元测试","nav":[{"icon":"https://pptr.dev/favicons/apple-touch-icon.png","name":"Puppeteer","desc":"Puppeteer是一个Node库,它提供了一个高级API来通过DevTools协议控制Chromium或Chrome","url":"https://pptr.dev/","urls":{"英文":"https://pptr.dev/","中文":"https://zhaoqize.github.io/puppeteer-api-zh_CN/","Github":"https://github.com/GoogleChrome/puppeteer"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/8908513?s=200&v=4","name":"cypress","desc":"对浏览器中运行的所有内容进行快速,轻松和可靠的测试,(类Puppeteer)","url":"https://www.cypress.io/","urls":{"Github":"https://github.com/cypress-io/cypress"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/8770005?s=200&v=4","name":"Mocha","desc":"Node.js和浏览器的简单,灵活,有趣的JavaScript测试框架","url":"https://mochajs.org/","urls":{"Github":"https://github.com/mochajs/mocha"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/1515293?s=200&v=4","name":"chai","desc":"node.js的BDD/TDD断言框架和可以与任何测试框架配对的浏览器","url":"http://www.chaijs.com/","urls":{"Github":"https://github.com/chaijs/chai"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/8527916?s=200&v=4","name":"ava","desc":"未来的JavaScript测试运行器","url":"https://github.com/avajs/ava","urls":{"中文":"https://github.com/avajs/ava-docs/blob/master/zh_CN/readme.md"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://jestjs.io/img/favicon/favicon.ico","name":"Jest","desc":"Jest是一个令人愉快的JavaScript测试框架,专注于简单性。","url":"https://jestjs.io/zh-Hans/","urls":{"Github":"https://github.com/facebook/jest"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/4243232?s=200&v=4","name":"testcafe","desc":"一个Node.js工具,用于自动化端到端Web测试","url":"https://devexpress.github.io/testcafe/","urls":{"Github":"https://github.com/DevExpress/testcafe"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/26206404?s=200&v=4","name":"jest-puppeteer","desc":"使用Jest&Puppeteer运行测试 🎪✨","url":"https://github.com/smooth-code/jest-puppeteer","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://kulshekhar.github.io/ts-jest/assets/img/logo.png","name":"ts-jest","desc":"具有对Jest的Sourcemap支持的TypeScript预处理器","url":"https://kulshekhar.github.io/ts-jest","urls":{"Github":"https://github.com/kulshekhar/ts-jest"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/26206404?s=200&v=4","name":"jest-extended","desc":"扩展 jest 匹配器","url":"https://github.com/jest-community/jest-extended","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"数据库","nav":[{"name":"node-mysql2","desc":"node.js的快速node-mysql兼容的mysql驱动程序","url":"https://github.com/sidorares/node-mysql2","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"sequelize","desc":"基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, SQLite 和 Microsoft SQL Server. 它具有强大的事务支持, 关联关系, 读取和复制等功能","url":"https://demopark.github.io/sequelize-docs-Zh-CN/","urls":{"英文":"http://docs.sequelizejs.com/","中文":"https://demopark.github.io/sequelize-docs-Zh-CN/","Github":"https://github.com/sequelize/sequelize"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"mongoose","desc":"mongodb对象模型设计用于在异步环境中工作。","url":"http://www.mongoosejs.net/","urls":{"英文":"http://mongoosejs.com/","中文":"http://www.mongoosejs.net/","Github":"https://github.com/Automattic/mongoose"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"ioredis","desc":"适用于Node.js,以性能为中心且功能齐全的Redis客户端。","url":"https://github.com/luin/ioredis","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"objection.js","desc":"Objection.js是Node.js的一个ORM ,它旨在避免使用SQL和底层数据库引擎的全部功能,同时尽可能简单地将magic保持在最低限度。","url":"http://vincit.github.io/objection.js/","urls":{"Github":"https://github.com/Vincit/objection.js"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"nedb","desc":"JavaScript数据库,用于Node.js,nw.js,electron和浏览器","url":"https://github.com/louischatriot/nedb","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/20165699?s=200&v=4","name":"typeorm","desc":"ORM for TypeScript和JavaScript(ES7,ES6,ES5)。支持MySQL,PostgreSQL,MariaDB,SQLite,MS SQL Server,Oracle,WebSQL数据库。适用于NodeJS,浏览器,Ionic,Cordova和Electron平台","url":"http://typeorm.io","urls":{"中文":"https://github.com/typeorm/typeorm/tree/master/docs/zh_CN","Github":"https://github.com/typeorm/typeorm"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/10490573?s=200&v=4","name":"knexjs","desc":"PostgreSQL,MySQL和SQLite3的查询构建器,旨在灵活,可移植且易于使用。","url":"http://knexjs.org","urls":{"Github":"https://github.com/knex/knex"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/5845577?s=200&v=4","name":"node-redis","desc":"高性能Node.js Redis客户端。","url":"https://github.com/NodeRedis/node-redis","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"图形相关","nav":[{"name":"node-canvas","desc":"node-canvas是Node.js的Cairo -backed Canvas实现。","url":"https://github.com/Automattic/node-canvas","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"svg-captcha","desc":"在node.js中生成svg验证码","url":"https://github.com/lemonce/svg-captcha","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"ccap","desc":"node.js使用C++库CImg生成验证码,无需安装任何其他库或软件","url":"https://github.com/DoubleSpout/ccap","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"text-to-svg","desc":"将文本转换为SVG路径而不依赖于本机","url":"https://github.com/shrhdk/text-to-svg","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"svg2png","desc":"使用PhantomJS将SVG转换为PNG","url":"https://github.com/domenic/svg2png","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"代理","nav":[{"name":"node-http-proxy","desc":"一个HTTP可编程代理库,支持websocket。它适用于实现反向代理和负载平衡器等组件","url":"https://github.com/nodejitsu/node-http-proxy","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"http-proxy-middleware","desc":"用于连接,快速和浏览器同步的单线程node.js http-proxy中间件(基于node-http-proxy)","url":"https://github.com/chimurai/http-proxy-middleware","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"AST辅助工具","nav":[{"name":"esprima","desc":"ECMAScript解析基础架构,可进行多用途分析, 将代码转换成AST","url":"https://esprima.org/","urls":{"Github":"https://github.com/jquery/esprima"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"recast","desc":"JavaScript AST转换器,非破坏性漂亮打印机和自动源映射生成器","url":"https://github.com/benjamn/recast","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"文件相关","nav":[{"name":"node-xlsx","desc":"NodeJS excel文件解析器和构建器","url":"https://github.com/mgcrea/node-xlsx","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"fs-extra","desc":"操作系统文件,用于替代内置的fs模块","url":"https://www.xiejiahe.com/detail/5b52fca1df53a14006035e1e","urls":{"中文":"https://www.xiejiahe.com/detail/5b52fca1df53a14006035e1e","Github":"https://github.com/jprichardson/node-fs-extra"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/5826089?s=200&v=4","name":"js-xlsx","desc":"SheetJS社区版 - 电子表格工具包","url":"https://sheetjs.com/","urls":{"Github":"https://github.com/SheetJS/js-xlsx"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://www.archiverjs.com/images/logo.svg","name":"node-archiver","desc":"文件压缩","url":"https://www.archiverjs.com/","urls":{"Github":"https://github.com/archiverjs/node-archiver"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"微信开发","nav":[{"name":"wechat-oauth","desc":"微信公共平台OAuth接口消息接口服务中间件与API SDK","url":"https://github.com/node-webot/wechat-oauth","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"wechat-api","desc":"微信公共平台API","url":"https://github.com/node-webot/wechat-api","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"wechat","desc":"微信公共平台消息接口服务中间件","url":"https://github.com/node-webot/wechat","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"wechaty","desc":"是适用于微信个人帐户的Bot SDK ,可以帮助您创建6行javascript的机器人","url":"https://chatie.io/wechaty/","urls":{"Github":"https://github.com/Chatie/wechaty"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"CLI","nav":[{"name":"Glob","desc":"匹配文件。 **/*.js","url":"https://github.com/isaacs/node-glob","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"prompts","desc":"轻巧,美观和用户友好的交互式提示","url":"https://github.com/terkelg/prompts","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars3.githubusercontent.com/u/21160645?s=200&v=4","name":"enquirer","desc":"时尚,直观和用户友好的提示","url":"https://github.com/enquirer/enquirer","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/887802?s=200&v=4","name":"cli-table3","desc":"带有Node.JS的CLI的漂亮unicode表","url":"https://github.com/cli-table/cli-table3","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"commander.js","desc":"node.js命令行界面的完整解决方案,受Ruby指挥官的启发","url":"https://github.com/tj/commander.js","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"ora","desc":"优雅的终端微调器","url":"https://github.com/sindresorhus/ora","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"Inquirer.js","desc":"常用交互式命令行用户界面的集合","url":"https://github.com/SBoudrias/Inquirer.js","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"shelljs","desc":"Node.js的可移植Unix shell命令","url":"https://documentup.com/shelljs/shelljs","urls":{"Github":"https://github.com/shelljs/shelljs"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"download-git-repo","desc":"下载并提取git存储库(GitHub,GitLab,Bitbucket)","url":"https://github.com/flipxfx/download-git-repo","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/6078720?s=200&v=4","name":"node-semver","desc":"node的semver解析器","url":"https://github.com/npm/node-semver","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"node-progress","desc":"node.js的灵活ascii进度条","url":"https://github.com/visionmedia/node-progress","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"node-qrcode","desc":"二维码生成","url":"https://github.com/soldair/node-qrcode","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"open","desc":"打开URL,文件,可执行文件等内容。跨平台。","url":"https://github.com/sindresorhus/open","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"ssh2","desc":"用纯JavaScript编写的SSH2客户端和服务器模块,用于node.js","url":"https://github.com/mscdex/ssh2","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"minimist","desc":"解析参数选项","url":"https://github.com/substack/minimist","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"node-clear","desc":"清空终端屏幕信息","url":"https://github.com/bahamas10/node-clear","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/13122722?s=200&v=4","name":"chalk","desc":"终端字符串样式","url":"https://github.com/chalk/chalk","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars3.githubusercontent.com/u/16504989?s=200&v=4","name":"yargs","desc":"通过解析参数并生成优雅的用户界面来帮助您构建交互式命令行工具。","url":"https://github.com/yargs/yargs","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"模板引擎","nav":[{"icon":"https://handlebarsjs.com/images/favicon.png","name":"handlebars","desc":"JavaScript模板引擎","url":"http://handlebarsjs.com/","urls":{"Github":"https://github.com/wycats/handlebars.js"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://ejs.co/favicon.svg","name":"ejs","desc":"JavaScript模板引擎","url":"https://ejs.co/","urls":{"Github":"https://github.com/mde/ejs"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://github.githubassets.com/favicons/favicon.svg","name":"mustache.js","desc":"使用JavaScript的无逻辑{{mustache}}模板","url":"https://github.com/janl/mustache.js","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"其他","nav":[{"name":"node-xml2js","desc":"简单的XML到JavaScript对象转换器。它支持双向转换。使用sax-js和 xmlbuilder-js","url":"https://github.com/Leonidas-from-XIV/node-xml2js","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"iconv-lite","desc":"纯JavaScript中转换字符编码。","url":"https://github.com/ashtuchkin/iconv-lite","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"node-uuid","desc":"在JavaScript中生成符合RFC的UUID","url":"https://github.com/kelektiv/node-uuid","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"nativefier","desc":"使任何网页成为桌面应用程序","url":"https://github.com/jiahaog/nativefier","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"getmac","desc":"通过Node.js获取当前计算机的mac地址","url":"https://github.com/bevry/getmac","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"http-server","desc":"一个简单的零配置命令行http服务器","url":"https://github.com/indexzero/http-server","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"node-schedule","desc":"Node的类似cron-like和非not-cron-like的作业调度程序。","url":"https://github.com/node-schedule/node-schedule","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"qrcode-terminal","desc":"QRCode终端版","url":"https://github.com/gtanner/qrcode-terminal","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/13612933?s=200&v=4","name":"localtunnel","desc":"localtunnel将您的localhost暴露给世界,以便于测试和共享!无需混淆DNS或部署只是为了让其他人测试您的更改","url":"https://localtunnel.github.io/www/","urls":{"Github":"https://github.com/localtunnel/localtunnel"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"http://www.passportjs.org/images/favicon/apple-icon-57x57.png","name":"passport","desc":"Node.js的简单,不显眼的身份验证","url":"http://www.passportjs.org/","urls":{"Github":"https://github.com/jaredhanson/passport"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"parameter","desc":"参数验证工具","url":"https://github.com/node-modules/parameter","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"bytes","desc":"用于解析字符串字节, b/kb/mb/gb/tb/pb","url":"https://github.com/visionmedia/bytes.js","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/723678?s=200&v=4","name":"js-yaml","desc":"JavaScript YAML解析器和转储器。非常快","url":"https://nodeca.github.io/js-yaml/","urls":{"Github":"https://github.com/nodeca/js-yaml"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/34631683?s=200&v=4","name":"acorn","desc":"一个小型,基于JavaScript的快速JavaScript解析器","url":"https://github.com/acornjs/acorn","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"figlet.js","desc":"用JavaScript编写的FIG驱动程序,旨在完全实现FIGfont规范, 生成ascii","url":"https://github.com/patorjk/figlet.js","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"node-printer","desc":"本机 node.js 打印机","url":"https://github.com/tojocky/node-printer","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"fontmin","desc":"无缝缩小字体","url":"https://github.com/ecomfe/fontmin","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/5658226?s=200&v=4","name":"morgan","desc":"Node.js的HTTP请求记录器中间件","url":"https://github.com/expressjs/morgan","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/9271229?s=200&v=4","name":"jsdom","desc":"与Node.js一起使用的各种Web标准的JavaScript实现","url":"https://github.com/jsdom/jsdom","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"跨平台框架","nav":[{"title":"Electron","icon":"https://www.electronjs.org/images/favicon.ico","nav":[{"name":"Electron","desc":"使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用","url":"https://electronjs.org/","urls":{"Github":"https://github.com/electron/electron"},"icon":"https://www.electronjs.org/images/favicon.ico","createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"electron-packager","desc":"通过JS或CLI自定义和封装您的Electron应用程序与特定于操作系统的软件包(.app,.exe等)","url":"https://github.com/electron-userland/electron-packager","icon":"https://www.electronjs.org/images/favicon.ico","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"electron-installer-dmg","desc":"使用AppDMG为电子应用程序创建DMG安装程序","url":"https://github.com/electron-userland/electron-installer-dmg","icon":"https://www.electronjs.org/images/favicon.ico","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://simulatedgreg.gitbooks.io/electron-vue/content/gitbook/images/apple-touch-icon-precomposed-152.png","name":"electron-vue","desc":"基于 vue (基本上是它听起来的样子) 来构造 electron 应用程序的样板代码。","url":"https://simulatedgreg.gitbooks.io/electron-vue/content/cn/","urls":{"英文":"https://simulatedgreg.gitbooks.io/electron-vue/content/en/","中文":"https://simulatedgreg.gitbooks.io/electron-vue/content/cn/","Github":"https://github.com/SimulatedGREG/electron-vue"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://www.electron.build/assets/images/favicon.png","name":"electron-builder","desc":"一个开箱即用的完整解决方案,用于将Electron, Proton Native or Muon 打包、构建成支持macOS, Windows and Linux三大系统的,可”自动更新”的可发布安装程序","url":"https://www.electron.build/","urls":{"Github":"https://github.com/electron-userland/electron-builder"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://electron-react-boilerplate.js.org/logo/logo.png","name":"electron-react-boilerplate","desc":"基于React可扩展跨平台应用程序的App","url":"https://electron-react-boilerplate.js.org/","urls":{"Github":"https://github.com/electron-react-boilerplate/electron-react-boilerplate"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"menubar","desc":"Electron创建菜单栏桌面应用程序的高级方法。","url":"https://github.com/maxogden/menubar","icon":"https://www.electronjs.org/images/favicon.ico","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"nw.js","nav":[{"icon":"https://nwjs.org.cn/asset/img/favicon.ico","name":"nw.js","desc":"从DOM/WebWorker层,直接调用所有的Node模块,使用现有的web技术,开启一个全新的编写应用的方式","url":"https://nwjs.org.cn/","urls":{"英文":"https://nwjs.io/","中文":"https://nwjs.org.cn/","Github":"https://github.com/nwjs/nw.js"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://nwjs.org.cn/asset/img/favicon.ico","name":"nw-builder","desc":"以编程方式或通过CLI 构建适用于Mac,Win和Linux的NW.js应用程序。","url":"https://github.com/nwjs-community/nw-builder","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://nwjs.org.cn/asset/img/favicon.ico","name":"nwjs-ffmpeg-prebuilt","desc":"FFMpeg预构建的二进制文件具有专有的编解码器和构建窗口。","url":"https://github.com/iteufel/nwjs-ffmpeg-prebuilt","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"WEB框架","nav":[{"title":"nest","nav":[{"icon":"https://avatars1.githubusercontent.com/u/28507035?s=200&v=4","name":"nest","desc":"Nest 是一个用于构建高效,可扩展的 Node.js 服务器端应用程序的框架。它使用渐进式 JavaScript,内置并完全支持 TypeScript(但仍然允许开发人员使用纯 JavaScript 编写代码)并结合了 OOP(面向对象编程),FP(功能编程)和 FRP(功能反应编程)的元素","url":"https://docs.nestjs.cn/6/introduction","urls":{"英文":"https://nestjs.com/","中文":"https://docs.nestjs.cn/6/introduction","Github":"https://github.com/nestjs/nest"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/28507035?s=200&v=4","name":"awesome-nestjs","desc":"NestJS的精选列表","url":"https://github.com/juliandavidmr/awesome-nestjs","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"egg.js","nav":[{"icon":"https://eggjs.org/images/favicon.png","name":"Egg.js","desc":"Egg.js 为企业级框架和应用而生,我们希望由 Egg.js 孕育出更多上层框架,帮助开发团队和开发人员降低开发和维护成本","url":"https://eggjs.org/zh-cn/intro/index.html","urls":{"英文":"https://eggjs.org","中文":"https://eggjs.org/zh-cn/intro/index.html","Github":"https://github.com/eggjs/egg/"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://eggjs.org/images/favicon.png","name":"egg-validate","desc":"基于 parameter 封装的参数验证插件","url":"https://github.com/eggjs/egg-validate","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://eggjs.org/images/favicon.png","name":"egg-mailer","desc":"基于 nodemailer 封装的参数验证插件","url":"https://github.com/xjh22222228/egg-mailer","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"Express/Koa","nav":[{"icon":"https://avatars2.githubusercontent.com/u/5055057?s=200&v=4","name":"Koa","desc":"Koa -- 基于Node.js 平台的下一代web开发框架","url":"https://koa.bootcss.com/","urls":{"英文":"https://koajs.com/","中文":"https://koa.bootcss.com/","Github":"https://github.com/koajs/koa"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/5658226?s=200&v=4","name":"Express","desc":"Express - 快速、开放、极简的 Web 开发框架","url":"http://expressjs.jser.us/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"辅助工具","icon":"https://nodejs.org/static/images/favicons/favicon.ico","nav":[{"title":"调试debugger","nav":[{"name":"node-inspector","desc":"Node.js调试器基于Blink Developer Tools","url":"https://github.com/node-inspector/node-inspector","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"debug","desc":"一个微小的JavaScript调试工具,以Node.js核心的调试技术为模型。适用于Node.js和Web浏览器","url":"https://github.com/visionmedia/debug","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"ndb","desc":"ndb是针对Node.js的改进调试体验,由Chrome DevTools启用","url":"https://github.com/GoogleChromeLabs/ndb","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"node版本管理","nav":[{"name":"nvm","desc":"Node版本管理器 - 用于管理多个活动node.js版本的简单bash脚本","url":"https://github.com/creationix/nvm","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"nvm-windows","desc":"适用于Windows的node.js版本管理实用程序","url":"https://github.com/coreybutler/nvm-windows","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"nvs","desc":"Node Version Switcher - 用于在Node.js的版本和分支之间切换的跨平台工具(受到nvm的启发)","url":"https://github.com/jasongin/nvs","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"n","desc":"Node.js版本管理:无配置文件,无复杂的API,非常简单","url":"https://github.com/tj/n","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"日志管理","nav":[{"name":"log4js-node","desc":"log4js 是一个 nodejs 日志管理工具,可以将日志以各种形式输出到各种渠道。","url":"https://log4js-node.github.io/log4js-node/index.html","urls":{"Github":"https://github.com/log4js-node/log4js-node"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"node-bunyan","desc":"用于node.js服务的简单快速的JSON日志记录模块","url":"https://github.com/trentm/node-bunyan","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"集成工具","nav":[{"icon":"https://avatars0.githubusercontent.com/u/1714870?s=200&v=4","name":"yeoman","desc":"一套用于自动化开发工作流程的工具","url":"https://yeoman.io/","urls":{"Github":"https://github.com/yeoman/yeoman"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/16486629?s=200&v=4","name":"nodemailer","desc":"发送来自Node.js的电子邮件 - 很容易就像蛋糕一样!","url":"http://nodemailer.com/","urls":{"Github":"https://github.com/nodemailer/nodemailer"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"gh-pages","desc":"将文件发布到GitHub上的gh-pages分支的常规任务","url":"https://github.com/tschaub/gh-pages","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"代码压缩","nav":[{"icon":"https://avatars1.githubusercontent.com/u/43502240?s=200&v=4","name":"terser","desc":"适用于ES6+的JavaScript解析器,mangler和压缩器工具包","url":"https://terser.org/","urls":{"Github":"https://github.com/terser/terser"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"其他","nav":[{"name":"Awehunt","desc":"npm包下载量曲线对比图","url":"https://awehunt.com/npmdownloads?ids=react,angular,vue","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"nodemon","desc":"监视node.js应用程序中的任何更改并自动重新启动服务器 - 非常适合开发","url":"https://nodemon.io/","urls":{"Github":"https://github.com/remy/nodemon"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"pkg","desc":"将Node.js项目打包成可执行文件","url":"https://github.com/zeit/pkg","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"npm-check-updates","desc":"查找package.json或bower.json允许的更新版本的软件包依赖项","url":"https://github.com/tjunnone/npm-check-updates","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"husky","desc":"husky 可以防止错误的 git commit, git push 等","url":"https://github.com/typicode/husky","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"bundlephobia","desc":"找出在项目中添加新的依赖项的包大小","url":"https://bundlephobia.com","urls":{"Github":"https://github.com/pastelsky/bundlephobia"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"npm-run-all","desc":"一个CLI工具,可并行或顺序运行多个npm脚本","url":"https://github.com/mysticatea/npm-run-all","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"dotenv","desc":"从.env加载用于nodejs项目的环境变量","url":"https://github.com/motdotla/dotenv#readme","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"cross-env","desc":"运行跨平台设置和使用环境变量的脚本","url":"https://github.com/kentcdodds/cross-env","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"nrm","desc":"npm源快速切换, npm, cnpm, taobao, nj, 内网","url":"https://github.com/Pana/nrm","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"Deno","nav":[{"title":"官方","icon":"https://avatars1.githubusercontent.com/u/42048915?s=200&v=4","nav":[{"name":"Deno","desc":"一个安全的运行时的JavaScript和TypeScript","url":"https://deno.land/","urls":{"Github":"https://github.com/denoland"},"icon":"https://avatars1.githubusercontent.com/u/42048915?s=200&v=4","createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"Deno 标准库","desc":"Deno 标准库","url":"https://deno.land/std","icon":"https://avatars1.githubusercontent.com/u/42048915?s=200&v=4","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"工具","icon":"https://avatars1.githubusercontent.com/u/42048915?s=200&v=4","nav":[{"name":"Deno","desc":"适用于Deno的Visual Studio Code插件","url":"https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno","urls":{"Github":"https://github.com/denoland/vscode_deno"},"icon":"https://avatars1.githubusercontent.com/u/42048915?s=200&v=4","createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"}],"id":0,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"Golang","nav":[{"title":"生态系统","icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","nav":[{"title":"生态","nav":[{"name":"Golang","desc":"Go编程语言","url":"https://go-zh.org/","urls":{"英文":"https://golang.org/","中文":"https://go-zh.org/","Github":"https://github.com/golang/go"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"go.dev","desc":"大规模构建快速,可靠,高效的软件","url":"https://go.dev/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"awesome-go","desc":"精选的Go框架,库和软件的精选列表","url":"https://github.com/jobbole/awesome-go-cn","urls":{"英文":"https://github.com/avelino/awesome-Go","中文":"https://github.com/jobbole/awesome-go-cn"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/49926011?s=200&v=4","name":"Goproxy","desc":"中国最可靠的 Go 模块代理","url":"https://goproxy.cn/","urls":{"Github":"https://github.com/goproxy/goproxy.cn"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://static.studygolang.com/static/img/favicon.ico","name":"Go语言中文网","desc":"Go语言中文网","url":"https://studygolang.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://studygolang.com/static/img/go.ico","name":"Go标准库中文文档","desc":"Go标准库中文文档","url":"https://studygolang.com/pkgdoc","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"WEB框架","nav":[{"name":"gin","desc":"Gin是用Go(Golang)编写的Web框架。它具有类似于martini的API,其性能比httprouter快40倍。如果您需要性能和良好的生产率,您会喜欢Gin","url":"https://learnku.com/docs/gin-gonic/2019/go-gin-document","urls":{"英文":"https://gin-gonic.com/","中文":"https://learnku.com/docs/gin-gonic/2019/go-gin-document","Github":"https://github.com/gin-gonic/gin"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"beego","desc":"beego是用于Go编程语言的开源,高性能Web框架","url":"http://beego.me","urls":{"英文":"http://beego.me","Github":"https://github.com/astaxie/beego"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"martini","desc":"Go的经典Web框架","url":"http://martini.codegangsta.io","urls":{"英文":"http://martini.codegangsta.io","Github":"https://github.com/go-martini/martini"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/2624634?s=200&v=4","name":"echo","desc":"高性能,简约的Go Web框架","url":"https://echo.labstack.com","urls":{"英文":"https://echo.labstack.com","Github":"https://github.com/labstack/echo"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://www.iris-go.com/favicon.ico","name":"iris","desc":"最快的HTTP / 2 Go Web框架。AWS Lambda,gRPC,MVC,唯一路由器,Websocket,会话,测试套件,依赖注入等。expressjs和laravel的真正继承者|","url":"https://www.iris-go.com/","urls":{"Github":"https://github.com/kataras/iris"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/59947262?s=200&v=4","name":"fiber","desc":"Fiber是一个受Express启发的Web框架,建立在Fasthttp(Go最快的HTTP引擎)的基础上。 旨在简化零内存分配和性能的情况,以便快速开发。","url":"https://gofiber.io/","urls":{"Github":"https://github.com/gofiber/fiber"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"依赖包","icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","nav":[{"title":"GUI","nav":[{"icon":"https://avatars3.githubusercontent.com/u/36045855?s=200&v=4","name":"Fyne","desc":"基于Material Design的Go跨平台GUI","url":"https://fyne.io/","urls":{"Github":"https://github.com/fyne-io/fyne"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"日志模块","nav":[{"name":"logrus","desc":"Go的结构化,可插入日志记录。","url":"https://github.com/sirupsen/logrus","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars3.githubusercontent.com/u/19262598?s=200&v=4","name":"zap","desc":"在Go中实现快速,结构化,水平的日志记录。","url":"https://github.com/uber-go/zap","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"数据库","nav":[{"name":"gorm","desc":"适用于Golang的绝佳ORM库,旨在对开发人员友好","url":"https://gorm.io/zh_CN/","urls":{"英文":"https://gorm.io/","中文":"https://gorm.io/zh_CN/","Github":"https://github.com/go-gorm/gorm"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://entgo.io/img/favicon.ico","name":"ent","desc":"用于Go的简单但功能强大的实体框架,可轻松构建和维护具有大型数据模型的应用程序。","url":"https://entgo.io/","urls":{"Github":"https://github.com/facebook/ent"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"mysql","desc":"Go MySQL驱动程序是Go(golang)数据库/ sql包的MySQL驱动程序","url":"https://github.com/go-sql-driver/mysql","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"sqlite3","desc":"sqlite3驱动程序","url":"https://github.com/mattn/go-sqlite3","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"pq","desc":"适用于database/sql的Pure Go Postgres驱动程序","url":"https://github.com/lib/pq","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://redis.uptrace.dev/assets/images/favicon.png","name":"redis","desc":"用于Golang的类型安全的Redis客户端","url":"https://redis.uptrace.dev/","urls":{"Github":"https://github.com/go-redis/redis"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"解析器","nav":[{"name":"json-iterator","desc":"高性能100%兼容的“ encoding / json”替代产品","url":"http://jsoniter.com/migrate-from-go-std.html","urls":{"Github":"https://github.com/json-iterator/go"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"blackfriday","desc":"Markdown处理器,安全、快速。","url":"https://github.com/russross/blackfriday","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"goldmark","desc":"用Go语言编写的markdown解析器。易于扩展,符合标准(CommonMark),结构合理。","url":"https://github.com/yuin/goldmark","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"goquery","desc":"接近jQuery语法的DOM解析库","url":"https://github.com/PuerkitoBio/goquery","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"go-yaml","desc":"yaml包使Go程序能够轻松地对yaml值进行编码和解码, 可以快速可靠地解析和生成YAML数据。","url":"https://github.com/go-yaml/yaml/tree/v3","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"xurls","desc":"从文本中提取Urls","url":"https://github.com/mvdan/xurls","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"参数验证","nav":[{"name":"govalidator","desc":"参数验证程序,用于字符串,数字,切片和结构","url":"https://github.com/asaskevich/govalidator","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"validator","desc":"基于标签对结构和各个字段实现值验证。","url":"https://github.com/go-playground/validator","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"其他","nav":[{"name":"ip","desc":"获取公网IP地址、v4/v6","url":"https://github.com/xjh22222228/ip","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"terminal","desc":"提供了用于处理终端的支持功能,这在UNIX系统上很常见","url":"https://godoc.org/golang.org/x/crypto/ssh/terminal","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"gopsutil","desc":"用于检索正在运行的进程和系统利用率(CPU,内存,磁盘,网络,传感器)的信息。它主要用于系统监视,概要分析和限制进程资源以及管理正在运行的进程","url":"https://github.com/shirou/gopsutil","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"air","desc":"Go热重载","url":"https://github.com/cosmtrek/air","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"go-micro","desc":"分布式系统开发框架","url":"https://go-micro.dev","urls":{"Github":"https://github.com/micro/go-micro"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"xlsx","desc":"xlsx是一个库,用于简化在Go程序中读写Microsoft Excel最新版本使用的XML格式。","url":"https://github.com/tealeg/xlsx","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"email","desc":"Go强大而灵活的电子邮件库。","url":"https://github.com/jordan-wright/email","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"websocket","desc":"Go的一种快速,经过测试且广泛使用的WebSocket实现","url":"https://github.com/gorilla/websocket","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"jwt-go","desc":"Golang 实现的 JSON WEB TOKEN","url":"https://github.com/dgrijalva/jwt-go","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"cron","desc":"Go 实现的 cron 包","url":"https://github.com/robfig/cron","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"qrcode","desc":"二维码生成","url":"https://github.com/skip2/go-qrcode","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars3.githubusercontent.com/u/27810343?s=200&v=4","name":"casbin","desc":"权限管理库,支持Golang中的访问控制模型,如ACL,RBAC,ABAC","url":"https://casbin.org/zh-CN/","urls":{"Github":"https://github.com/casbin/casbin"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"resty","desc":"用于Go的简单HTTP和REST客户端库","url":"https://github.com/go-resty/resty","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://grpc.io/favicons/apple-touch-icon.png","name":"grpc-go","desc":"gRPC的Go语言实现。基于HTTP/2的RPC","url":"https://grpc.io/","urls":{"Github":"https://github.com/grpc/grpc-go"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/33584194?s=200&v=4","name":"colly","desc":"Colly提供了一个干净的界面来编写任何种类的爬虫","url":"http://go-colly.org/","urls":{"Github":"https://github.com/gocolly/colly"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"cors","desc":"使用net / http可配置的处理程序来处理CORS请求","url":"https://github.com/rs/cors","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"CLI","icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","nav":[{"title":"终端颜色","nav":[{"name":"color","desc":"CLI 控制台颜色渲染工具库, 支持Windows","url":"https://github.com/fatih/color","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"命令行解析","nav":[{"name":"cli","desc":"一个简单,快速且有趣的软件包,用于在Go中构建命令行应用","url":"https://github.com/urfave/cli/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"cobra","desc":"Cobra既是用于创建功能强大的现代CLI应用程序的库,又是用于生成应用程序和命令文件的程序","url":"https://github.com/spf13/cobra","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"控制台进度条","nav":[{"name":"pb","desc":"Golang的控制台进度栏","url":"https://github.com/cheggaaa/pb","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"mpb","desc":"Go cli应用程序的多进度条","url":"https://github.com/vbauerster/mpb","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"其他","nav":[{"name":"promptui","desc":"命令行应用程序的交互式提示","url":"https://github.com/manifoldco/promptui","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"godotenv","desc":"从`.env`文件加载环境变量。","url":"https://github.com/joho/godotenv","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"go-prompt","desc":"受python-prompt-toolkit启发,在Go中构建强大的交互式提示。","url":"https://github.com/c-bata/go-prompt","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"工具","nav":[{"title":"工具","nav":[{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"gvm","desc":"Go版本管理器,类似 nvm","url":"https://github.com/moovweb/gvm","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"json-to-go","desc":"在线 JSON 转 Struct结构体","url":"https://mholt.github.io/json-to-go/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars3.githubusercontent.com/u/35628013?s=200&v=4","name":"golangci-lint","desc":"Go的快速Linters Runner","url":"https://github.com/golangci/golangci-lint","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://play.golang.org/favicon.ico","name":"The Go Playground","desc":"在线运行Golang","url":"https://play.golang.org/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://nuclei.projectdiscovery.io/","name":"nuclei","desc":"Nuclei是基于模板的可配置目标扫描的快速工具,具有广泛的可扩展性和易用性。","url":"https://play.golang.org/","urls":{"Github":"https://github.com/projectdiscovery/nuclei"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars3.githubusercontent.com/u/35628013?s=200&v=4","name":"jaeger","desc":"分布式链路追踪","url":"https://www.jaegertracing.io/","urls":{"Github":"https://github.com/jaegertracing/jaeger"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/19232073?s=200&v=4","name":"delve","desc":"Delve是Go编程语言的调试器。","url":"https://github.com/go-delve/delve","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"参考资料","nav":[{"title":"书籍","nav":[{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go 入门指南","desc":"《The Way to Go》中文译本,中文正式名《Go 入门指南》","url":"https://github.com/unknwon/the-way-to-go_ZH_CN/blob/master/eBook/directory.md","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go语言圣经","desc":"Go语言圣经 《The Go Programming Language》 中文版本","url":"https://yar999.gitbook.io/gopl-zh/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go WEB 编程","desc":"Golang电子书介绍如何使用Golang建立网络","url":"https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/preface.md","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go简易教程","desc":"《The Little Go Book》中文译本,中文正式名《Go简易教程》","url":"https://github.com/songleo/the-little-go-book_ZH_CN","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go by Example 中文版","desc":"Go by Example 是对 Go 基于实践的介绍,包含一系列带有注释说明的示例程序。","url":"https://gobyexample-cn.github.io/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go语言之旅","desc":"本指南涵盖了该语言的大部分重要特性,主要包括:基础、方法和接口、并发等","url":"https://tour.go-zh.org/welcome/1","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go语言101","desc":"一本着墨于Go语法语义以及运行时相关知识点的编程指导书(Go 1.15就绪)。 此书旨在尽可能地帮助Go程序员更深更全面地理解Go语言","url":"https://gfw.go101.org/article/101.html","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Go语言高级编程","desc":"本书涵盖CGO、Go汇编语言、RPC实现、Web框架实现、分布式系统等高阶主题,针对Go语言有一定经验想深入了解Go语言各种高级用法的开发人员(不推荐新手)","url":"https://chai2010.cn/advanced-go-programming-book/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Mastering GO","desc":"《Mastering GO》中文译本,《玩转 GO》。","url":"https://github.com/hantmac/Mastering_Go_ZH_CN","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Mastering GO2","desc":"Mastering Go 第二版中文版来袭!","url":"https://github.com/hantmac/Mastering_Go_Second_Edition_Zh_CN","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"其他","nav":[{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"100天从新手到大师","desc":"Golang - 100天从新手到大师","url":"https://www.qfgolang.com/","urls":{"Github":"https://github.com/rubyhan1314/Golang-100-Days"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"project-layout","desc":"Go标准布局结构,项目架构结构参考。","url":"https://github.com/golang-standards/project-layout/blob/master/README_zh.md","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"编码规范","desc":"Uber Go 语言编码规范","url":"https://github.com/xxjwxc/uber_go_guide_cn","urls":{"英文":"https://github.com/uber-go/guide/blob/master/style.md","中文":"https://github.com/xxjwxc/uber_go_guide_cn"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/4314092?s=200&v=4","name":"Gin实战","desc":"WEB 框架Gin实战","url":"https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI3MjU4Njk3Ng==&action=getalbum&album_id=1362784031968149504&scene=173#wechat_redirect","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"Flutter","nav":[{"title":"生态系统","nav":[{"title":"官方","nav":[{"icon":"https://pub.dev/favicon.ico","name":"Dart","desc":"Dart语言","url":"http://www.dartdoc.cn/","urls":{"英文":"https://dart.dev/","中文":"http://www.dartdoc.cn/","Github":"https://github.com/dart-lang/sdk"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://pub.dev/favicon.ico","name":"DartPad","desc":"在线运行Dart语法","url":"https://dartpad.cn/embed-inline.html?id=7a9764702c0608711e08&split=90","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://pub.dev/favicon.ico","name":"Dart packages","desc":"Dart packages","url":"https://pub.dev/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://flutter.dev/images/favicon.png","name":"Flutter","desc":"Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的","url":"https://flutterchina.club/","urls":{"英文":"https://flutter.dev/","中文":"https://flutterchina.club/","Github":"https://github.com/flutter/flutter"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://flutter.dev/images/favicon.png","name":"Flutter Icon","desc":"Flutter内置Icon组件图标速查表","url":"https://material.io/resources/icons/?style=baseline","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"常用模块","nav":[{"icon":"https://avatars1.githubusercontent.com/u/2605412?s=200&v=4","name":"imei_plugin","desc":"用flutter在Android中获取imei的插件","url":"https://github.com/kevincaicedo/imei_plugin","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/2605412?s=200&v=4","name":"multi_image_picker","desc":"Flutter插件,可让您在iOS和Android上显示多图像选择器。","url":"https://github.com/Sh1d0w/multi_image_picker","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/2605412?s=200&v=4","name":"sqflite","desc":"SQLite flutter plugin","url":"https://github.com/tekartik/sqflite","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://flutter.dev/images/favicon.png","name":"dio","desc":"dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时、自定义适配器等","url":"https://github.com/flutterchina/dio","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://camo.githubusercontent.com/a53c432bb9c2222880a6eca54b5ed091d1ab3d40/68747470733a2f2f696d672e616c6963646e2e636f6d2f7466732f5442317237344e4a794c614b31526a535a46785858616d504658612d313032342d313032342e706e67","name":"fish-redux","desc":"一个基于Redux状态管理的组合式flutter应用程序框架。它适用于建筑中型和大型应用。","url":"https://github.com/alibaba/fish-redux","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://flutter.dev/images/favicon.png","name":"flutter_pulltorefresh","desc":"一个提供上拉加载和下拉刷新的组件,同时支持Android和Ios","url":"https://github.com/peng8350/flutter_pulltorefresh","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://flutter.dev/images/favicon.png","name":"json_serializable","desc":"JSON序列化和反序列化的代码","url":"https://github.com/dart-lang/json_serializable","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://flutter.dev/images/favicon.png","name":"flutter_swiper","desc":"flutter最强大的siwiper, 多种布局方式,无限轮播,Android和IOS双端适配","url":"https://github.com/best-flutter/flutter_swiper/blob/master/README-ZH.md","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://flutter.dev/images/favicon.png","name":"FlutterToast","desc":"适用于Flutter的Android Toast插件","url":"https://github.com/PonnamKarthik/FlutterToast","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://flutter.dev/images/favicon.png","name":"dart-uuid","desc":"生成 RFC4122(v1,v4,v5) UUIDs","url":"https://github.com/Daegalus/dart-uuid","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://flutter.dev/images/favicon.png","name":"fluwx","desc":"Flutter版微信SDK.WeChat SDK for flutter.","url":"https://github.com/OpenFlutter/fluwx","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"文档资料","nav":[{"icon":"https://flutter.dev/images/favicon.png","name":"Material Design","desc":"Material是一个由开源代码支持的设计系统,可以帮助团队构建高质量的数字体验","url":"https://material.io/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://flutter.dev/images/favicon.png","name":"Flutter实战","desc":"Flutter实战","url":"https://book.flutterchina.club/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://flutter.dev/images/favicon.png","name":"samples","desc":"Flutter示例和演示的集合","url":"https://github.com/flutter/samples","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://img.alicdn.com/tfs/TB1OJkeHNYaK1RjSZFnXXa80pXa-229-229.png","name":"flutter-go","desc":"flutter 开发者帮助 APP,包含 flutter 常用 140+ 组件的demo 演示与中文文档","url":"https://flutter-go.pub/flutter_go_web/#FirstPage","urls":{"Github":"https://github.com/alibaba/flutter-go"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://flutter.dev/images/favicon.png","name":"Flutter-Notebook","desc":"flutter相关功能demo的集合,它能够帮助您快速学习一些零碎的知识","url":"https://github.com/OpenFlutter/Flutter-Notebook","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://flutter.dev/images/favicon.png","name":"plugins","desc":"Flutter团队维护的Flutter插件","url":"https://github.com/flutter/plugins","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://flutter.dev/images/favicon.png","name":"awesome-flutter","desc":"很棒的清单,精选了最好的Flutter库,工具,教程,文章等","url":"https://github.com/Solido/awesome-flutter","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://flutter.dev/images/favicon.png","name":"flutter-do","desc":"330+Widgets在线查看预览和使用。","url":"http://laomengit.com/flutter/widgets/widgets_structure.html","urls":{"Github":"https://github.com/781238222/flutter-do"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"其他","nav":[{"icon":"https://flutter.dev/images/favicon.png","name":"flutter_wanandroid","desc":"基于Google Flutter的WanAndroid客户端,支持Android和iOS。包括BLoC、RxDart 、国际化、主题色、启动页、引导页,拥有较好的项目结构&比较规范的代码","url":"https://github.com/Sky24n/flutter_wanandroid","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://flutter.dev/images/favicon.png","name":"Best-Flutter-UI-Templates","desc":"Best-Flutter-UI-模板, 对所有人完全免费。其内置的Flutter Dart。","url":"https://github.com/mitesh77/Best-Flutter-UI-Templates","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"}],"collapsed":false,"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"Python","nav":[{"title":"生态系统","icon":"https://www.python.org/static/favicon.ico","nav":[{"title":"官方","nav":[{"name":"Python","desc":"是一种解释型、面向对象、动态数据类型的高级程序设计语言。","url":"https://www.python.org/","urls":{"Github":"https://github.com/TheAlgorithms/Python"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"PyPi","desc":"使用Python软件包索引查找,安装和发布Python软件包","url":"https://pypi.org/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"工具","nav":[{"name":"PCU","desc":"python-check-updates, 检查 pip 当前依赖包最新版本","url":"https://github.com/xjh22222228/python-check-updates","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"依赖包","icon":"https://www.python.org/static/favicon.ico","nav":[{"title":"HTTP/爬虫","nav":[{"icon":"https://www.python.org/static/favicon.ico","name":"requests","desc":"requests是一个简单而优雅的HTTP库。","url":"https://requests.readthedocs.io/en/master/","urls":{"Github":"https://github.com/psf/requests"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://raw.githubusercontent.com/aio-libs/aiohttp/master/docs/_static/aiohttp-icon-128x128.png","name":"aiohttp","desc":"用于asyncio和Python的异步HTTP客户端/服务器框架","url":"https://docs.aiohttp.org/en/stable/","urls":{"Github":"https://github.com/aio-libs/aiohttp"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/733635?s=200&v=4","name":"Scrapy","desc":"一个用于Python的快速高级Web爬虫框架。","url":"https://scrapy.org/","urls":{"Github":"https://github.com/scrapy/scrapy"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/983927?s=200&v=4","name":"selenium","desc":"浏览器自动化框架和生态系统。","url":"https://www.selenium.dev/","urls":{"Github":"https://github.com/SeleniumHQ/selenium/"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"name":"beautifulsoup","desc":"可以从HTML或XML文件中提取数据的Python库","url":"https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"图像","nav":[{"name":"Pillow","desc":"友好的PIL前叉,是一个出色的图像处理库","url":"https://python-pillow.org/","urls":{"Github":"https://github.com/python-pillow/Pillow"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"运算","nav":[{"name":"numpy","desc":"使用Python进行科学计算的基本软件包。","url":"https://numpy.org/","urls":{"Github":"https://github.com/numpy/numpy"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"数据分析","nav":[{"icon":"https://avatars1.githubusercontent.com/u/21206976?s=200&v=4","name":"pandas","desc":"功能强大的Python数据分析工具包","url":"https://github.com/pandas-dev/pandas","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"CLI","nav":[{"createdAt":"2021-02-04T12:25:26.295Z","name":"rich","icon":"https://github.com/favicon.ico","url":"https://github.com/willmcgugan/rich","desc":"Rich是一个Python库,用于在终端中提供富文本和精美的格式。","urls":{},"rate":5,"top":false},{"name":"Fire","desc":"Python Fire是一个用于从绝对任何Python对象自动生成命令行界面(CLI)的库。","url":"https://github.com/google/python-fire","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"colorama","desc":"Python中简单的跨平台彩色终端文本","url":"https://pypi.org/project/colorama/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/12731565?s=200&v=4","name":"tqdm","desc":"适用于Python和CLI的快速,可扩展的进度栏","url":"https://github.com/tqdm/tqdm","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"paramiko","desc":"领先的Python SSHv2协议库","url":"https://github.com/paramiko/paramiko","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"click","desc":"Python可组合命令行界面工具包","url":"https://github.com/pallets/click","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"createdAt":"2021-01-24T03:58:47.475Z","title":"其他","icon":null,"nav":[{"createdAt":"2021-01-24T03:59:58.542Z","name":"JMESPath","icon":"https://github.com/favicon.ico","url":"https://github.com/jmespath/jmespath.py","desc":"JMESPath是JSON的查询语言","urls":{},"rate":5,"top":false}]}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"框架","icon":"https://www.python.org/static/favicon.ico","nav":[{"title":"WEB框架","nav":[{"icon":"https://avatars3.githubusercontent.com/u/27804?s=200&v=4","name":"Django","desc":"具有期限的完美主义者的Web框架。","url":"https://www.djangoproject.com/","urls":{"Github":"https://github.com/django/django"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/16748505?s=200&v=4","name":"flask","desc":"用于构建Web应用程序的Python微框架。","url":"https://palletsprojects.com/p/flask/","urls":{"Github":"https://github.com/pallets/flask"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"参考资料","nav":[{"title":"书籍","icon":"https://www.python.org/static/favicon.ico","nav":[{"name":"简明 Python 教程","desc":"旨在于介绍如何使用 Python 语言进行编程的自由图书。它以教材与指南的形式为入门者介绍 Python 语言。如果你对电脑知识的了解仅限于如何保存文本文件的话,那这本书就是为你准备的。","url":"https://bop.mol.uno/","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"文档资料","icon":"https://www.python.org/static/favicon.ico","nav":[{"name":"100天从新手到大师","desc":"Python - 100天从新手到大师","url":"https://github.com/jackfrued/Python-100-Days","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"Python 入门指南","desc":"Python 入门指南","url":"https://python666.cn/cls/lesson/list/","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"What the f*ck Python!","desc":"一些有趣且鲜为人知的 Python 特性.","url":"https://github.com/satwikkansal/wtfpython","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"awesome-python-cn","desc":"Python 资源大全中文版","url":"https://github.com/jobbole/awesome-python-cn","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"cheatsheet","desc":"Python大全备忘单","url":"https://github.com/gto76/python-cheatsheet","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"awesome-python","desc":"精选的Python框架,库,软件和资源的精选清单。","url":"https://github.com/vinta/awesome-python","icon":"https://www.python.org/static/favicon.ico","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z","id":1},{"title":"社区站点","nav":[{"title":"社区站点","nav":[{"title":"问答社区1","nav":[{"icon":"https://cdn.segmentfault.com/v-5f64887f/global/img/touch-icon.png","name":"segmentfault","desc":"是中文领域最大的技术问答交流社区平台","url":"https://segmentfault.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://b-gold-cdn.xitu.io/favicons/v2/apple-touch-icon.png","name":"掘金","desc":"一个帮助开发者成长的社区","url":"https://juejin.im/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"DiyCode1","desc":"致力于构建开发工程师高端交流分享社区","url":"https://www.diycode.cc/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://static.ld246.com/images/favicon.png","name":"黑客派","desc":"黑客派是程序员和设计师的聚集地,汇聚了严谨求实的工程师和富有创意的设计师","url":"https://hacpai.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"name":"Node.js专业中文社区","desc":"国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究","url":"https://cnodejs.org/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.52pojie.cn/favicon.ico","name":"吾爱破解","desc":"吾爱破解关注PC软件安全和移动安全领域,致力于软件安全与病毒分析的前沿","url":"https://www.52pojie.cn/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.freebuf.com/favicon.ico","name":"FreeBuf","desc":"FreeBuf黑客与极客,国内关注度最高的全球互联网安全媒体平台","url":"http://www.freebuf.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://imweb.io/public/icon.png","name":"IMWeb","desc":"Web前端 腾讯IMWeb 团队社区","url":"http://imweb.io/topic/tab/all","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://cdn.sstatic.net/Sites/stackoverflow/Img/apple-touch-icon.png?v=c78bd457575a","name":"Stack Overflow","desc":"全球最大的技术问答网站,是一个与程序相关的IT技术问答网站","url":"https://stackoverflow.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://reactjs.org/favicon.ico","name":"React社区","desc":"React论坛社区","url":"http://react-china.org/","urls":{"英文":"https://discuss.reactjs.org/","中文":"http://react-china.org/"},"createdAt":"2021-01-23T01:32:06.423Z","rate":5,"top":false},{"icon":"https://p1.ssl.qhimg.com/t010e845cdf71587354.png","name":"众成翻译","desc":"中国最好的技术翻译社区,最懂译者的翻译平台,奇虎360最大前端团队“奇舞团”出品","url":"https://zcfy.cc/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://developer.mozilla.org/favicon.ico","name":"MDN web docs","desc":"Mozilla 开发者社区,是一个完整的学习平台,你可以在这里深入学习Web技术以及能够驱动Web的软件","url":"https://developer.mozilla.org/zh-CN/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://dev-to.s3.us-east-2.amazonaws.com/favicon.ico","name":"DEV Community","desc":"在这里程序员分享想法并帮助彼此成长","url":"https://dev.to/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"其他","nav":[{"icon":"https://www.v2ex.com/static/img/v2ex_192.png","name":"V2EX","desc":"创意工作者们的社区","url":"https://www.v2ex.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://static.zhihu.com/static/favicon.ico","name":"知乎","desc":"知乎,中文互联网最大的知识分享和社交平台","url":"https://www.zhihu.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://www.jianshu.com/favicon.ico","name":"简书","desc":"简书是一个创作社区,任何人均可以在其上进行创作","url":"https://www.jianshu.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://images.xiaozhuanlan.com/assets/favicon-bd135558698197f509ada06695c03a4f458f0077fa476f9a4e7ba9664f3dc55f.ico","name":"小专栏","desc":"小专栏是一个专业人士的创作知识社区,在这里您可以看到各个领域最专业的专栏和观点","url":"https://xiaozhuanlan.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://news.ycombinator.com/favicon.ico","name":"Hacker News","desc":"Hacker News","url":"https://news.ycombinator.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://stacdn.proginn.com/favicon_new.ico","name":"程序员客栈","desc":"程序员客栈是领先的程序员自由工作平台,未来互联网企业用人方式。提供优秀程序员为您进行网站建设制作、测试运维服务、人工智能AI、大数据区块链、软件开发等优质服务","url":"https://www.proginn.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"https://fecdn4.zhaopin.cn/zq/assets/logoIcon.7a3e67.png","name":"职Q","desc":"智联招聘旗下专业的招聘求职社交问答平台,覆盖了求职、招聘、职业规划、升职加薪、面试技巧、工作经验分享等热门话 题,涉及各种行业职场问题,1.5亿用户的职场社区","url":"https://zq.zhaopin.com/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false},{"icon":"http://cdn.jandan.net/static/img/appicon.png","name":"煎蛋","desc":"煎蛋以译介方式传播网络新鲜资讯","url":"http://jandan.net/","createdAt":"2021-01-23T01:32:06.423Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"代码托管","nav":[{"icon":"https://github.githubassets.com/favicons/favicon.svg","name":"Github","desc":"面向开源及私有软件项目的托管平台","url":"https://github.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://gitee.com/favicon.ico","name":"码云","desc":"码云专为开发者提供稳定、高效、安全的云端软件开发协作平台","url":"https://gitee.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://about.gitlab.com/ico/apple-touch-icon-57x57.png","name":"GitLab","desc":"用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务","url":"https://gitlab.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://dn-coding-net-production-static.codehub.cn/platform/favicon.ico","name":"Coding","desc":"面向开发者的云端开发平台,提供 git/svn 代码托管,代码质量分析,在线WebIDE,项目管理...","url":"https://coding.net/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"Design","nav":[{"title":"Design","nav":[{"title":"材料","nav":[{"icon":"http://www.51yuansu.com/favicon.ico","name":"觅元素","desc":"觅元素,为您提供免费设计元素,设计元素的资源站","url":"http://www.51yuansu.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://js.588ku.com/comp/public/css/iconfont/favicon.ico","name":"千库网","desc":"致力于为设计师提供最优质的素材","url":"http://588ku.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://huaban.com/img/touch-icon-ipad.png","name":"花瓣网","desc":"花瓣,陪你做生活的设计师","url":"http://huaban.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://cdn.dribbble.com/assets/favicon-b38525134603b9513174ec887944bde1a869eb6cd414f4d640ee48ab2a15a26b.ico","name":"Dribbble","desc":"Dribbble是展示和宣传,推广,发现和探索设计的地方","url":"https://dribbble.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://669pic.com/669pic.ico","name":"万素网","desc":"万素网致力于为国内各行业设计师,网站编辑,新媒体工作人员提供免费png素材与背景图片服务","url":"http://669pic.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.artstation.com/assets/favicon.ico","name":"ArtStation","desc":"ArtStation是游戏,电影,媒体和娱乐艺术家的展示平台。它使艺术家能够以流畅的方式展示他们的作品集,发现和保持灵感,并与新的机会联系起来。","url":"https://www.artstation.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://static.canva.com/static/images/favicon.ico","name":"Design Templates - Canva","desc":"设计模板 - Canva","url":"https://www.canva.com/templates/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://unsplash.com/favicon-32x32.png","name":"Unsplash","desc":"美丽,免费的照片。由世界上最慷慨的摄影师社区赠送。","url":"https://unsplash.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.gaoding.com/favicon.ico","name":"稿定设计","desc":"电商素材、新媒体配图、手机海报等。","url":"https://www.gaoding.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://undraw.co/favicon-32x32.png","name":"unDraw","desc":"带有开源插图的设计项目,可满足您可以想象和创建的任何想法。 免费使用您的颜色创建漂亮的网站,产品和应用程序","url":"https://undraw.co/illustrations","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.ui.cn/Public/img/favicon.ico","name":"UI中国用户体验设计平台","desc":"UI中国用户体验平台,中国用户体验联盟理事单位。国内极具影响力的设计平台之一。十多年来,携手会员150万+,共同致力于为设计师与企业搭建健康的设计生态!","url":"https://www.ui.cn/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://octodex.github.com/favicon.ico","name":"GitHub Octodex","desc":"由GitHub Design团队创建和维护的所有吉祥物素材","url":"https://octodex.github.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"http://collectui.com/img/favicon.ico","name":"Collect UI","desc":"从每日ui档案库及其他收集的每日灵感。 根据Dribbble拍摄的照片,手工挑选,每天更新","url":"http://collectui.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.424Z"},{"title":"图标","nav":[{"icon":"https://icons8.cn/vue-static/landings/primary-landings/favs/icons8_fav_96%C3%9796.png","name":"icons8","desc":"下载免费图标,音乐,素材图片,矢量,UX插图和视频音乐","url":"https://icons8.cn/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.vectorlogo.zone/favicon.ico","name":"vectorlogo","desc":"3000多种精美的SVG徽标,非常适合您的自述文件或积分页面","url":"https://www.vectorlogo.zone/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.shareicon.net/favicon.ico","name":"shareicon","desc":"超过25万个icon免费集合","url":"https://www.shareicon.net/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"name":"SVG Logos","desc":"超过1000+SVG Logos集合","url":"https://github.com/gilbarbara/logos/archive/master.zip","urls":{"Github":"https://github.com/gilbarbara/logos/tree/master/logos"},"createdAt":"2021-01-23T01:32:06.424Z","rate":5,"top":false},{"icon":"https://www.iconfont.cn/favicon.ico","name":"iconfont","desc":"阿里妈妈MUX倾力打造的矢量图标管理、交流平台","url":"http://www.iconfont.cn/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://iconscout.com/favicon.ico","name":"iconscount","desc":"免费下载图标,插图和库存照片","url":"https://iconscout.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.424Z"},{"title":"工具","nav":[{"icon":"https://www.chuangkit.com/favicon.ico","name":"创客贴","desc":"一款简单易用、功能强大的线上图形设计工具","url":"https://www.chuangkit.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"name":"Ps Play","desc":"Ps Play - 移动设计零阻力","url":"https://isux.tencent.com/resources/psplay/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://g.alicdn.com/acca/resource/luban/image/favicon.png","name":"鹿班","desc":"鹿班 - 让设计更美好(阿里出品)","url":"https://luban.aliyun.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.fontspace.com/android-chrome-192x192.png?v=00Bdv4Q5g6","name":"fontspace","desc":"6500+免费字体下载","url":"https://www.fontspace.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.424Z"},{"title":"配色","nav":[{"icon":"https://colorhunt.co/img/color-hunt-icon-ios.png","name":"Color Hunt","desc":"Color Hunt是一个免费开放的平台,可通过数千种精选的时尚调色板来激发色彩灵感","url":"https://colorhunt.co/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.424Z"}],"createdAt":"2021-01-23T01:32:06.424Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"学无止境","nav":[{"title":"参考文档","nav":[{"title":"Docker","nav":[{"icon":"https://github.com/favicon.ico","name":"Docker — 从入门到实践","desc":"Docker — 从入门到实践","url":"https://yeasy.gitbooks.io/docker_practice/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://github.com/favicon.ico","name":"Docker官方映像文档","desc":"docker-library中的Docker官方映像文档","url":"https://github.com/docker-library/docs","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/7739233?s=200&v=4","name":"Docker Hub","desc":"Docker 镜像仓库","url":"https://hub.docker.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/7739233?s=200&v=4","name":"Docker-Compose","desc":"使用Docker定义和运行多容器应用程序","url":"https://docs.docker.com/compose/","urls":{"Github":"https://github.com/docker/compose"},"createdAt":"2021-01-23T01:32:06.424Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.424Z"},{"title":"Git","nav":[{"icon":"https://github.com/favicon.ico","name":"git-manual","desc":"Git常用命令参考手册 (推荐学习)","url":"https://github.com/xjh22222228/git-manual","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://github.com/favicon.ico","name":"GitHub Docs","desc":"github 官方帮助文档","url":"https://help.github.com/cn","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://github.com/favicon.ico","name":"awesome-actions","desc":"精选的GitHub上很棒的Action列表","url":"https://github.com/sdras/awesome-actions","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://github.com/favicon.ico","name":"Github - Actions","desc":"Github 官方Actions 资源列表","url":"https://github.com/marketplace?type=actions","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://github.com/favicon.ico","name":"growing-up","desc":"程序猿成长计划","url":"https://github.com/mylxsw/growing-up","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.424Z"},{"title":"服务器","nav":[{"icon":"https://avatars0.githubusercontent.com/u/1412239?s=200&v=4","name":"nginx","desc":"nginx参考文档","url":"https://www.docs4dev.com/docs/zh/nginx/current/reference#toolbar-title","urls":{"英文":"http://nginx.org/en/docs/","中文":"https://www.docs4dev.com/docs/zh/nginx/current/reference#toolbar-title","Github":"https://github.com/nginx/nginx"},"createdAt":"2021-01-23T01:32:06.424Z","rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/1412239?s=200&v=4","name":"Nginx开发从入门到精通","desc":"Nginx开发从入门到精通","url":"http://tengine.taobao.org/book/index.html","urls":{"Github":"https://github.com/taobao/nginx-book"},"createdAt":"2021-01-23T01:32:06.424Z","rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.424Z"},{"title":"数据库","nav":[{"icon":"https://avatars3.githubusercontent.com/u/1529926?s=200&v=4","name":"redis","desc":"Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构","url":"http://www.redis.cn/","urls":{"英文":"https://redis.io/","中文":"http://www.redis.cn/","Github":"https://github.com/redis/redis"},"createdAt":"2021-01-23T01:32:06.424Z","rate":5,"top":false},{"icon":"https://labs.mysql.com/common/themes/sakila/favicon.ico","name":"MySQL","desc":"MySQL数据库服务是一个完全托管的数据库服务,可使用世界上最受欢迎的开源数据库来部署云原生应用程序。 它是百分百由MySQL原厂开发,管理和提供支持","url":"https://www.mysql.com/cn/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.424Z"},{"title":"书籍","nav":[{"icon":"https://avatars1.githubusercontent.com/u/14127308?s=200&v=4","name":"免费的编程中文书籍索引","desc":"免费的编程中文书籍索引","url":"https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books-zh.md","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://zh.b-ok.global/apple-touch-icon.png","name":"Zlibrary","desc":"Z-Library 项目部分. 全球最大的数字图书馆, 电子书","url":"https://zh.b-ok.global/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"name":"IT-eBOOK","desc":"IT类技术书籍PDF","url":"https://github.com/asyncfun/IT-eBOOK","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://refactoringguru.cn/favicon.ico","name":"Refactoring.Guru","desc":"22种常用设计模式","url":"https://refactoringguru.cn/design-patterns","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.424Z"},{"title":"其他文档","nav":[{"icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/linux/linux.png","name":"Linux 常用命令参考手册","desc":"Linux 常用命令参考手册","url":"https://github.com/xjh22222228/linux-manual","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://github.com/favicon.ico","name":"developer-roadmap","desc":"2020年成为网络开发人员的路线图","url":"https://github.com/kamranahmedse/developer-roadmap","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://devhints.io/assets/favicon.png","name":"Devhints","desc":"WEB开发速查表,mysql/go/java/js/bash/react/git...","url":"https://devhints.io/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://wangchujiang.com/linux-command/img/favicon.ico","name":"linux-command","desc":"Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集","url":"https://git.io/linux","urls":{"Github":"https://github.com/jaywcjlove/linux-command"},"createdAt":"2021-01-23T01:32:06.424Z","rate":5,"top":false},{"icon":"https://github.com/favicon.ico","name":"learn-regex","desc":"正则表达式学习","url":"https://github.com/ziishaned/learn-regex","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://github.com/favicon.ico","name":"the-art-of-command-line","desc":"命令行的艺术","url":"https://github.com/jlevy/the-art-of-command-line/blob/master/README-zh.md","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/chrome/chrome.png","name":"Peter Beverloo","desc":"Chrome浏览器命令参数参考手册","url":"https://peter.sh/experiments/chromium-command-line-switches/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/11618545?s=200&v=4","name":"vimrc","desc":"vim配置参考手册","url":"https://github.com/amix/vimrc","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.jenkins.io/zh/sites/default/files/jenkins_favicon.ico","name":"Jenkins","desc":"Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要","url":"https://www.jenkins.io/zh/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://learnxinyminutes.com/favicon.ico","name":"learnxinyminutes-docs","desc":"在Y分钟内学习X","url":"https://learnxinyminutes.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://code.visualstudio.com/apple-touch-icon.png","name":"Vscode Docs","desc":"Vscode 扩展开发文档","url":"https://liiked.github.io/VS-Code-Extension-Doc-ZH/#/","urls":{"英文":"https://code.visualstudio.com/api","中文":"https://liiked.github.io/VS-Code-Extension-Doc-ZH/#/","Github":"https://github.com/microsoft/vscode-docs"},"createdAt":"2021-01-23T01:32:06.424Z","rate":5,"top":false},{"name":"YAML教程","desc":"YAML教程","url":"https://www.yiibai.com/yaml","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.google.com/images/icons/product/chrome-32.png","name":"Chrome Extension","desc":"谷歌浏览器扩展插件开发文档","url":"https://developer.chrome.com/extensions","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.424Z"}],"createdAt":"2021-01-23T01:32:06.424Z"},{"title":"教程相关","nav":[{"nav":[{"icon":"https://static.runoob.com/images/icon/mobile-icon.png","name":"菜鸟教程","desc":"提供了编程的基础技术教程, 介绍了HTML、CSS、Javascript、Python,Java,Ruby,C,PHP , MySQL等各种编程语言的基础知识。 同时本站中也提供了大量的在线实例,通过实例,您可以更好的学习编程","url":"https://www.runoob.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.imooc.com/static/img/common/touch-icon-ipad.png","name":"慕课网","desc":"慕课网-程序员的梦工厂","url":"https://www.imooc.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.jikexueyuan.com/favicon.ico","name":"极客学院","desc":"致力于“让IT学习更有效”,以实战为特色,为注重自我提升的IT从业者提供高品质职业教育","url":"https://www.jikexueyuan.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://9.idqqimg.com/edu/edu_modules/edu-ui/img/nohash/favicon.ico","name":"腾讯课堂","desc":"腾讯课堂 - 专业的在线教育平台","url":"https://ke.qq.com/index.html","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://static2.ichunqiu.com/icq/resources/images/favicon.ico","name":"i春秋","desc":"【i春秋】-专注网络安全_信息安全_白帽子的在线学习_教育_培训平台","url":"https://www.ichunqiu.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"http://www.shiyanbar.com/favicon.ico","name":"实验吧","desc":"实验吧是国内最大的在线虚拟机实验IT教育平台","url":"http://www.shiyanbar.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.hetianlab.com/img/ico/favicon.ico","name":"合天网安实验室","desc":"合天网安实验室是支持在线实验的信息安全学习的大型服务平台","url":"http://www.hetianlab.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://study.163.com/favicon.ico","name":"网易云课堂","desc":"网易云课堂 - 领先的实用技能学习平台","url":"http://study.163.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://study.163.com/favicon.ico","name":"蓝桥","desc":"蓝桥是国内领先的IT在线编程及在线实训学习平台,专业导师提供精选的实践项目,创新的技术使得学习者无需配置繁琐的本地环境,随时在线流畅使用","url":"https://www.lanqiao.cn/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://7n.w3cschool.cn/statics/images/favicon.ico?v=2.2","name":"W3Cschool","desc":"编程狮,是一个专业的W3C前端开发及编程入门学习平台","url":"https://www.w3cschool.cn/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.424Z"}],"createdAt":"2021-01-23T01:32:06.424Z"},{"title":"面试刷题","nav":[{"title":"面试刷题","nav":[{"icon":"https://static.leetcode-cn.com/cn-assets/icons/favicon-96x96.png","name":"LeetCode","desc":"提高你的编码技能,快速找到一份工作。这是扩展你知识和为下一次面试做好准备的最佳地方。","url":"https://leetcode-cn.com/","urls":{"英文":"https://leetcode.com/"},"createdAt":"2021-01-23T01:32:06.424Z","rate":5,"top":false},{"icon":"https://www.nowcoder.com/favicon.ico","name":"牛客网","desc":"牛客网是互联网求职神器,C++、Java、前端、产品、运营技能学习/备考/求职题库","url":"https://www.nowcoder.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://cyc-1256109796.cos.ap-guangzhou.myqcloud.com/LogoMakr_1J56bI.png","name":"CS-Notes","desc":"技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计、Java、Python、C++","url":"https://cyc2018.github.io/CS-Notes","urls":{"Github":"https://github.com/CyC2018/CS-Notes"},"createdAt":"2021-01-23T01:32:06.424Z","rate":5,"top":false},{"icon":"https://visualgo.net/img/favicon.png","name":"数据结构和算法动态可视化","desc":"数据结构和算法动态可视化","url":"https://visualgo.net/zh","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://github.com/favicon.ico","name":"algorithm-pattern","desc":"算法模板,最科学的刷题方式,最快速的刷题路径,你值得拥有~","url":"https://github.com/greyireland/algorithm-pattern","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.424Z"}],"createdAt":"2021-01-23T01:32:06.424Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"网络安全","nav":[{"title":"网络安全","nav":[{"title":"网络安全","nav":[{"name":"乌云网镜像","desc":"WooYun是一个位于厂商和安全研究者之间的漏洞报告平台,注重尊重,进步,与意义","url":"http://wooyun.2xss.cc/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.anquan.org/aq_static/images/favicon/favicon.ico","name":"安全联盟","desc":"安全联盟 - 国内最大的第三方网络安全数据共享交换平台","url":"https://www.anquan.org/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.360.cn/favicon.ico","name":"360网站安全检测","desc":"为站长免费提供了网站漏洞检测、网站漏洞修复、网站后门检测、木马查杀,网址安全查询等服务","url":"http://webscan.360.cn/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.2cto.com/favicon.ico","name":"红黑联盟","desc":"红黑联盟作为老牌的信息安全网站,致力于培训电脑技术高手.网站集网络安全,系统网络,编程开发,网站建设等频道于一体","url":"https://www.2cto.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.knownsec.com/static/favicon.ico","name":"知道创宇","desc":"知道创宇,网络空间安全专家,长期致力于为政府、企业类客户提供完善的云安全解决方案","url":"https://www.knownsec.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"name":"安全周","desc":"关注安全资讯 专注资源共享","url":"https://www.secz.org/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.hacked.com.cn/favicon.ico","name":"全球被黑站点统计系统","desc":"主要通过网络搜集国内被黑网站信息,统计分析数据,为部署安全型网络提供强有力的依据...","url":"http://www.hacked.com.cn/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.secpulse.com/favicon.ico","name":"安全脉搏","desc":"高质量的全球互联网安全媒体和技术平台,安全爱好者们交流与分享前沿安全技术的最佳社区","url":"https://www.secpulse.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.424Z"},{"title":"CTF","nav":[{"icon":"http://xss.xiejiahe.com/favicon.png","name":"XSS-CTF","desc":"XSS-CTF 是一个练习和入门的XSS平台, 每一位WEB工程师都应具备的基础知识,提高网络安全意识","url":"http://xss.xiejiahe.com","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"name":"XSS测试","desc":"XSS小游戏","url":"https://xss.haozi.me/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"name":"Pasteurize","desc":"XSS CTF","url":"https://pasteurize.web.ctfcompetition.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.424Z"},{"title":"辅助工具","nav":[{"icon":"https://www.telerik.com/favicon.ico","name":"fiddler","desc":"Fiddler是一个用于HTTP调试的代理服务器应用程序","url":"https://www.telerik.com/fiddler","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.wireshark.org/assets/images/favicon.ico","name":"wireshark","desc":"是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换","url":"https://www.wireshark.org/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"name":"XSS平台-白帽安全测试","desc":"XSS平台是一个免费给白帽安全测试的平台","url":"https://xsspt.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"name":"Security Headers","desc":"快速轻松地评估HTTP响应头的安全性","url":"https://securityheaders.com","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"name":"w9scan","desc":"一款全能型的网站漏洞扫描器,内置1200+插件可对网站进行一次规模的检测,功能包括但不限于web指纹检测、端口指纹检测、网站结构分析、各种流行的漏洞检测、爬虫以及SQL注入检测、XSS检测...","url":"https://github.com/w-digital-scanner/w9scan","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars0.githubusercontent.com/u/7302766?s=200&v=4","name":"xray","desc":"xray 安全评估工具","url":"https://github.com/chaitin/xray","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.cmd5.com/favicon.ico","name":"cmd5","desc":"md5在线解密破解,md5解密加密","url":"https://www.cmd5.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars3.githubusercontent.com/u/735289?s=200&v=4","name":"sqlmap","desc":"自动SQL注入和数据库接管工具","url":"http://sqlmap.org/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/63385?s=200&v=4","name":"nmap","desc":"nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端","url":"https://nmap.org/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"http://xssor.io/s/favicon.ico","name":"xssor","desc":"编码/解码,Codz,探针","url":"http://xssor.io","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://phpinfo.me/favicon.ico","name":"在线子域名查询","desc":"在线子域名查询","url":"https://phpinfo.me/domain/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"name":"fuzzDicts","desc":"Web Pentesting Fuzz 字典","url":"https://github.com/TheKingOfDuck/fuzzDicts","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"name":"BurpSuitePro","desc":"免费的BurpSuitePro版本","url":"https://github.com/TrojanAZhen/BurpSuitePro-2.1","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.424Z"},{"title":"知识/测试","nav":[{"icon":"https://vulhub.org/img/favicon.ico","name":"Vulhub","desc":"基于docker和docker-compose的漏洞环境集合...","url":"https://vulhub.org","langguage":["","","https://github.com/vulhub/vulhub"],"createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"name":"SRC-experience","desc":"工欲善其事,必先利其器,一些src挖掘奇技淫巧,国外新技术的学习网站分享","url":"https://github.com/Wh0ale/SRC-experience","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"name":"Intranet_Penetration_Tips","desc":"内网渗透TIPS","url":"https://github.com/Ridter/Intranet_Penetration_Tips","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.424Z"}],"createdAt":"2021-01-23T01:32:06.424Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"运营相关","nav":[{"title":"运营相关","nav":[{"title":"运营相关","nav":[{"icon":"https://tongji.baidu.com/favicon.ico","name":"百度统计","desc":"全球最大的中文网站流量分析平台,帮助企业收集网站访问数据,提供流量趋势、来源分析...","url":"https://tongji.baidu.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.umeng.com/favicon.ico","name":"CNZZ","desc":"CNZZ数据专家是全球最大的中文网站统计分析平台,为各类网站提供免费、安全、稳定","url":"http://www.cnzz.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.baidu.com/img/baidu.svg","name":"百度搜索资源平台","desc":"百度搜索资源平台_让网站更具价值","url":"https://ziyuan.baidu.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.wjx.cn/favicon.ico","name":"问卷星","desc":"免费使用问卷星创建问卷调查、在线考试、360度评估等应用","url":"https://www.wjx.cn/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://gd-assets.jinshujucdn.com/favicon.ico","name":"金数据","desc":"金数据是人人可用的在线表单工具,帮助用户收集和管理日常工作中的数据,提升工作效率","url":"https://jinshuju.net/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://ssl.gstatic.com/analytics/20201013-01/app/static/analytics_standard_icon.png","name":"Google Analytics","desc":"Google Analytics是一个收集数据并将其分析整理成实用报告的平台","url":"https://analytics.google.com","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://mta.qq.com/mta/resource/imgcache/images/favicon.ico","name":"腾讯移动分析","desc":"腾讯移动分析是腾讯数据云,腾讯大数据战略的核心产品,提供app应用的移动统计分析,支持android/iOS平台,实现用户画像、数据可视化、数据挖掘、渠道效果分析等综合数据服务","url":"https://mta.qq.com/mta/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.google.com/favicon.ico","name":"Google Adsense","desc":"Google Adsense","url":"https://www.google.com/adsense","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.424Z"}],"createdAt":"2021-01-23T01:32:06.424Z"}],"createdAt":"2021-01-23T01:32:06.423Z"},{"title":"博客看点","nav":[{"title":"博客看点","nav":[{"title":"Team","nav":[{"icon":"https://aotu.io/img/favicon-48x48.png","name":"凹凸实验室","desc":"O2面向多终端技术体系,致力于构建沉淀与分享包括但不限于交互、页面制作技巧...","url":"https://aotu.io/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://imweb.io/public/icon.png","name":"腾讯IMWeb","desc":"Web前端 腾讯IMWeb 团队社区","url":"https://imweb.io/topic/tab/all","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars1.githubusercontent.com/u/4158466?s=200&v=4","name":"字节跳动技术博客","desc":"字节跳动技术博客","url":"https://techblog.toutiao.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://fed.taobao.org/favicon.ico","name":"淘系前端团队","desc":"用技术为体验提供无限可能","url":"https://fed.taobao.org/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://avatars2.githubusercontent.com/u/11404085?s=200&v=4","name":"有赞技术团队","desc":"有赞技术团队","url":"https://tech.youzan.com/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.424Z"},{"title":"个人博客","nav":[{"name":"阮一峰的网络日志","icon":"http://www.ruanyifeng.com/favicon.ico","url":"http://www.ruanyifeng.com/blog/","desc":"阮一峰的网络日志","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.xiejiahe.com/favicon-128x128.png","name":"谢家和的博客","desc":"WEB Developer","url":"https://www.xiejiahe.com/?from=nav2","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://www.yinwang.org/images/Yc.jpg","name":"王垠的博客","desc":"当然我在扯淡","url":"http://www.yinwang.org/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false},{"icon":"https://overreacted.io/favicon.ico","name":"Dan","desc":"react作者的博客","url":"https://overreacted.io/","createdAt":"2021-01-23T01:32:06.424Z","urls":{},"rate":5,"top":false}],"createdAt":"2021-01-23T01:32:06.424Z"}],"createdAt":"2021-01-23T01:32:06.424Z"}],"createdAt":"2021-01-23T01:32:06.423Z"}] \ No newline at end of file +[ + { + "title": "实用工具", + "nav": [ + { + "title": "开发相关", + "nav": [ + { + "title": "开发神器", + "nav": [ + { + "name": "Github-CLI", + "createdAt": "2021-02-18T13:06:06.671Z", + "rate": 5, + "desc": "GitHub的官方命令行工具", + "top": false, + "icon": "https://github.githubassets.com/favicons/favicon.svg", + "url": "https://cli.github.com/", + "urls": { + "Github": "https://github.com/cli/cli" + } + }, + { + "name": "Coveralls", + "icon": "https://coveralls.io/favicon.png", + "url": "https://coveralls.io/", + "desc": "通过显示测试套件未涵盖代码的哪些部分,我们可以帮助您自信地交付代码。免费提供开源软件库", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "Releasly", + "desc": "在新的开源版本发布时收到通知,直接发送到您的电子邮件中。", + "url": "https://www.releasly.co/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "Convert cURL", + "desc": "将curl命令转换为Python,JavaScript,PHP,R,Go,Rust,Dart,JSON,Ansible,Elixir。", + "url": "https://curl.trillworks.com/", + "urls": { + "Github": "https://github.com/NickCarneiro/curlconverter" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "Supervisor", + "desc": "Supervisor是一个客户端/服务器系统,允许其用户监视和控制类似UNIX的操作系统上的多个进程。", + "url": "http://supervisord.org/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.sonarqube.org/favicon-152.png", + "name": "SonarQube", + "desc": "代码质量和安全性检查, 支持所有开发人员编写更干净,更安全的代码。", + "url": "https://www.sonarqube.org/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://paste.ubuntu.com/favicon.ico", + "name": "Pastebin", + "desc": "在线共享代码,将代码以URL形式发送以便查看", + "url": "https://paste.ubuntu.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/30217756?s=200&v=4", + "name": "UPX", + "desc": "UPX-可执行文件的终极打包器", + "url": "https://github.com/upx/upx", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/30217756?s=200&v=4", + "name": "askgit", + "desc": "使用SQL查询git存储库。生成报告,执行状态检查,分析代码库。", + "url": "https://github.com/augmentable-dev/askgit", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars3.githubusercontent.com/u/1396951?s=200&v=4", + "name": "Sentry", + "desc": "Web应用程序,移动应用程序和游戏的实时崩溃报告。", + "url": "https://sentry.io/", + "urls": { + "Github": "https://github.com/getsentry" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://randomuser.me/favicon.ico", + "name": "randomuser", + "desc": "随机用户生成器是用于生成占位符用户信息的免费API。 获取个人资料照片,姓名等。 对于人们来说,就像Lorem Ipsum。", + "url": "https://randomuser.me/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://camo.githubusercontent.com/ebfdd465daa90626d0ab0d0fddc0e457c942a392/68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f616e7572616768617a72612f696d6167652f75706c6f61642f76313539343930383234322f6c6f676f5f636373776d652e737667", + "name": "github-readme-stats", + "desc": "在你的 README 中 获取动态生成的 GitHub 统计信息", + "url": "https://github.com/anuraghazra/github-readme-stats/blob/master/readme_cn.md", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://i.imgur.com/zBEQq4w.png", + "name": "Hits", + "desc": "了解有多少人正在查看您的GitHub项目的简单方法", + "url": "http://hits.dwyl.io/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "GitHub 文件加速", + "desc": "GitHub 文件加速", + "url": "https://shrill-pond-3e81.hunsh.workers.dev/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "Shields IO", + "desc": "svg生成版本号图标", + "url": "https://shields.io/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.fundebug.com/favicon.ico", + "name": "FunDebug", + "desc": "支持前端JavaScript,后端Node.js以及微信小程序错误监控", + "url": "https://www.fundebug.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "http://www.asciiworld.com/favicon.ico", + "name": "Asciiworld", + "desc": "WA!原来那些年程序猿搞怪的注释都在这里", + "url": "http://www.asciiworld.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://jsfiddle.net/img/favicon.png", + "name": "jsfiddle", + "desc": "强大的前端代码在线演示的网站", + "url": "http://jsfiddle.net/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://user-images.githubusercontent.com/799578/50462941-8075fe80-09c3-11e9-89e7-af0cb7991406.png", + "name": "CODEIF", + "desc": "变量命名神器", + "url": "https://unbug.github.io/codelf/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "http://asciiflow.com/images/favicon.png", + "name": "ASCIIFlow Infinity", + "desc": "无限的ASCII图表,保存到谷歌驱动器,调整大小,自由绘制,并直接输出到文本/HTML。", + "url": "http://asciiflow.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://kinolien.github.io/gitzip/images/gitzip.png", + "name": "gitzip", + "desc": "它可以将GITHUB存储库的子文件夹/子目录作为zip并下载", + "url": "https://kinolien.github.io/gitzip/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "http://sc.ftqq.com/static/image/favlogo.png", + "name": "Server酱", + "desc": "「Server酱」,英文名「ServerChan」,是一款「程序员」和「服务器」之间的通信软件。", + "url": "http://sc.ftqq.com", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "mkcert", + "desc": "一个简单的零配置工具,可以使用您喜欢的任何名称制作本地可信赖的SSL开发证书", + "url": "https://github.com/FiloSottile/mkcert", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://carbon.now.sh/favicon.ico", + "name": "carbon", + "desc": "创建和分享源代码的精美图像", + "url": "https://carbon.now.sh", + "urls": { + "Github": "https://github.com/dawnlabs/carbon" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "setup-ipsec-vpn", + "desc": "用于构建您自己的IPsec VPN服务器的脚本,在Ubuntu,Debian和CentOS上使用IPsec / L2TP和Cisco IPsec", + "url": "https://github.com/hwdsl2/setup-ipsec-vpn", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.digitalocean.com/favicon.ico", + "name": "nginxconfig", + "desc": "nginx配置生成器", + "url": "https://www.digitalocean.com/community/tools/nginx#?", + "urls": { + "Github": "https://github.com/digitalocean/nginxconfig.io" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "GraphQL Explorer", + "desc": "GraphQL资源管理器利用真实的、实时的生产数据", + "url": "https://developer.github.com/v4/explorer/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "patorjk", + "desc": "将文本转换成ASCII", + "url": "http://patorjk.com/software/taag/#p=display&f=Graffiti&t=xiejiahe", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/62133242?s=200&v=4", + "name": "lens", + "desc": "Lens控制Kubernetes集群所需的唯一IDE。它是适用于MacOS,Windows和Linux操作系统的独立应用程序。它是开源的,免费的。", + "url": "https://k8slens.dev/", + "urls": { + "Github": "https://github.com/lensapp/lens" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "public-apis", + "desc": "一些可用在 Web 或软件开发的开放 API 接口", + "url": "https://github.com/public-apis/public-apis", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://astexplorer.net/favicon.png", + "name": "astexplorer", + "desc": "一个Web工具,用于探索由各种解析器生成的AST", + "url": "https://astexplorer.net/", + "urls": { + "Github": "https://github.com/fkling/astexplorer" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "http://www.u.tools/assets/img/brand/favicon.png", + "name": "uTools", + "desc": "uTools是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合", + "url": "http://www.u.tools/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://ihateregex.io/favicon.ico", + "name": "ihateregex", + "desc": "正则表达式备忘录", + "url": "https://ihateregex.io/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars3.githubusercontent.com/u/22552083?s=200&v=4", + "name": "Oh My ZSH", + "desc": "是一个开放源代码,社区驱动的框架,用于管理zsh配置。", + "url": "https://ohmyz.sh/", + "urls": { + "Github": "https://github.com/ohmyzsh" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://tampermonkey.freetls.fastly.net/images/icon144.png", + "name": "Tampermonkey", + "desc": "一款免费的浏览器扩展和最为流行的用户脚本管理器", + "url": "https://www.tampermonkey.net/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "Greasy Fork", + "desc": "提供用户脚本的网站", + "url": "https://greasyfork.org/zh-CN", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://img.kuaidaili.com/img/favicon.ico?v=3", + "name": "免费代理", + "desc": "免费HTTP代理IP", + "url": "https://www.kuaidaili.com/free/inha/1/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/1342004?s=200&v=4", + "name": "Google Workspace", + "desc": "Google Workspace状态信息中心", + "url": "https://www.google.com/appsstatus#hl=en&v=status", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "接口/开发文档管理", + "nav": [ + { + "icon": "https://www.eolinker.com/assets/images/favicon.ico", + "name": "eoLinker接口管理平台", + "desc": "国内最大的在线接口管理服务方案供应商", + "url": "https://www.eolinker.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/19645609?s=200&v=4", + "name": "YApi", + "desc": "YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台", + "url": "https://yapi.baidu.com/", + "urls": { + "Github": "https://github.com/YMFE/yapi" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "http://rap2.taobao.org/favicon.png", + "name": "RAP2", + "desc": "Web接口管理工具,开源免费,接口自动化,MOCK数据自动生成,自动化测试,企业级管理。阿里妈妈MUX团队出品", + "url": "http://rap2.taobao.org/", + "urls": { + "Github": "https://github.com/thx/rap2-delos" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://www.showdoc.cc/static/logo/b_64.png", + "name": "showdoc", + "desc": "一个非常适合IT团队的在线API文档、技术文档工具", + "url": "https://www.showdoc.cc/", + "urls": { + "Github": "https://github.com/star7th/showdoc" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars3.githubusercontent.com/u/40133106?s=200&v=4", + "name": "docsify", + "desc": "一个神奇的文档站点生成器", + "url": "https://docsify.js.org", + "urls": { + "Github": "https://github.com/docsifyjs/docsify" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/4103663?s=200&v=4", + "name": "apiDoc", + "desc": "RESTful Web API文档生成器", + "url": "http://apidocjs.com", + "urls": { + "Github": "https://github.com/apidoc/apidoc" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/69631?s=200&v=4", + "name": "docusaurus", + "desc": "易于维护的开源文档网站", + "url": "https://docusaurus.io/", + "urls": { + "Github": "https://github.com/facebook/docusaurus" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://www.zentao.net/favicon.ico", + "name": "禅道", + "desc": "禅道是灵活的项目管理软件", + "url": "https://www.zentao.net/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.tapd.cn/favicon.ico", + "name": "Tapd", + "desc": "一站式敏捷研发协作云平台, 凝聚腾讯研发方法及敏捷实践精髓, 助力企业研发更高效、协作更敏捷", + "url": "https://www.tapd.cn/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/56705483?s=200&v=4", + "name": "Hoppscotch", + "desc": "一个免费,快速,美观的API请求构建器,供10万多个开发人员使用。(原名叫 Postwoman)", + "url": "https://hoppscotch.io/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "内网穿透/代理", + "nav": [ + { + "name": "Sunny-Ngrok", + "desc": "一条命令解决的外网访问内网问题,无需任何配置,下载客户端之后直接一条命令让外网访问您的内网不再是距离", + "url": "https://www.ngrok.cc/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "frp", + "desc": "一个快速反向代理,可帮助您将NAT或防火墙后面的本地服务器暴露给Internet。", + "url": "https://github.com/fatedier/frp", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/11404085?s=200&v=4", + "name": "zan-proxy", + "desc": "本地代码调试线上页面,环境再也不是问题", + "url": "https://youzan.github.io/zan-proxy/", + "urls": { + "Github": "https://github.com/youzan/zan-proxy" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://ngrok.com/static/img/favicon.png", + "name": "ngrok", + "desc": "ngrok是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok可捕获和分析所有通道上的流量,便于后期分析和重放", + "url": "https://ngrok.com/", + "urls": { + "Github": "https://github.com/inconshreveable/ngrok" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "编码/解码", + "nav": [ + { + "icon": "http://www.chamd5.org/favicon.ico", + "name": "查MD5", + "desc": "MD5在线解密|md5在线破解|批量破解md5网站", + "url": "http://www.cmd5.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://jwt.io/img/favicon/apple-icon-76x76.png", + "name": "JSON Web Tokens", + "desc": "jwt 在线解码", + "url": "https://jwt.io/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "http://www.xpcha.com/favicon.ico", + "name": "base64", + "desc": "base64在线解码编码", + "url": "http://base64.xpcha.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "免费公开API", + "nav": [ + { + "icon": "https://www.ipify.org/static/images/favicon-96x96.png", + "name": "ipify", + "desc": "一个简单的公共IP地址API", + "url": "https://www.ipify.org/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "归属地查询", + "desc": "淘宝免费归属地查询", + "url": "https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=13333333333", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "设计相关", + "nav": [ + { + "title": "设计相关", + "nav": [ + { + "icon": "https://www.draw.io/images/apple-touch-icon.png", + "name": "draw", + "desc": "免费的在线图表软件,用于制作流程图、流程图、组织图、UML、ER和网络图", + "url": "https://www.draw.io/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.processon.com/favicon.ico", + "name": "ProcessOn", + "desc": "免费在线作图工具,UML作图,UI界面原型设计,iOS原型设计,BPMN,流程图,思维导图,多人协作绘图", + "url": "https://www.processon.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://lhcdn.lanhuapp.com/web/static/favicon.ico", + "name": "蓝湖", + "desc": "蓝湖是一款设计图共享平台,帮助互联网团队管理设计图", + "url": "https://lanhuapp.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://zeplin.io/img/favicon/228x228.png", + "name": "Zeplin", + "desc": "为设计师和前端而生的协作应用", + "url": "https://zeplin.io/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://mubu.com/favicon.ico", + "name": "幕布", + "desc": "极简大纲笔记 | 一键生成思维导图", + "url": "https://mubu.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://p.ssl.qhimg.com/t01a54d9106629dda0e.png", + "name": "声享", + "desc": "在线制作 PPT,让分享更有价值", + "url": "https://ppt.baomitu.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://modao.cc/images/logo.png", + "name": "墨刀", + "desc": "原型设计工具,web原型设计工具,app原型设计工具", + "url": "https://modao.cc/features", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://xzlogo.com/static/images/favicon-16x16.png?v2", + "name": "小智LOGO", + "desc": "LOGO在线制作神器 - 3分钟完成LOGO设计在线生成", + "url": "https://xzlogo.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.chuangkit.com/favicon.ico", + "name": "创客贴", + "desc": "一款简单易用、功能强大的线上图形设计工具", + "url": "https://www.chuangkit.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://cdn.jifo.co/favicon/favicon.ico", + "name": "在线制作图表", + "desc": "信息图表是一种易于使用的信息图表和图表制造商。创建和分享美丽的信息图表,在线报告和互动地图。在这里做你自己", + "url": "https://infogram.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "CLIPPING MAGIC", + "desc": "删除图像背景在线。使背景透明,白色等编辑,裁剪,旋转,固定颜色,添加阴影,一款在线抠图工具", + "url": "https://clippingmagic.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://koutu.gaoding.com/favicon.ico", + "name": "稿定抠图", + "desc": "稿定设计是一款专为淘宝店主、新媒体运营人员和修图爱好者打造的免费在线抠图工具。", + "url": "https://www.gaoding.com/koutu", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://uzer.me/favicon.ico", + "name": "UZER.ME", + "desc": "超级应用空间致力于全生命周期的文档管理,无需安装,即可在线编辑Office, CAD,PS等任意格式文档,支持远程协作,全文检索,版本管理,权限管理,安全外发等.提高工作效率,降低安全风险", + "url": "https://uzer.me/index.html", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.launchaco.com/static/favicon.ico", + "name": "launchaco", + "desc": "免费在线制作LOGO", + "url": "https://www.launchaco.com/logo", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://g.alicdn.com/acca/resource/luban/image/favicon.png", + "name": "鹿班", + "desc": "鹿班 - 让设计更美好(阿里出品)", + "url": "https://luban.aliyun.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.yasuotu.com/favicon.ico", + "name": "图片裁剪", + "desc": "在线裁剪照片大小尺寸", + "url": "https://www.yasuotu.com/meditor", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "GUI软件", + "nav": [ + { + "title": "GUI", + "nav": [ + { + "icon": "https://bitwarden.com/images/icons/favicon-32x32.png", + "name": "Bitwarden", + "desc": "个人和企业在任何设备上存储,共享和保护敏感数据的最简单,最安全的方法", + "url": "https://bitwarden.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://typora.io/img/favicon-48.png", + "name": "Typeora", + "desc": "Typora是一款跨平台的最小Markdown编辑器,可为Markdown读者和作家提供无缝的体验", + "url": "https://typora.io/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.iterm2.com/favicon.ico", + "name": "iterm2", + "desc": "iTerm2是Terminal的替代品,是iTerm的后续产品", + "url": "https://www.iterm2.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.sourcetreeapp.com/assets/img/favicons/sourcetree/favicon-32x32.png", + "name": "Sourcetree", + "desc": "美丽的Git GUI中的简单性和强大功能", + "url": "https://www.sourcetreeapp.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.charlesproxy.com/static/img/icon.8b97278f.png", + "name": "charles", + "desc": "Charles是HTTP代理/ HTTP监视器/反向代理,使开发人员可以查看其计算机与Internet之间的所有HTTP和SSL / HTTPS通信。这包括请求,响应和HTTP标头(其中包含cookie和缓存信息)。", + "url": "https://www.charlesproxy.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://tunnelblick.net/favicon.ico", + "name": "Tunnelblick", + "desc": "适用于macOS的免费开源OpenVPN VPN客户端服务器软件。", + "url": "https://tunnelblick.net/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.keka.io/img/Keka-120x120.png", + "name": "Keka", + "desc": "macOS文件存档器, 储存更多,私密分享", + "url": "https://www.keka.io/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://getkap.co/static/favicon/kap.ico", + "name": "Kap", + "desc": "使用Web技术构建的开源屏幕录像机。", + "url": "https://getkap.co/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://code.visualstudio.com/apple-touch-icon.png", + "name": "Vscode", + "desc": "VScode是一款轻量级的编辑器,自由。 建立在开源上。 无处不在。", + "url": "https://code.visualstudio.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://nmap.org/shared/images/tiny-eyeicon.png", + "name": "zenmap", + "desc": "开源免费的网络发现工具,通过它能够找出网络上在线的主机,并测试主机上哪些端口处于监听状态,接着通过端口确定主机上运行的应用程序类型与版本信息,最后利用它还能侦测出操作系统的类型和版本", + "url": "https://nmap.org/zenmap/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://obsproject.com/favicon-32x32.png", + "name": "obsproject", + "desc": "免费和开源软件,用于视频录制和实时流。", + "url": "https://obsproject.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/14985020?s=200&v=4", + "name": "hyper", + "desc": "基于WEB技术的终端", + "url": "https://hyper.is/", + "urls": { + "Github": "https://github.com/zeit/hyper" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://www.listary.com/wp-content/themes/listary5/images/favicon.ico", + "name": "Listary", + "desc": "Listary是Windows的革命性搜索实用程序,它使休闲用户和高级用户都能快速找到文件并启动应用程序!", + "url": "https://www.listary.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "虚拟机", + "nav": [ + { + "icon": "https://www.vmware.com/favicon.ico", + "name": "vmware", + "desc": "利用VMware提供的软件定义的云,移动性,网络和安全解决方案来建立您的数字基础。", + "url": "https://www.vmware.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.parallels.cn/typo3conf/ext/prls_theme/Resources/Public/theme/res/img/favicon/favicon.png", + "name": "parallels", + "desc": "Mac和Windows虚拟化|管理Mac|VDI和RDS解决方案", + "url": "https://www.parallels.cn/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "http://mumu.163.com/favicon.ico", + "name": "mumu Android模拟器", + "desc": "网易MuMu[手游模拟器][安卓模拟器]", + "url": "http://mumu.163.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "数据库", + "nav": [ + { + "icon": "https://avatars3.githubusercontent.com/u/34743864?s=200&v=4", + "name": "DBeaver", + "desc": "适用于开发人员,数据库管理员,分析师和所有需要使用数据库的人员的免费的多平台数据库工具。支持所有流行的数据库:MySQL,PostgreSQL,SQLite,Oracle,DB2,SQL Server,Sybase,MS Access,Teradata,Firebird,Apache Hive,Phoenix,Presto等", + "url": "https://dbeaver.io/", + "urls": { + "Github": "https://github.com/dbeaver/dbeaver" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://redisdesktop.com/static/css/favicon.png", + "name": "RedisDesktopManager", + "desc": "Redis Desktop Manager(又名RDM)—是用于Windows,Linux,MacOS和iPadOS的快速Redis数据库管理应用程序。", + "url": "https://redisdesktop.com/", + "urls": { + "Github": "https://github.com/uglide/RedisDesktopManager" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://sequelpro.com/favicon/favicon-32x32.png", + "name": "Sequel Pro", + "desc": "Sequel Pro是一个快速,易于使用的Mac数据库管理应用程序,用于处理MySQL数据库。", + "url": "https://www.sequelpro.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://robomongo.org/static/favicon-11ace079.ico", + "name": "Robo 3T", + "desc": "一个现代,强大且由社区驱动的MongoDB管理工具", + "url": "https://robomongo.org/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.jetbrains.com/favicon-32x32.png", + "name": "DataGrip", + "desc": "jetbrains出品的数据库管理系统", + "url": "https://www.jetbrains.com/datagrip/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://tableplus.com/resources/favicons/apple-icon-57x57.png", + "name": "tableplus", + "desc": "用于关系数据库的现代,本地且友好的GUI工具:MySQL,PostgreSQL,SQLite等", + "url": "https://tableplus.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "远程控制", + "nav": [ + { + "icon": "https://www.teamviewer.cn/wp-content/themes/tv-wordpress-theme/dist/media/favicon.png", + "name": "TeamViewer", + "desc": "TeamViewer远程连接控制软件是一款随时随地连接到远程桌面电脑、移动设备及Iot,让远程连接过程更加的快速和安全,轻松实现对文件、网络及程序的实时支持或访问。", + "url": "https://www.teamviewer.cn/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://sunlogin.oray.com/favicon.ico", + "name": "向日葵", + "desc": "向日葵远程控制软件是一款免费的集远程控制电脑手机、远程桌面连接、远程开机、远程管理、支持内网穿透的一体化远程控制管理工具软件", + "url": "https://sunlogin.oray.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "飞机场", + "nav": [ + { + "icon": "https://avatars0.githubusercontent.com/u/14110142?s=200&v=4", + "name": "v2ray", + "desc": "用于构建代理绕过网络限制的平台。", + "url": "https://github.com/v2ray/v2ray-core", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://github.com/Dreamacro/clash/raw/master/docs/logo.png", + "name": "clash", + "desc": "Go中基于规则的隧道", + "url": "https://github.com/Dreamacro/clash", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "影视/音乐", + "nav": [ + { + "title": "影视", + "nav": [ + { + "icon": "https://www.bilibili.com/favicon.ico", + "name": "哔哩哔哩", + "desc": "国内知名的视频弹幕网站,这里有最及时的动漫新番,最棒的ACG氛围,最有创意的Up主", + "url": "https://www.bilibili.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.iqiyipic.com/common/images/PCW-114x114.png", + "name": "爱奇艺", + "desc": "拥有海量、优质、高清的网络视频的大型视频网站,专业的网络视频播放平台", + "url": "https://www.iqiyi.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.youtube.com/favicon.ico", + "name": "Youtube", + "desc": "全球最大的视频网站", + "url": "https://www.youtube.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.douyu.com/favicon.ico", + "name": "斗鱼", + "desc": "斗鱼 - 每个人的直播平台", + "url": "https://www.douyu.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://cdn.jsdelivr.net/gh/txxxjs/fk/ifkdy/2020-03-16/favicon.ico", + "name": "疯狂影视搜索", + "desc": "疯狂影视搜索是一款全能影视搜索引擎,帮你找到最新影视资源,一站拥有无尽影视资源", + "url": "http://ifkdy.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "http://www.qmaile.com/favicon.ico", + "name": "全民vip视频在线解析", + "desc": "免费全网VIP视频会员免广告看电影!优酷vip解析,爱奇艺vip解析,腾讯vip解析,乐视vip解析,芒果vip解析", + "url": "http://www.qmaile.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://qncdnimg.aoscdn.com/local/beecut.cn/img/favicon.png", + "name": "蜜蜂剪辑", + "desc": "免费在线视频剪辑、视频制作、视频剪切、视频转gif等实用功能", + "url": "https://beecut.cn/online-video-editor", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "kk高清影院", + "desc": "kk高清影院,1080p电影下载,高清电影迅雷下载,免费高清电影网", + "url": "http://www.kk3.tv/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "音乐", + "nav": [ + { + "name": "自由的音乐", + "desc": "自由的音乐是一个免费试听并下载全网音乐的网站", + "url": "https://www.tikitiki.cn/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "招聘/求职", + "nav": [ + { + "title": "招聘/求职", + "nav": [ + { + "icon": "https://www.zhaopin.com/favicon.ico", + "name": "智联招聘", + "desc": "智联招聘,更懂你的价值", + "url": "https://www.zhaopin.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.51job.com/favicon.ico", + "name": "前程无忧", + "desc": "招聘网,人才网,求职,找工作", + "url": "https://www.51job.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.zhipin.com/favicon.ico", + "name": "BOSS直聘", + "desc": "BOSS直聘是权威领先的招聘网,开启人才网招聘求职新时代,让求职者与Boss直接开聊、加快面试、即时反馈,找工作就来BOSS直聘和Boss开聊吧", + "url": "https://www.zhipin.com", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "其他", + "nav": [ + { + "name": "ResumeSample", + "desc": "程序员简历模板系列, WEB/IOS/Android/C++/node等以及通用程序员简历模板", + "url": "https://github.com/geekcompany/ResumeSample", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "http://coder.shengxinjing.cn/logo.ico", + "name": "程序员找工作黑名单", + "desc": "有些事情,应该被记住", + "url": "http://coder.shengxinjing.cn/", + "urls": { + "Github": "https://github.com/shengxinjing/programmer-job-blacklist" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://www.kanzhun.com/favicon.ico", + "name": "看准网", + "desc": "看准网★中国领先的职场信息平台,专注于公司评论,晒工资,工资待遇,面试,公司福利等.您可以在看准网上匿名分享您的职业信息", + "url": "https://www.kanzhun.com", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "其他", + "nav": [ + { + "title": "压缩工具", + "nav": [ + { + "icon": "https://tinypng.com/images/apple-touch-icon.png", + "name": "TinyPNG", + "desc": "智能PNG和JPEG压缩,以质量和文件大小的完美平衡来优化您的图像", + "url": "https://tinypng.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://squoosh.app/assets/favicon.ico", + "name": "Squoosh", + "desc": "在浏览器中用不同的编解码器压缩和比较图像(Google出品)", + "url": "https://squoosh.app/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "辅助工具", + "nav": [ + { + "icon": "https://static.clewm.net/static/images/favicon.ico", + "name": "草料二维码", + "desc": "用专业的二维码产品帮助企业创造价值", + "url": "https://cli.im/url/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "Feed 验证器", + "desc": "验证RSS是否符合标准规范", + "url": "http://www.feedvalidator.org/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.taonienie.com/favicon.ico", + "name": "淘捏捏", + "desc": "淘宝信誉查询 - 淘捏捏卖家工具箱 淘宝信誉查询_淘宝信用查询_淘宝小号查询_淘宝黑号查询", + "url": "http://taonienie.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.tianyancha.com/favicon.ico", + "name": "天眼查", + "desc": "人人都在用商业安全工具_企业信息查询_公司查询_工商查询_企业信用信息查询系统", + "url": "https://www.tianyancha.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://yuque.com/favicon.ico", + "name": "语雀", + "desc": "优雅高效的在线文档编辑与协同工具,让每个企业轻松拥有文档中心 - 阿里巴巴", + "url": "https://yuque.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.qsc.zju.edu.cn/box/favicon.ico", + "name": "求是潮云U盘", + "desc": "临时文件上传, 快速和稳定", + "url": "https://box.zjuqsc.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.360converter.com/images/favicon.ico", + "name": "云转换", + "desc": "在线免费转换视频,音频,YouTube视频到文字,视频到文字,音频到文字,语音转换成文字", + "url": "http://www.360converter.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.picdiet.com/css/favicon.ico", + "name": "Picdiet", + "desc": "独特且强悍的JavaScript算法,能极速压缩80%的图片大小,而不损害其质量", + "url": "https://www.picdiet.com/zh-cn", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://cdn-img.easyicon.net/favicon.ico", + "name": "easyicon", + "desc": "在线图标转换ico、icns", + "url": "https://www.easyicon.net/covert/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://smallpdf.com/favicon.png", + "name": "Smallpdf", + "desc": "压缩pdf、各种文件格式转换pdf", + "url": "https://smallpdf.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://coolbackgrounds.io/images/favicon-fe5a0ff5.png", + "name": "Cool Backgrounds", + "desc": "生成非常酷的彩色背景图像", + "url": "https://coolbackgrounds.io/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://source.unsplash.com/favicon-32x32.png", + "name": "Unsplash Source", + "desc": "随机生成图片链接", + "url": "https://source.unsplash.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://assets.smcdn.cn/from_qbox/favicon.ico", + "name": "石墨文档", + "desc": "一款轻便、简洁的在线协作文档工具,PC端和移动端全覆盖,支持多人同时对文档编辑和评论...", + "url": "https://shimo.im/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://emoji.muan.co/appicon.png", + "name": "Emoji searcher", + "desc": "Emoji表情大全", + "url": "http://emoji.muan.co/", + "urls": { + "Github": "https://github.com/muan/emoji/" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://imgurl.org/favicon.ico", + "name": "imgURL", + "desc": "ImgURL是一个简单、纯粹的图床程序,让个人图床多一个选择", + "url": "https://imgurl.org/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://f0cdn.anyknew.com/web/img/icons/favicon-32x32.png", + "name": "拷贝兔", + "desc": "跨平台分享工具,纯Web,IOS,MAC,Linux,Android互传", + "url": "https://cp.ifval.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://tableconvert.com/static/images/favicon.png", + "name": "表格工具", + "desc": "一个功能强大的在线表格编辑器,支持Excel、Markdown、JSON、CSV、HTML等格式的相互转换", + "url": "https://tableconvert.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://p2.ssl.qhimg.com/t014de4ba13ada26743.png", + "name": "360查字体", + "desc": "360查字体 - 查版权,免纠纷", + "url": "https://fonts.safe.360.cn/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.sejda.com/images/icon_128.png", + "name": "sejda", + "desc": "在线HTML转换pdf", + "url": "https://www.sejda.com/html-to-pdf", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://bigjpg.com/static/css/touch-icon-iphone.png", + "name": "AI人工智能图片放大", + "desc": "Bigjpg - 使用开源waifu2x人工智能深度卷积神经网络(CNN)智能无损免费放大图片", + "url": "https://bigjpg.com", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "VVV文档在线导出工具", + "desc": "免费下载百度文库文档", + "url": "http://wenku.baiduvvv.com/doc", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "http://tools.bugscaner.com/static/images/favicon.ico", + "name": "在线文件编码识别", + "desc": "在线文件编码识别", + "url": "http://tools.bugscaner.com/filebianma/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "http://tools.bugscaner.com/static/images/favicon.ico", + "name": "iptv", + "desc": "收集来自世界各地的5000多个公共IPTV频道", + "url": "https://github.com/iptv-org/iptv", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.linshiyouxiang.net/public/zh-CN/img/favicon.ico", + "name": "临时邮箱", + "desc": "10分钟邮箱,临时邮箱,临时邮,临时电子邮箱,24小时邮箱,一次性邮箱,匿名邮箱,安全邮箱", + "url": "https://www.linshiyouxiang.net/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "id": 0, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "WEB前端", + "nav": [ + { + "title": "JavaScript", + "icon": "https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png", + "nav": [ + { + "title": "JavaScript", + "nav": [ + { + "icon": "https://jquery.com/jquery-wp-content/themes/jquery.com/i/favicon.ico", + "name": "jQuery", + "desc": "jQuery是一个JavaScript函数库", + "url": "http://jquery.com/", + "urls": { + "英文": "http://jquery.com/", + "中文": "https://www.jquery123.com/", + "Github": "https://github.com/jquery/jquery" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://www.webpackjs.com/assets/favicon.ico", + "name": "webpack", + "desc": "webpack是一个模块打包器", + "url": "https://www.webpackjs.com/", + "urls": { + "英文": "https://webpack.js.org/", + "中文": "https://www.webpackjs.com/", + "Github": "https://github.com/webpack/webpack" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://babeljs.io/img/favicon.png", + "name": "Babel", + "desc": "用于编写下一代 JavaScript 的编译器", + "url": "http://babeljs.io/", + "urls": { + "英文": "http://babeljs.io/", + "中文": "https://babeljs.cn/", + "Github": "https://github.com/babel/babel" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://cn.eslint.org/img/favicon.512x512.png", + "name": "ESLint", + "desc": "可组装的JavaScript和JSX检查工具", + "url": "https://cn.eslint.org/", + "urls": { + "英文": "https://cn.eslint.org/", + "中文": "http://eslint.cn/", + "Github": "https://github.com/eslint/eslint" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars3.githubusercontent.com/u/10076935?s=200&v=4", + "name": "stylelint", + "desc": "一个强大的现代样式风格的linter", + "url": "https://stylelint.io/", + "urls": { + "Github": "https://github.com/stylelint/stylelint" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/8770005?s=200&v=4", + "name": "Mocha", + "desc": "Mocha是JavaScript的一种单元测试框架,既可以在浏览器环境下运行,也可以在Node.js环境下运行", + "url": "https://mochajs.org/", + "urls": { + "Github": "https://github.com/mochajs/mocha" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/5485517?s=200&v=4", + "name": "MUI", + "desc": "MUI: 最接近原生APP体验的高性能前端框架", + "url": "http://dev.dcloud.net.cn/mui/", + "urls": { + "Github": "https://github.com/dcloudio/mui" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/12554859?s=200&v=4", + "name": "rollup", + "desc": "Rollup 是一个 JavaScript 模块打包器,可以将小块代码编译成大块复杂的代码,例如 library 或应用程序", + "url": "https://rollupjs.org/guide/zh/", + "urls": { + "英文": "https://rollupjs.org/guide/en/", + "中文": "https://rollupjs.org/guide/zh/", + "Github": "https://github.com/rollup/rollup" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/29208316?s=200&v=4", + "name": "standard", + "desc": "JavaScript样式指南,带有linter和自动代码修复程序", + "url": "https://standardjs.com", + "urls": { + "Github": "https://github.com/standard/standard" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "常用插件", + "nav": [ + { + "urls": {}, + "name": "Faker", + "icon": "https://github.com/favicon.ico", + "url": "https://github.com/Marak/faker.js", + "createdAt": "2021-01-23T09:37:03.055Z", + "desc": "在Node.js和浏览器中生成大量逼真的假数据", + "rate": 5, + "top": false + }, + { + "name": "sweetalert", + "desc": "JavaScript Alert 的漂亮替代品", + "url": "https://sweetalert.js.org/", + "urls": { + "Github": "https://github.com/t4t5/sweetalert" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/17040762?s=200&v=4", + "name": "Sortable", + "desc": "一个JavaScript库,用于在现代浏览器和触摸设备上对拖放列表进行重新排序", + "url": "https://sortablejs.github.io/Sortable/", + "urls": { + "Github": "https://github.com/SortableJS/Sortable" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "formilyjs", + "desc": "Formily 是一个由阿里巴巴集团多 BU 共建的面向中后台复杂场景的表单解决方案,它也是一个表单框架", + "url": "https://formilyjs.org/", + "urls": { + "Github": "https://github.com/alibaba/formily" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://roughnotation.com/images/fav.png", + "name": "rough-notation", + "desc": "一个小的JavaScript库,用于在网页上创建手绘动画并为其添加动画效果", + "url": "https://roughnotation.com/", + "urls": { + "Github": "https://github.com/rough-stuff/rough-notation" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars3.githubusercontent.com/u/19199542?s=200&v=4", + "name": "AntV", + "desc": "AntV 是蚂蚁金服全新一代数据可视化解决方案", + "url": "https://antv.alipay.com/", + "urls": { + "Github": "https://github.com/antvis/" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://www.lodashjs.com/icons/favicon-32x32.png", + "name": "Lodash", + "desc": "Lodash是一个一致性、模块化、高性能的 JavaScript 实用工具库", + "url": "https://www.lodashjs.com/", + "urls": { + "英文": "https://lodash.com/", + "中文": "https://www.lodashjs.com/", + "Github": "https://github.com/lodash/lodash" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://www.swiper.com.cn/favicon.ico", + "name": "Swiper", + "desc": "轻量级的移动设备触控滑块的js框架,使用硬件加速过渡", + "url": "https://www.swiper.com.cn/", + "urls": { + "英文": "http://idangero.us/swiper/", + "中文": "https://www.swiper.com.cn/", + "Github": "https://github.com/nolimits4web/swiper" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "fastclick", + "desc": "Polyfill 解决移动端具有300ms延迟的库", + "url": "https://github.com/ftlabs/fastclick", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "Layer", + "desc": "丰富多样的Web弹出层组件,可轻松实现Alert/Confirm/Prompt/普通提示/页面区块/iframe/tips等等几乎所有的弹出交互", + "url": "http://layer.layui.com/", + "urls": { + "Github": "https://github.com/sentsin/layer/" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://momentjs.com/static/img/moment-favicon.png", + "name": "moment.js", + "desc": "一个轻量级的JavaScript日期库,用于解析,验证,操作和格式化日期", + "url": "http://momentjs.cn/", + "urls": { + "英文": "http://momentjs.com/", + "中文": "http://momentjs.cn/", + "Github": "https://github.com/moment/moment" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "js-cookie", + "desc": "一个简单,轻量级的JavaScript API,用于处理浏览器cookie", + "url": "https://github.com/js-cookie/js-cookie", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "qs", + "desc": "具有嵌套支持的查询字符串解析器", + "url": "https://github.com/ljharb/qs", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "Mock.js", + "desc": "生成随机数据,拦截 Ajax 请求", + "url": "http://mockjs.com/", + "urls": { + "Github": "https://github.com/nuysoft/Mock" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://gitalk.github.io/favicon.ico", + "name": "GITALK", + "desc": "凹凸实验室出品的一款基于 Github Issue 和 Preact 开发的评论插件", + "url": "https://gitalk.github.io/", + "urls": { + "Github": "https://github.com/gitalk/gitalk" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://prismjs.com/assets/favicon.png", + "name": "prism", + "desc": "轻巧,强大,优雅的代码语法高亮", + "url": "https://prismjs.com/", + "urls": { + "Github": "https://github.com/PrismJS/prism" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "nprogress", + "desc": "顶部加载进度条", + "url": "http://ricostacruz.com/nprogress/", + "urls": { + "Github": "https://github.com/rstacruz/nprogress" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "iNotify", + "desc": "JS实现浏览器标题闪烁,滚动,语音提示,Chrome/Safari/FireFox/IE通知", + "url": "https://git.io/iNotify", + "urls": { + "Github": "https://github.com/jaywcjlove/iNotify" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "html2canvas", + "desc": "最流行的JavaScript屏幕截图", + "url": "https://html2canvas.hertzen.com/", + "urls": { + "Github": "https://github.com/niklasvh/html2canvas" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "dayjs", + "desc": "使用与Moment.js兼容的API来解析,验证,操作和显示现代浏览器的日期和时间", + "url": "https://github.com/iamkun/dayjs/blob/master/docs/zh-cn/API-reference.md", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "JsBarcode", + "desc": "易于使用但功能强大的条形码生成器,适用于Web和Node.js", + "url": "https://lindell.me/JsBarcode/", + "urls": { + "Github": "https://github.com/lindell/JsBarcode" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "clipboard.js", + "desc": "现代复制到剪贴板。没有Flash。只需3kb gzipped。", + "url": "https://clipboardjs.com/", + "urls": { + "Github": "https://github.com/zenorocha/clipboard.js" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "lib-flexible", + "desc": "可伸缩布局方案, 淘宝rem解决方案", + "url": "https://github.com/amfe/lib-flexible", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "js-xss", + "desc": "根据白名单过滤HTML(防止XSS攻击)", + "url": "https://github.com/leizongmin/js-xss", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "mescroll", + "desc": "精致的下拉刷新和上拉加载 js框架.支持vue,完美运行于移动端和主流PC浏览器", + "url": "http://www.mescroll.com/index.html", + "urls": { + "Github": "https://github.com/mescroll/mescroll" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "better-scroll", + "desc": "灵感来自iscroll,它具有更好的滚动性能", + "url": "https://ustbhuangyi.github.io/better-scroll/", + "urls": { + "Github": "https://github.com/ustbhuangyi/better-scroll" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "pinyinjs", + "desc": "一个实现汉字与拼音互转的小巧web工具库", + "url": "http://demo.haoji.me/pinyinjs/", + "urls": { + "Github": "https://github.com/sxei/pinyinjs" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "ms", + "desc": "使用此包可以轻松地将各种时间格式转换为毫秒。", + "url": "https://github.com/zeit/ms", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/5298359?s=200&v=4", + "name": "ramda", + "desc": "适用于JavaScript程序员的实用函数库", + "url": "https://ramdajs.com", + "urls": { + "Github": "https://github.com/ramda/ramda" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "decimal.js", + "desc": "JavaScript的任意精度Decimal类型 (0.1+0.2=0.3)", + "url": "http://mikemcl.github.io/decimal.js", + "urls": { + "Github": "https://github.com/MikeMcl/decimal.js/" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "copy-to-clipboard", + "desc": "简单的模块公开copy功能,它将尝试使用execCommand与特定于IE的clipboardData接口的回退,最后,通常prompt使用适当的文本内容和消息", + "url": "https://github.com/sudodoki/copy-to-clipboard", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "path-to-regexp", + "desc": "将字符串路径转换成正则表达式", + "url": "https://github.com/pillarjs/path-to-regexp", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "autosize", + "desc": "autosize是一个小的独立脚本,可以自动调整textarea域的高度以适合文本", + "url": "http://www.jacklmoore.com/autosize/", + "urls": { + "Github": "https://github.com/jackmoore/autosize" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "shake.js", + "desc": "监听手机设备摇动", + "url": "https://github.com/alexgibson/shake.js", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "progressbar", + "desc": "可以轻松地为Web创建响应式和时尚的进度栏。动画即使在移动设备上也表现良好", + "url": "https://kimmobrunfeldt.github.io/progressbar.js/", + "urls": { + "Github": "https://github.com/kimmobrunfeldt/progressbar.js" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/28626637?s=200&v=4", + "name": "easy-mock", + "desc": "Easy Mock 是一个可视化,并且能快速生成模拟数据的持久化服务", + "url": "https://easy-mock.com", + "urls": { + "Github": "https://github.com/easy-mock/easy-mock/blob/dev/README.zh-CN.md" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://joe.sh/assets/images/favicon.ico", + "name": "Clamp.js", + "desc": "JS版本的多行文本溢出省略", + "url": "https://joe.sh/clamp-js", + "urls": { + "Github": "https://github.com/josephschmitt/Clamp.js" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "json-bigint", + "desc": "带有bigints支持的JSON.parse / stringify", + "url": "https://github.com/sidorares/json-bigint", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "exif-js", + "desc": "用于读取EXIF图像元数据的JavaScript库", + "url": "https://github.com/exif-js/exif-js", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "lunr.js", + "desc": "Lunr.js是一个用于浏览器的小型全文本搜索库。它为JSON文档建立索引,并提供一个简单的搜索界面来检索与文本查询最匹配的文档", + "url": "https://github.com/olivernn/lunr.js", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "hotkeys", + "desc": "强大的Javascript库,用于捕获键盘输入和输入的按键组合。它没有依赖性。", + "url": "https://wangchujiang.com/hotkeys/", + "urls": { + "Github": "https://github.com/jaywcjlove/hotkeys" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "dom-to-image", + "desc": "使用HTML5 canvas从DOM节点生成图像", + "url": "https://github.com/tsayen/dom-to-image", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/59940233?s=200&v=4", + "name": "single-spa", + "desc": "使微前端变得简单", + "url": "https://single-spa.js.org/", + "urls": { + "Github": "https://github.com/single-spa/single-spa" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/33895495?s=200&v=4", + "name": "qiankun", + "desc": "为微型前端提供快速,简单和完整的解决方案", + "url": "https://qiankun.umijs.org/", + "urls": { + "Github": "https://github.com/umijs/qiankun" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://zelark.github.io/nano-id-cc/favicon.ico", + "name": "nanoid", + "desc": "一个很小的,安全的,URL友好的,唯一的JavaScript字符串ID生成器。", + "url": "https://zelark.github.io/nano-id-cc/", + "urls": { + "Github": "https://github.com/ai/nanoid" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "Numeral-js", + "desc": "一个用于格式化和处理数字的javascript库", + "url": "http://numeraljs.com", + "urls": { + "Github": "https://github.com/adamwdraper/Numeral-js" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "ua-parser-js", + "desc": "用于从userAgent字符串检测浏览器,引擎,操作系统,CPU和设备类型/模型。支持浏览器和node.js环境", + "url": "http://faisalman.github.io/ua-parser-js/", + "urls": { + "Github": "https://github.com/faisalman/ua-parser-js" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/7997161?s=200&v=4", + "name": "hammer.js", + "desc": "一个用于多点触摸手势的javascript库", + "url": "http://hammerjs.github.io", + "urls": { + "Github": "https://github.com/hammerjs/hammer.js" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "国际化多语言方案", + "nav": [ + { + "icon": "https://avatars1.githubusercontent.com/u/8546082?s=200&v=4", + "name": "i18next", + "desc": "i18next是一个非常流行的国际化框架,适用于浏览器或任何其他JavaScript环境(例如,node.js)。", + "url": "http://i18next.com/", + "urls": { + "Github": "https://github.com/i18next/i18next" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars3.githubusercontent.com/u/11225539?s=200&v=4", + "name": "js-lingui", + "desc": "JavaScript的可读,自动化和优化(5 kb)国际化", + "url": "https://lingui.js.org/", + "urls": { + "Github": "https://github.com/lingui/js-lingui" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "动画", + "nav": [ + { + "name": "wow.js", + "desc": "基于Animate.css,向下滚动页面时显示CSS动画,轻松自定义动画设置:样式,延迟,长度,偏移,迭代...", + "url": "http://mynameismatthieu.com/WOW/", + "urls": { + "Github": "https://github.com/matthieua/WOW" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "Waves", + "desc": "受Google材质设计启发的点击效果, 波纹效果", + "url": "http://fian.my.id/Waves/#examples", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "velocity", + "desc": "加速JavaScript动画", + "url": "http://velocityjs.org/", + "urls": { + "Github": "https://github.com/julianshapiro/velocity" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "anime", + "desc": "轻量级的JavaScript动画库。它适用于任何CSS属性,单个CSS转换,SVG或任何DOM属性以及JavaScript对象", + "url": "http://animejs.com/", + "urls": { + "Github": "https://github.com/juliangarnier/anime" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "Hover-Buttons", + "desc": "hover动画CSS / SCSS按钮", + "url": "https://varin6.github.io/Hover-Buttons/", + "urls": { + "Github": "https://github.com/Varin6/Hover-Buttons" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "加盐", + "nav": [ + { + "name": "JavaScript-MD5", + "desc": "JavaScript MD5实现。兼容服务器端环境,如node.js,RequireJS等模块加载器和所有Web浏览器", + "url": "https://blueimp.github.io/JavaScript-MD5/", + "urls": { + "Github": "https://github.com/blueimp/JavaScript-MD5" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "js-sha1", + "desc": "JavaScript的简单SHA1哈希函数支持UTF-8编码。", + "url": "https://github.com/emn178/js-sha1", + "urls": { + "Github": "https://github.com/emn178/js-sha1" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "js-base64", + "desc": "JavaScript的Base64实现", + "url": "https://github.com/dankogai/js-base64", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "jsSHA", + "desc": "SHA-1,SHA-224,SHA3-224,SHA-256,SHA3-256,SHA-384,SHA3-384,SHA-512,SHA3-512,SHAKE128 ,和SHAKE256以及HMAC", + "url": "https://caligatio.github.io/jsSHA/", + "urls": { + "Github": "https://github.com/Caligatio/jsSHA" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "crypto-js", + "desc": "加密标准的JavaScript库", + "url": "https://cryptojs.gitbook.io", + "urls": { + "Github": "https://github.com/brix/crypto-js" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "文件插件相关", + "nav": [ + { + "name": "pdf.js", + "desc": "PDF.js是一个使用HTML5构建的可移植文档格式(PDF)查看器", + "url": "https://mozilla.github.io/pdf.js/web/viewer.html", + "urls": { + "Github": "https://github.com/mozilla/pdf.js" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "webuploader", + "desc": "百度出品,采用大文件分片并发上传,极大的提高了文件上传效率。", + "url": "http://fex.baidu.com/webuploader/", + "urls": { + "Github": "https://github.com/fex-team/webuploader" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "pdfmake", + "desc": "纯JavaScript中的客户端/服务器端PDF打印, HTML转换Pdf", + "url": "http://pdfmake.org/", + "urls": { + "Github": "https://github.com/bpampuch/pdfmake" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "ViewerJS", + "desc": "JavaScript中的文档阅读器, pdf/ppt/opt/odt等文件渲染成HTML", + "url": "https://viewerjs.org/", + "urls": { + "Github": "https://github.com/kogmbh/ViewerJS" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "filepond", + "desc": "灵活而有趣的JavaScript文件上传库", + "url": "https://pqina.nl/filepond/", + "urls": { + "Github": "https://github.com/pqina/filepond" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "FileSaver.js", + "desc": "客户端保存文件的解决方案,非常适合在客户端上生成文件的Web应用程序", + "url": "https://github.com/eligrey/FileSaver.js", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "jsPDF", + "desc": "一个使用JavaScript生成PDF的库", + "url": "https://parall.ax/products/jspdf", + "urls": { + "Github": "https://github.com/MrRio/jsPDF" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "图片预览", + "nav": [ + { + "name": "PhotoSwipe", + "desc": "适用于移动和桌面的JavaScript图像库, 图片预览", + "url": "http://photoswipe.com/", + "urls": { + "Github": "https://github.com/dimsemenov/PhotoSwipe" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "viewerjs", + "desc": "javascript图片预览", + "url": "https://fengyuanchen.github.io/viewerjs/", + "urls": { + "Github": "https://github.com/fengyuanchen/viewerjs" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "音频/视频", + "nav": [ + { + "icon": "https://howlerjs.com/assets/images/favicon.ico", + "name": "howler.js", + "desc": "现代 Web 音频 javascript 库", + "url": "https://howlerjs.com/", + "urls": { + "Github": "https://github.com/goldfire/howler.js" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "DPlayer", + "desc": "哇,这么可爱的HTML5 danmaku视频播放器", + "url": "http://dplayer.js.org/#/zh-Hans/", + "urls": { + "英文": "http://dplayer.js.org/#/home", + "中文": "http://dplayer.js.org/#/zh-Hans/", + "Github": "https://github.com/MoePlayer/DPlayer" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "APlayer", + "desc": "哇,这么可爱的HTML5音乐播放器", + "url": "https://aplayer.js.org/#/zh-Hans/", + "urls": { + "英文": "http://aplayer.js.org/", + "中文": "https://aplayer.js.org/#/zh-Hans/", + "Github": "https://github.com/MoePlayer/APlayer" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "图形", + "nav": [ + { + "icon": "https://threejs.org/files/favicon.ico", + "name": "three.js", + "desc": "JavaScript 3D引擎", + "url": "https://threejs.org/", + "urls": { + "英文": "https://threejs.org/", + "中文": "http://techbrood.com/threejs/docs", + "Github": "https://github.com/mrdoob/three.js" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "flowy", + "desc": "创建流程图的最小JavaScript库", + "url": "https://github.com/alyssaxuu/flowy", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://echarts.apache.org/examples/images/favicon.png", + "name": "incubator-echarts", + "desc": "浏览器的功能强大的交互式图表和可视化库", + "url": "http://echarts.apache.org/", + "urls": { + "Github": "https://github.com/apache/incubator-echarts" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/1562726?s=200&v=4", + "name": "d3", + "desc": "借助SVG,Canvas和HTML使数据栩栩如生。", + "url": "https://github.com/d3/d3", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "UI组件库", + "nav": [ + { + "icon": "https://getuikit.com/images/favicon.png", + "name": "uikit", + "desc": "一款轻量级、模块化的前端框架可快速构建强大的web前端界面", + "url": "http://www.getuikit.net/", + "urls": { + "英文": "https://getuikit.com/docs/installation", + "中文": "http://www.getuikit.net/", + "Github": "https://github.com/uikit/uikit" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "原生APP交互webview桥接", + "nav": [ + { + "name": "JsBridge", + "desc": "android java和javascript桥接,灵感来自微信webview jsbridge", + "url": "https://github.com/lzyzsd/JsBridge", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "DSBridge-Android", + "desc": "一个现代的跨平台JavaScript桥接,通过它您可以在JavaScript和本机之间同步或异步地调用彼此的功能", + "url": "https://github.com/wendux/DSBridge-Android", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "参数验证", + "nav": [ + { + "name": "joi", + "desc": "对象模式验证", + "url": "https://github.com/hapijs/joi", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "validator.js", + "desc": "字符串验证插件、表单验证", + "url": "https://github.com/chriso/validator.js", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "async-validator", + "desc": "异步验证器", + "url": "https://github.com/yiminghe/async-validator", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "yup", + "desc": "无效的简单对象架构验证", + "url": "https://runkit.com/jquense/yup", + "urls": { + "Github": "https://github.com/jquense/yup#using-a-custom-locale-dictionary" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "数据库", + "nav": [ + { + "icon": "https://avatars2.githubusercontent.com/u/18673496?s=200&v=4", + "name": "localForage", + "desc": "离线存储,使用简单但功能强大的API包装IndexedDB,WebSQL或localStorage。", + "url": "https://github.com/localForage/localForage", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "步骤引导", + "nav": [ + { + "icon": "https://avatars2.githubusercontent.com/u/2010360?s=200&v=4", + "name": "introjs", + "desc": "为您的网站和项目提供新功能介绍和逐步用户指南的更好方法", + "url": "https://introjs.com/", + "urls": { + "Github": "https://github.com/usablica/intro.js" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars3.githubusercontent.com/u/17297725?s=200&v=4", + "name": "shepherd", + "desc": "引导您的用户浏览您的应用程序", + "url": "https://shepherdjs.dev/", + "urls": { + "Github": "https://github.com/shipshapecode/shepherd" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "bootstrap-tour", + "desc": "使用Twitter Bootstrap Popovers快速方便地进行产品浏览", + "url": "http://bootstraptour.com/", + "urls": { + "Github": "https://github.com/sorich87/bootstrap-tour" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "React", + "icon": "https://reactjs.org/favicon.ico", + "nav": [ + { + "title": "生态系统", + "nav": [ + { + "name": "React", + "desc": "用于构建用户界面的 JavaScript 库", + "url": "https://zh-hans.reactjs.org/", + "urls": { + "英文": "https://reactjs.org/", + "中文": "https://zh-hans.reactjs.org/", + "Github": "https://github.com/facebook/react/" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "React Router", + "desc": "React 路由管理", + "url": "https://react-router.docschina.org/", + "urls": { + "英文": "https://reacttraining.com/react-router/", + "中文": "https://react-router.docschina.org/", + "Github": "https://github.com/ReactTraining/react-router" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/13142323?s=200&v=4", + "name": "Redux", + "desc": "React 状态管理", + "url": "http://www.redux.org.cn/docs/react-redux/api.html", + "urls": { + "英文": "https://redux.js.org/basics/usagewithreact", + "中文": "http://www.redux.org.cn/docs/react-redux/api.html", + "Github": "https://github.com/reduxjs/redux" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "create-react-app", + "desc": "React官方脚手架", + "url": "https://www.html.cn/create-react-app/", + "urls": { + "英文": "https://facebook.github.io/create-react-app/", + "中文": "https://www.html.cn/create-react-app/", + "Github": "https://github.com/facebook/create-react-app" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "Redux相关", + "nav": [ + { + "name": "React Redux", + "desc": "Redux的官方React绑定(通常配合redux使用)", + "url": "https://react-redux.js.org/", + "urls": { + "Github": "https://github.com/reduxjs/react-redux" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "redux-actions", + "desc": "Redux的Flux标准action实用程序(用于生成action)", + "url": "https://redux-actions.js.org/", + "urls": { + "Github": "https://github.com/redux-utilities/redux-actions" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "redux-thunk", + "desc": "Redux的Thunk中间件, 用于处理异步逻辑", + "url": "https://github.com/reduxjs/redux-thunk", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/24776643?s=200&v=4", + "name": "redux-saga", + "desc": "一个旨在使应用程序副作用(即异步事物,如数据获取和不纯的东西,如访问浏览器缓存)更容易管理,执行更高效,易于测试,以及更好地处理故障的库", + "url": "https://redux-saga.js.org/", + "urls": { + "Github": "https://github.com/redux-saga/redux-saga" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "React Native相关", + "nav": [ + { + "name": "React Native", + "desc": "使用React构建原生APP程序的框架", + "url": "https://reactnative.cn/docs/0.51/tutorial.html", + "urls": { + "英文": "https://facebook.github.io/react-native/docs/getting-started.html", + "中文": "https://reactnative.cn/docs/0.51/tutorial.html", + "Github": "https://github.com/facebook/react-native" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/29647600?s=200&v=4", + "name": "React Navigation", + "desc": "为您的本地应用程序提供路由和导航", + "url": "https://reactnavigation.org/zh-Hans/", + "urls": { + "英文": "https://reactnavigation.org/en/", + "中文": "https://reactnavigation.org/zh-Hans/", + "Github": "https://github.com/react-navigation/react-navigation" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/12504344?s=200&v=4", + "name": "expo", + "desc": "用于制作跨平台移动应用程序的Expo平台", + "url": "https://docs.expo.io", + "urls": { + "Github": "https://github.com/expo/expo" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/12101536?s=200&v=4", + "name": "ant-design-mobile-rn", + "desc": "一个基于 React Native 的 UI 组件库", + "url": "https://rn.mobile.ant.design/index-cn", + "urls": { + "英文": "https://rn.mobile.ant.design/", + "中文": "https://rn.mobile.ant.design/index-cn", + "Github": "https://github.com/ant-design/ant-design-mobile-rn" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "PC端UI组件库", + "nav": [ + { + "icon": "https://avatars1.githubusercontent.com/u/12101536?s=200&v=4", + "name": "Ant Design", + "desc": "Ant Design - A UI Design Language", + "url": "https://ant.design/docs/react/introduce-cn", + "urls": { + "英文": "https://ant.design/docs/react/introduce", + "中文": "https://ant.design/docs/react/introduce-cn", + "Github": "https://github.com/ant-design/ant-design" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://material-ui.com/static/favicon.ico", + "name": "MATERIAL-UI", + "desc": "React 组件用于更快速、更简便的 web 开发。你也可以建立你自己的设计系统,或者从 Material Design 开始", + "url": "https://material-ui.com/zh/", + "urls": { + "英文": "https://material-ui.com/", + "中文": "https://material-ui.com/zh/", + "Github": "https://github.com/mui-org/material-ui" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/12810740?s=200&v=4", + "name": "element", + "desc": "elementUI组件库", + "url": "https://elemefe.github.io/element-react/#/zh-CN/quick-start", + "urls": { + "英文": "https://elemefe.github.io/element-react/#/en-US/quick-start", + "中文": "https://elemefe.github.io/element-react/#/zh-CN/quick-start", + "Github": "https://github.com/ElemeFE/element-react" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/6853419?s=200&v=4", + "name": "react-bootstrap", + "desc": "基于Bootstrap 3构建的组件库", + "url": "https://react-bootstrap.github.io/getting-started/introduction", + "urls": { + "Github": "https://github.com/react-bootstrap/react-bootstrap" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "evergreen", + "desc": "Evergreen是一个React UI框架,用于在Web上构建雄心勃勃的产品。由Segment带给您。", + "url": "https://evergreen.segment.com/", + "urls": { + "Github": "https://github.com/segmentio/evergreen" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "@alifd/next", + "desc": "@alifd/next 是 Alibaba Fusion Design 的官方 React 实现, 赋能企业中后台产品开发", + "url": "https://fusion.design/component/doc/102", + "urls": { + "Github": "https://github.com/alibaba-fusion/next" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/11404085?s=200&v=4", + "name": "zent", + "desc": "Zent 是有赞 PC 端 WebUI 规范的 React 实现,提供了一整套基础的 UI 组件以及一些常用的业务组件", + "url": "https://youzan.github.io/zent/zh/guides/install", + "urls": { + "Github": "https://github.com/youzan/zent" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "React95", + "desc": "装修一新的现代的应用程序做出React Windows95的UI组件。", + "url": "https://arturbien.github.io/React95", + "urls": { + "Github": "https://github.com/arturbien/React95" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/19635045?s=200&v=4", + "name": "rsuite", + "desc": "React Suite 是一套 React 组件库,为后台产品而生。同时也是一个具有贴心设计以及对开发者友好的 UI 框架", + "url": "https://rsuitejs.com", + "urls": { + "Github": "https://github.com/rsuite/rsuite" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/54212428?s=200&v=4", + "name": "chakra-ui", + "desc": "适用于您的React应用程序的简单,模块化和可访问的UI组件", + "url": "https://chakra-ui.com/", + "urls": { + "Github": "https://github.com/chakra-ui/chakra-ui" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "移动端UI组件库", + "nav": [ + { + "icon": "https://avatars1.githubusercontent.com/u/12101536?s=200&v=4", + "name": "Ant Design Mobile", + "desc": "一个基于 Preact / React / React Native 的 UI 组件库", + "url": "https://mobile.ant.design/index-cn", + "urls": { + "英文": "https://mobile.ant.design/", + "中文": "https://mobile.ant.design/index-cn", + "Github": "https://github.com/ant-design/ant-design-mobile/stargazers/" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "其他组件库", + "nav": [ + { + "name": "React Helmet", + "desc": "这个可重用的反应组件将管理对文档头的所有更改", + "url": "https://github.com/nfl/react-helmet", + "urls": { + "Github": "https://github.com/nfl/react-helmet" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "react-image-crop", + "desc": "用于React的响应式图像裁剪工具", + "url": "https://github.com/DominicTobias/react-image-crop", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "React Helmet", + "desc": "这个可重用的反应组件将管理对文档头的所有更改", + "url": "https://github.com/nfl/react-helmet", + "urls": { + "Github": "https://github.com/nfl/react-helmet" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "react-transition-group", + "desc": "当React组件进入或离开DOM时执行动画的简单方法", + "url": "https://reactcommunity.org/react-transition-group/", + "urls": { + "英文": "https://reactcommunity.org/react-transition-group/", + "Github": "https://github.com/reactjs/react-transition-group" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "React Loadable", + "desc": "用于加载具有promise的组件的更高阶组件 - 路由懒加载", + "url": "https://github.com/jamiebuilds/react-loadable", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "react-swipe", + "desc": "基于swipe.js封装的react组件/走马灯", + "url": "https://github.com/voronianski/react-swipe", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "Ant Motion", + "desc": "使用 Ant Motion 能够快速在 React 框架中使用动画,我们提供了单项,组合动画,以及整套解决方案", + "url": "https://motion.ant.design/", + "urls": { + "Github": "https://github.com/ant-design/ant-motion/" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "desc": "网络视频播放器使用React库从头开始构建HTML5世界", + "name": "video-react", + "url": "https://video-react.js.org/", + "urls": { + "Github": "https://github.com/video-react/video-react" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "react-keeper", + "desc": "一个react路由库,更适合移动端使用,拥有缓存等功能", + "url": "https://github.com/vifird/react-keeper", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "Fusion Design", + "desc": "基于React构建的Web可配置组件库", + "url": "https://fusion.design", + "urls": { + "Github": "https://github.com/alibaba-fusion/next" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/13690587?s=200&v=4", + "name": "recharts", + "desc": "基于 React和D3 的组合式图表库", + "url": "http://recharts.org/zh-CN/", + "urls": { + "Github": "https://github.com/recharts/recharts" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "react-json-view", + "desc": "JSON查看器", + "url": "https://mac-s-g.github.io/react-json-view/demo/dist/", + "urls": { + "Github": "https://github.com/mac-s-g/react-json-view" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "BizCharts", + "desc": "基于G2和React的强大数据可视化库", + "url": "https://bizcharts.net/products/bizCharts", + "urls": { + "Github": "https://github.com/alibaba/BizCharts" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "react-draggable", + "desc": "一个简单的组件,用于使元素可拖动", + "url": "https://github.com/mzabriskie/react-draggable", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "react-slick", + "desc": "react走马灯组件", + "url": "https://react-slick.neostack.com/", + "urls": { + "Github": "https://github.com/akiran/react-slick" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "react-color", + "desc": "react 拾色器", + "url": "http://casesandberg.github.io/react-color/", + "urls": { + "Github": "https://github.com/casesandberg/react-color" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/50559490?s=200&v=4", + "name": "react-intl", + "desc": "国际化React应用程序。这个库提供了React组件和一个API,用于格式化日期,数字和字符串,包括复数形式和处理翻译", + "url": "https://github.com/formatjs/react-intl", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars3.githubusercontent.com/u/1763971?s=200&v=4", + "name": "react-data-grid", + "desc": "使用React构建的类似于Excel的网格组件,具有编辑器,键盘导航,复制和粘贴等功能", + "url": "http://adazzle.github.io/react-data-grid/", + "urls": { + "Github": "https://github.com/adazzle/react-data-grid" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://cloud.githubusercontent.com/assets/29597/11736841/c0497158-9f87-11e5-8dfe-9c0be97d4286.png", + "name": "react-virtualized", + "desc": "React组件可有效呈现大型列表和表格数据", + "url": "http://www.reactvirtualized.com", + "urls": { + "Github": "https://github.com/bvaughn/react-virtualized" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars3.githubusercontent.com/u/5078602?s=200&v=4", + "name": "react-live", + "desc": "一个用于实时编辑React组件的灵活组件库", + "url": "https://react-live.netlify.com/", + "urls": { + "Github": "https://github.com/FormidableLabs/react-live" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://jaredpalmer.com/formik/img/favicon.png", + "name": "formik", + "desc": "在React中轻松创建表单", + "url": "https://jaredpalmer.com/formik/docs/overview", + "urls": { + "Github": "https://github.com/jaredpalmer/formik" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "拖拽组件", + "nav": [ + { + "name": "react-move", + "icon": "https://github.com/favicon.ico", + "url": "https://github.com/daybrush/moveable/tree/master/packages/react-moveable", + "desc": "一个React组件,它创建可移动,可拖动,可调整大小,可缩放,可旋转,可扭曲,可收缩,可分组,可捕捉。", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/25307599?s=200&v=4", + "name": "react-dnd", + "desc": "React DnD是一组React实用程序,可帮助您构建复杂的拖放接口,同时保持组件分离", + "url": "https://react-dnd.github.io/react-dnd/about", + "urls": { + "Github": "https://github.com/react-dnd/react-dnd" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "react-beautiful-dnd", + "desc": "漂亮的和可访问的拖放列表", + "url": "https://github.com/atlassian/react-beautiful-dnd", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "react-rnd", + "desc": "一个可调整大小且可拖动的React组件。", + "url": "https://bokuweb.github.io/react-rnd/stories", + "urls": { + "Github": "https://github.com/bokuweb/react-rnd" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "开箱即用", + "nav": [ + { + "icon": "https://avatars1.githubusercontent.com/u/12101536?s=200&v=4", + "name": "ANT DESIGN PRO", + "desc": "开箱即用的中台前端/设计解决方案", + "url": "https://pro.ant.design/", + "urls": { + "中文": "https://pro.ant.design/", + "Github": "https://github.com/ant-design/ant-design-pro/" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "单元测试", + "nav": [ + { + "name": "enzyme", + "desc": "适用于React的JavaScript测试实用程序", + "url": "https://enzymejs.github.io/enzyme/", + "urls": { + "Github": "https://github.com/enzymejs/enzyme" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "Jest", + "desc": "Jest是一个令人愉快的JavaScript测试框架,专注于简单性。", + "url": "https://jestjs.io/zh-Hans/", + "urls": { + "Github": "https://github.com/facebook/jest" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "umi/dva", + "nav": [ + { + "icon": "https://avatars2.githubusercontent.com/u/33895495?s=200&v=4", + "name": "umijs", + "desc": "插件化的企业级前端应用框架。", + "url": "https://umijs.org/zh-CN", + "urls": { + "英文": "https://umijs.org/", + "中文": "https://umijs.org/zh-CN", + "Github": "https://github.com/umijs/umi" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/20552239?s=200&v=4", + "name": "DvaJS", + "desc": "基于React和Redux的轻量级和elm风格框架", + "url": "https://dvajs.com/", + "urls": { + "Github": "https://github.com/dvajs/dva" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/33895495?s=200&v=4", + "name": "umijs/hooks", + "desc": "你可以将 umi hooks 使用在任何地方,和任意组件库搭配使用。虽然我们的代码示例都是基于 ant design 的,但是并不代表我们的 Hooks 只能和 ant design 配合使用", + "url": "https://hooks.umijs.org/", + "urls": { + "中文": "https://hooks.umijs.org/", + "Github": "https://github.com/umijs/hooks" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/33895495?s=200&v=4", + "name": "umi-plugin-cache-route", + "desc": "路由缓存,类似vue keep-alive", + "url": "https://www.npmjs.com/package/umi-plugin-cache-route", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "知识", + "nav": [ + { + "name": "React.js 小书", + "desc": "这是一本关于 React.js 的小书", + "url": "http://huziketang.mangojuice.top/books/react/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "TypeScript-React-Starter", + "desc": "TypeScript和React的入门模板,带有详细的README,描述了如何将两者结合使用。", + "url": "https://github.com/Microsoft/TypeScript-React-Starter", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "react-redux-typescript-guide", + "desc": "TypeScript中的React和 Redux - 使用说明", + "url": "https://piotrwitek.github.io/react-redux-typescript-guide/", + "urls": { + "Github": "https://github.com/piotrwitek/react-redux-typescript-guide" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "其他", + "nav": [ + { + "icon": "https://avatars1.githubusercontent.com/u/17475736?s=200&v=4", + "name": "Mobx", + "desc": "简单、可扩展的状态管理", + "url": "https://cn.mobx.js.org/", + "urls": { + "英文": "https://mobx.js.org/", + "中文": "https://cn.mobx.js.org/", + "Github": "https://github.com/mobxjs/mobx" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "next.js", + "desc": "服务端渲染框架、SEO解决方案", + "url": "https://www.nextjs.cn/", + "urls": { + "英文": "https://nextjs.org/", + "中文": "https://www.nextjs.cn/", + "Github": "https://github.com/zeit/next.js" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "nwb", + "desc": "适用于Web的React,Preact,Inferno和Vanilla JS应用,React库和其他npm模块的工具包,无需配置", + "url": "https://github.com/insin/nwb", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "ahooks", + "desc": "为 React Hooks 而生", + "url": "https://ahooks.js.org/zh-CN", + "urls": { + "Github": "https://github.com/alibaba/hooks" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "react-app-rewired", + "desc": "覆盖create-react-app webpack配置而不弹出", + "url": "https://github.com/timarney/react-app-rewired", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "Vue.js", + "icon": "https://v3.vuejs.org/images/icons/apple-icon-152x152.png", + "nav": [ + { + "title": "生态系统", + "nav": [ + { + "name": "Vue.js", + "desc": "渐进式JavaScript 框架", + "url": "https://cn.vuejs.org/", + "urls": { + "英文": "https://vuejs.org/index.html", + "中文": "https://cn.vuejs.org/", + "Github": "https://github.com/vuejs/vue" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "Vue Router", + "desc": "Vue Router 是 Vue.js 官方的路由管理器", + "url": "https://router.vuejs.org/zh/", + "urls": { + "英文": "https://router.vuejs.org/", + "中文": "https://router.vuejs.org/zh/", + "Github": "https://github.com/vuejs/vue-router" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "Vuex", + "desc": "Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。", + "url": "https://vuex.vuejs.org/zh/", + "urls": { + "英文": "https://vuex.vuejs.org/", + "中文": "https://vuex.vuejs.org/zh/", + "Github": "https://github.com/vuejs/vuex" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "vue-devtools", + "desc": "vue.js调试工具", + "url": "https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd", + "urls": { + "Github": "https://github.com/vuejs/vue-devtools" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "vue-cli", + "desc": "Vue.js开发的标准脚手架工具", + "url": "https://cli.vuejs.org/zh/", + "urls": { + "英文": "https://cli.vuejs.org/", + "中文": "https://cli.vuejs.org/zh/", + "Github": "https://github.com/vuejs/vue-cli" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "vuepress", + "desc": "Vue 驱动的静态网站生成器", + "url": "https://vuepress.vuejs.org/zh/", + "urls": { + "英文": "https://vuepress.vuejs.org/", + "中文": "https://vuepress.vuejs.org/zh/", + "Github": "https://github.com/vuejs/vuepress" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "Vue SSR", + "desc": "Vue服务端渲染、SEO解决方案", + "url": "https://vuepress.vuejs.org/zh/", + "urls": { + "英文": "https://ssr.vuejs.org/", + "中文": "https://ssr.vuejs.org/zh/", + "Github": "https://github.com/vuejs/vue-ssr-docs" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "vue-class-component", + "desc": "用于类式Vue组件的ECMAScript / TypeScript装饰器。", + "url": "https://github.com/vuejs/vue-class-component", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "eslint-plugin-vue", + "desc": "Vue.js的官方ESLint插件", + "url": "https://eslint.vuejs.org/", + "urls": { + "Github": "https://github.com/vuejs/eslint-plugin-vue" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "vite", + "desc": "Vite是一个经过验证的Web开发人员构建工具,可在开发过程中通过本机ES模块导入为您的代码提供服务,并将其与Rollup捆绑在一起进行生产", + "url": "https://github.com/vitejs/vite", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "Vue 组合式 API", + "desc": "Vue 组合式 API在线文档阅读", + "url": "https://composition-api.vuejs.org/zh", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "PC端UI组件库", + "nav": [ + { + "icon": "https://avatars0.githubusercontent.com/u/20693613?s=200&v=4", + "name": "iView", + "desc": "一套基于 Vue.js 的高质量UI 组件库", + "url": "https://www.iviewui.com/docs/guide/install", + "urls": { + "英文": "https://www.iviewui.com/", + "中文": "https://www.iviewui.com/docs/guide/install", + "Github": "https://github.com/iview/iview" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/12810740?s=200&v=4", + "name": "Element", + "desc": "一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库", + "url": "http://element-cn.eleme.io/#/zh-CN", + "urls": { + "英文": "http://element-cn.eleme.io/#/en-US", + "中文": "http://element-cn.eleme.io/#/zh-CN", + "Github": "https://github.com/ElemeFE/element" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/12810740?s=200&v=4", + "name": "Element Plus", + "desc": "支持Vue3.0的Element", + "url": "https://element-plus.org/#/zh-CN", + "urls": { + "Github": "https://github.com/element-plus/element-plus" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/22283362?s=200&v=4", + "name": "Muse-UI", + "desc": "基于 Vue 2.0 优雅的 Material Design UI 组件库", + "url": "https://muse-ui.org/#/zh-CN", + "urls": { + "英文": "https://muse-ui.org/#/en-US/", + "中文": "https://muse-ui.org/#/zh-CN", + "Github": "https://github.com/museui/muse-ui" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://qn.antdv.com/favicon.ico", + "name": "Ant Design Vue", + "desc": "这里是 Ant Design 的 Vue 实现,开发和服务于企业级后台产品", + "url": "https://antdv.com/docs/vue/introduce-cn/", + "urls": { + "英文": "https://antdv.com/docs/vue/introduce/", + "中文": "https://antdv.com/docs/vue/introduce-cn/", + "Github": "https://github.com/vueComponent/ant-design-vue" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/22138497?s=200&v=4", + "name": "vuetify", + "desc": "让Vue和Material Design的强大力量在开发上助您一臂之力", + "url": "https://vuetifyjs.com/zh-Hans/", + "urls": { + "英文": "https://vuetifyjs.com/en/", + "中文": "https://vuetifyjs.com/zh-Hans/", + "Github": "https://github.com/vuetifyjs/vuetify" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/22965283?s=200&v=4", + "name": "bootstrap-vue", + "desc": "BootstrapVue为Vue.js提供了最全面的Bootstrap 4组件和网格系统实现之一,并提供了广泛的自动WAI-ARIA可访问性标记", + "url": "https://bootstrap-vue.js.org/", + "urls": { + "Github": "https://github.com/bootstrap-vue/bootstrap-vue" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/23659108?s=200&v=4", + "name": "vue-material", + "desc": "Vue material简单,轻巧,完全符合Google Material Design规范", + "url": "https://vuematerial.io", + "urls": { + "Github": "https://github.com/vuematerial/vue-material" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/26799900?s=200&v=4", + "name": "buefy", + "desc": "Buefy是一个基于Bulma框架和设计的Vue.js响应式UI组件的轻量级库。", + "url": "https://buefy.org", + "urls": { + "Github": "https://github.com/buefy/buefy" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "移动端UI组件库", + "nav": [ + { + "icon": "https://avatars2.githubusercontent.com/u/11404085?s=200&v=4", + "name": "vant", + "desc": "轻量、可靠的移动端 Vue 组件库", + "url": "https://youzan.github.io/vant/#/zh-CN/intro", + "urls": { + "英文": "https://youzan.github.io/vant/#/en-US/intro", + "中文": "https://youzan.github.io/vant/#/zh-CN/intro", + "Github": "https://github.com/youzan/vant" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "vux", + "desc": "一个凑合的 Vue.js 移动端 UI 组件库", + "url": "https://vux.li/", + "urls": { + "中文": "https://vux.li/", + "Github": "https://github.com/airyland/vux" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/27521938?s=200&v=4", + "name": "cube-ui", + "desc": "基于 Vue.js 实现的精致移动端组件库", + "url": "https://didi.github.io/cube-ui/#/zh-CN", + "urls": { + "英文": "https://didi.github.io/cube-ui/#/en-US", + "中文": "https://didi.github.io/cube-ui/#/zh-CN", + "Github": "https://github.com/didi/cube-ui" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/27521938?s=200&v=4", + "name": "Mand Mobile", + "desc": "面向金融场景的Vue移动端UI组件库,丰富、灵活、实用,快速搭建优质的金融类产品,让复杂的金融场景变简单", + "url": "https://didi.github.io/mand-mobile/#/zh-CN/home", + "urls": { + "英文": "https://didi.github.io/mand-mobile/#/en-US/home", + "中文": "https://didi.github.io/mand-mobile/#/zh-CN/home", + "Github": "https://github.com/didi/mand-mobile" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/12810740?s=200&v=4", + "name": "Mint UI", + "desc": "基于 Vue.js 的移动端组件库", + "url": "http://mint-ui.github.io/#!/zh-cn", + "urls": { + "英文": "http://mint-ui.github.io/#!/en", + "中文": "http://mint-ui.github.io/#!/zh-cn", + "Github": "https://github.com/ElemeFE/mint-ui/" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "NutUI", + "desc": "一套京东风格的轻量级移动端Vue组件库", + "url": "https://nutui.jd.com", + "urls": { + "Github": "https://github.com/jdf2e/nutui" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "其他组件/插件", + "nav": [ + { + "name": "vue-awesome-swiper", + "desc": "基于swiper封装的轮播图组件", + "url": "https://surmon-china.github.io/vue-awesome-swiper/", + "urls": { + "Github": "https://github.com/surmon-china/vue-awesome-swiper" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "vue-meta", + "desc": "管理Vue 2.0组件中的页面元信息。支持SSR + Streaming", + "url": "https://github.com/nuxt/vue-meta", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "vue-scroller", + "desc": "Vue Scroller是Vonic UI 的基础组件。为了平滑滚动,拉动刷新和无限加载。", + "url": "https://wangdahoo.github.io/vue-scroller/#/", + "urls": { + "Github": "https://github.com/wangdahoo/vue-scroller" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "vue-infinite-loading", + "desc": "Vue.js的无限滚动插件(支持向上和向下)", + "url": "https://peachscript.github.io/vue-infinite-loading/zh/", + "urls": { + "Github": "https://github.com//PeachScript/vue-infinite-loading" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "开箱即用", + "nav": [ + { + "name": "iview-admin", + "desc": "基于iView的Vue 2.0管理系统模板", + "url": "https://admin.iviewui.com/login", + "urls": { + "Github": "https://github.com/iview/iview-admin" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "nuxt服务端渲染框架", + "nav": [ + { + "icon": "https://avatars2.githubusercontent.com/u/23360933?s=200&v=4", + "name": "nuxt", + "desc": "Vue.js 通用应用框架", + "url": "https://zh.nuxtjs.org/", + "urls": { + "英文": "https://nuxtjs.org/", + "中文": "https://zh.nuxtjs.org/", + "Github": "https://github.com/nuxt/nuxt.js" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/23360933?s=200&v=4", + "name": "创建nuxt的脚手架工具", + "desc": "create-nuxt-app", + "url": "https://github.com/nuxt/create-nuxt-app", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "Angular", + "icon": "https://avatars0.githubusercontent.com/u/139426?s=200&v=4", + "nav": [ + { + "title": "生态系统", + "nav": [ + { + "name": "Angular", + "desc": "一个框架,移动 & 桌面", + "url": "https://www.angular.cn/", + "urls": { + "英文": "https://angular.io/", + "中文": "https://www.angular.cn/", + "Github": "https://github.com/angular/angular" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "angular-cli", + "desc": "用于Angular CLI脚手架工具", + "url": "https://cli.angular.io/", + "urls": { + "英文": "https://cli.angular.io/", + "Github": "https://github.com/angular/angular-cli" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "augury", + "desc": "Angular调试和可视化工具", + "url": "https://augury.angular.io/", + "urls": { + "英文": "https://augury.angular.io/", + "Github": "https://github.com/rangle/augury" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "PC端UI组件库", + "nav": [ + { + "icon": "https://avatars2.githubusercontent.com/u/30223759?s=200&v=4", + "name": "NG-ZORRO", + "desc": "基于Ant Design的Angular企业级UI组件", + "url": "http://ng.ant.design/docs/introduce/zh", + "urls": { + "英文": "http://ng.ant.design/docs/introduce/en", + "中文": "http://ng.ant.design/docs/introduce/zh", + "Github": "https://github.com/NG-ZORRO/ng-zorro-antd" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars3.githubusercontent.com/u/14283866?s=200&v=4", + "name": "ng-bootstrap", + "desc": "基于Bootstrap 4的Angular组件", + "url": "https://ng-bootstrap.github.io/#/components/accordion/examples", + "urls": { + "英文": "https://ng-bootstrap.github.io/#/components/accordion/examples", + "Github": "https://github.com/ng-bootstrap/ng-bootstrap" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/12810740?s=200&v=4", + "name": "element-angular", + "desc": "Element Angular组件库", + "url": "https://element-angular.faas.ele.me/guide/install", + "urls": { + "英文": "https://element-angular.faas.ele.me/", + "中文": "https://element-angular.faas.ele.me/guide/install", + "Github": "https://github.com/ElemeFE/element-angular" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/3494069?s=200&v=4", + "name": "primeng", + "desc": "PrimeNG是Angular的丰富UI组件的集合", + "url": "https://www.primefaces.org/primeng/#/button", + "urls": { + "Github": "https://github.com/primefaces/primeng" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "material", + "desc": "Material Design是一个统一的视觉,动作和交互设计系统的规范,适用于不同的设备。", + "url": "https://www.primefaces.org/primeng/#/button", + "urls": { + "Github": "https://github.com/angular/material" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "移动端UI组件库", + "nav": [ + { + "name": "material", + "desc": "Material Design是一个统一的视觉,动作和交互设计系统的规范,适用于不同的设备。", + "url": "https://www.primefaces.org/primeng/#/button", + "urls": { + "Github": "https://github.com/angular/material" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "微信开发", + "icon": "https://avatars0.githubusercontent.com/u/18461506?s=200&v=4", + "nav": [ + { + "title": "小程序文档", + "nav": [ + { + "name": "小程序开发", + "desc": "微信小程序", + "url": "https://developers.weixin.qq.com/miniprogram/dev/index.html", + "urls": { + "英文": "https://developers.weixin.qq.com/miniprogram/en/dev/index.html?t=18082922", + "中文": "https://developers.weixin.qq.com/miniprogram/dev/index.html" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "小游戏开发", + "desc": "微信小游戏", + "url": "https://developers.weixin.qq.com/minigame/dev/index.html?t=18082922", + "urls": { + "英文": "https://developers.weixin.qq.com/minigame/en/dev/index.html?t=18081820", + "中文": "https://developers.weixin.qq.com/minigame/dev/index.html?t=18082922" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "小程序框架", + "nav": [ + { + "name": "mpvue", + "desc": "Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心", + "url": "http://mpvue.com/", + "urls": { + "中文": "http://mpvue.com/", + "Github": "https://github.com/Meituan-Dianping/mpvue" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "wepy", + "desc": "官方小程序组件化开发框架", + "url": "https://tencent.github.io/wepy/", + "urls": { + "中文": "https://tencent.github.io/wepy/", + "Github": "https://github.com/Tencent/wepy" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/27521938?s=200&v=4", + "name": "mpx", + "desc": "Mpx是一款致力于提高小程序开发体验的增强型小程序框架(滴滴出品,基于vue)", + "url": "https://didi.github.io/mpx/", + "urls": { + "中文": "https://didi.github.io/mpx/", + "Github": "https://github.com/didi/mpx" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/5485517?s=200&v=4", + "name": "uni-app", + "desc": "uni-app 是使用 Vue 语法开发小程序、H5、App的统一框架", + "url": "https://uniapp.dcloud.io/", + "urls": { + "Github": "https://github.com/dcloudio/uni-app" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://tencent.github.io/omi/assets/omi-logo2019.svg", + "name": "omix", + "desc": "腾讯原生小程序框架 OMIX 2.0", + "url": "https://github.com/Tencent/omi/tree/master/packages/omix", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "小程序组件库/插件", + "nav": [ + { + "icon": "https://avatars2.githubusercontent.com/u/11404085?s=200&v=4", + "name": "vant-weapp", + "desc": "轻量、可靠的小程序 UI 组件库", + "url": "https://vant-contrib.gitee.io/vant-weapp/#/intro", + "urls": { + "Github": "https://github.com/youzan/vant-weapp" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/18461506?s=200&v=4", + "name": "weui-wxss", + "desc": "这是一套基于样式库weui-wxss开发的小程序扩展组件库,同微信原生视觉体验一致的UI组件库", + "url": "https://github.com/Tencent/weui-wxss/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "wxParse", + "desc": "wxParse-微信小程序富文本解析自定义组件,支持HTML及markdown解析", + "url": "https://github.com/icindy/wxParse", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "mpvue-wxParse", + "desc": "适用于 Mpvue 的微信小程序富文本解析自定义组件", + "url": "https://github.com/F-loat/mpvue-wxParse", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/2268460?s=200&v=4", + "name": "echarts-for-weixin", + "desc": "ECharts 的微信小程序版本", + "url": "https://github.com/ecomfe/echarts-for-weixin", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://lbs.qq.com/favicon.ico", + "name": "腾讯位置服务", + "desc": "微信小程序原生LBS能力的最佳拍档", + "url": "https://lbs.qq.com/qqmap_wx_jssdk/index.html", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "ColorUI", + "desc": "鲜亮的高饱和色彩,专注视觉的小程序组件库", + "url": "https://www.color-ui.com/", + "urls": { + "Github": "https://github.com/weilanwl/ColorUI" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "weapp-input-frame", + "desc": "验证码、支付密码输入框组件", + "url": "https://github.com/xjh22222228/weapp-input-frame", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "微信公众号开发辅助工具", + "nav": [ + { + "name": "JS接口签名校验工具", + "desc": "微信 JS 接口签名校验工具", + "url": "https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "接口调试工具", + "desc": "微信公众平台接口调试工具", + "url": "https://mp.weixin.qq.com/debug/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "computed", + "desc": "小程序自定义组件 computed / watch 扩展", + "url": "https://github.com/wechat-miniprogram/computed", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "资源", + "nav": [ + { + "name": "awesome-github-wechat-weapp", + "desc": "微信小程序开源项目库汇总", + "url": "https://github.com/opendigg/awesome-github-wechat-weapp", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "awesome-wechat-weapp", + "desc": "微信小程序开发资源汇总", + "url": "https://github.com/justjavac/awesome-wechat-weapp", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "其他", + "nav": [ + { + "name": "微信开放社区", + "desc": "小程序开发者专区,微信公众平台,微信开放社区,开发者专区", + "url": "https://developers.weixin.qq.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "wechat-format", + "desc": "微信公众号排版编辑器,转换 Markdown 到微信特制的 HTML", + "url": "https://lab.lyric.im/wxformat/", + "urls": { + "Github": "https://github.com/lyricat/wechat-format" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "微信开放平台", + "desc": "微信开放平台", + "url": "https://open.weixin.qq.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "工具", + "nav": [ + { + "title": "CSS", + "nav": [ + { + "name": "CSS3 UI Lib", + "desc": "CSS动画集成、在线调试阴影", + "url": "http://css3lib.alloyteam.com/#panel/demo1", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "CSS Sprites Generator", + "desc": "CSS雪碧图生成", + "url": "https://www.toptal.com/developers/css/sprite-generator", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "http://www.colorzilla.com/favicon.ico", + "name": "CSS渐变调试器", + "desc": "前端开发调试CSS渐变必备神器", + "url": "http://www.colorzilla.com/gradient-editor/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://animista.net/favicon.ico", + "name": "Animista", + "desc": "在线生成CSS动画", + "url": "http://animista.net/play/background/ken-burns", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://cssgradient.io/favicon.ico", + "name": "CSS Gradient", + "desc": "CSS渐变调试并生成CSS代码", + "url": "https://cssgradient.io/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.grabient.com/favicon.ico", + "name": "Grabient", + "desc": "CSS渐变调试并生成CSS代码,还可以角度变换", + "url": "https://www.grabient.com/", + "urls": { + "Github": "https://github.com/johnkorzhuk/grabient" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "http://pxtoem.com/favicon.ico", + "name": "px与em单位转换", + "desc": "px与em单位转换", + "url": "http://pxtoem.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "http://apps.eky.hk/css-triangle-generator/favicon.gif", + "name": "CSS三角形產生器", + "desc": "CSS三角形產生器 - 使用純CSS繪畫三角形", + "url": "http://apps.eky.hk/css-triangle-generator/zh-hant", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.sassmeister.com/favicon.ico", + "name": "SassMeister", + "desc": "将sass语法转换成CSS语法", + "url": "https://www.sassmeister.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://transfonter.org/favicon.ico", + "name": "transfonter", + "desc": "字体图标转换Base64", + "url": "https://transfonter.org/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "Loading集合", + "desc": "上千种Loading认你选", + "url": "https://www.xiejiahe.com/detail/59ec506be9b3310879551f5e", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://cssreference.io/favicons/favicon-32x32.png", + "name": "CSS Reference", + "desc": "css参考是一个免费的视觉指导css。它以最受欢迎的特性为特色,并用插图和动画示例对其进行说明", + "url": "https://cssreference.io/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.w3cschool.cn/favicon.ico", + "name": "在线CSS阴影调试", + "desc": "CSS3 Box Shadow(阴影)效果在线调试工具", + "url": "https://www.w3cschool.cn/tools/index?name=css3_boxshadow", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "JavaScript", + "icon": "https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png", + "nav": [ + { + "icon": "https://regexper.com/favicon.ico", + "name": "正则表达式验证器", + "desc": "验证JavaScript正则表达式", + "url": "https://regexper.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.json.cn/favicon.ico", + "name": "JSON在线解析及格式化验证", + "desc": "json在线解析,json格式化,json格式验证,json转xml,xml转json", + "url": "https://www.json.cn/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/25822731?s=200&v=4", + "name": "prettier", + "desc": "Prettier是一个固定的代码格式化程序。它通过解析代码并使用自己的规则重新打印它来强制执行一致的样式,这些规则考虑了最大行长度,并在必要时包装代码", + "url": "https://prettier.io/", + "urls": { + "Github": "https://github.com/prettier/prettier" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "正则表达式在线测试", + "desc": "正则表达式在线测试", + "url": "http://tool.chinaz.com/regex", + "icon": "https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "spy-debugger", + "desc": "微信调试,各种WebView样式调试、手机浏览器的页面真机调试。便捷的远程调试手机页面、抓包工具,支持:HTTP/HTTPS,无需USB连接设备", + "url": "https://github.com/wuchangming/spy-debugger", + "icon": "https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "VConsole", + "desc": "一个轻量、可拓展、针对手机网页的前端开发者调试面板", + "url": "https://github.com/Tencent/vConsole/", + "urls": { + "英文": "https://github.com/Tencent/vConsole", + "中文": "https://github.com/Tencent/vConsole/blob/dev/README_CN.md" + }, + "icon": "https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png", + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "CDN", + "nav": [ + { + "icon": "https://www.staticfile.org/assets/images/logo.png", + "name": "Staticfile CDN", + "desc": "免费CDN服务,包括 JavaScript、CSS、图片和 swf 等静态文件", + "url": "https://www.staticfile.org/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.jsdelivr.com/favicon.ico", + "name": "jsDelivr", + "desc": "jsDelivr – 开源 CDN", + "url": "https://www.jsdelivr.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.bootcdn.cn/assets/ico/favicon.ico", + "name": "BootCDN", + "desc": "稳定、快速、免费的前端开源项目 CDN 加速服务", + "url": "https://www.bootcdn.cn/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/637362?s=200&v=4", + "name": "cdnjs", + "desc": "面向Web开发人员的免费和开源公共Web CDN!", + "url": "https://cdnjs.com/", + "urls": { + "Github": "https://github.com/cdnjs/cdnjs" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "其他", + "nav": [ + { + "icon": "https://www.fundebug.com/favicon.ico", + "name": "FunDebug", + "desc": "支持前端JavaScript,后端Node.js以及微信小程序错误监控", + "url": "https://www.fundebug.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.caniuse.com/img/favicon-128.png", + "name": "前端兼容性查询", + "desc": "前端查询API各个厂商兼容性情况", + "url": "https://www.caniuse.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "http://browserhacks.com/assets/images/browserhacks.ico", + "name": "Browserhacks", + "desc": "Browserhacks是来自各个互联网的浏览器特定CSS和JavaScript hacks的广泛列表。", + "url": "http://browserhacks.com/", + "urls": { + "Github": "https://github.com/4ae9b8/browserhacks" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "Character Entity Reference Chart", + "desc": "字符实体参考图,>", + "url": "https://dev.w3.org/html5/html-author/charref", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "awesome-web-editor", + "desc": "开源web编辑器汇总列表", + "url": "https://github.com/xjh22222228/awesome-web-editor", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://jsfiddle.net/img/favicon.png", + "name": "jsfiddle", + "desc": "强大的前端代码在线演示的网站", + "url": "http://jsfiddle.net/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/11043997?s=200&v=4", + "name": "jsperf", + "desc": "jsPerf旨在提供一种简单的方法来创建和共享测试用例,通过运行基准测试来比较不同JavaScript代码段的性能", + "url": "https://jsperf.com/", + "urls": { + "Github": "https://github.com/jsperf/jsperf.com" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://codesandbox.io/favicon.ico", + "name": "codesandbox", + "desc": "codesandbox是为Web应用程序定制的在线编辑器。", + "url": "https://codesandbox.io", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://htmlreference.io/favicons/favicon-32x32.png", + "name": "HTML Reference", + "desc": "所有HTML元素和属性的免费指南参考", + "url": "https://htmlreference.io/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://static.jsbin.com/images/dave.min.svg", + "name": "jsbin", + "desc": "一个轻量级的html/css/js在线编辑器Debug调试器", + "url": "https://jsbin.com/juduyibeku/edit?html,css,js,console,output", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "http://www.jsfuck.com/favicon.ico", + "name": "jsfuck", + "desc": "JSFuck是基于JavaScript原子部分的深奥和教育性编程风格。它仅使用六个不同的字符来编写和执行代码。", + "url": "http://www.jsfuck.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "CSS", + "icon": "https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/css/css.png", + "nav": [ + { + "title": "CSS", + "nav": [ + { + "icon": "https://getbootstrap.com/docs/4.5/assets/img/favicons/favicon.ico", + "name": "Bootstrap", + "desc": "Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架", + "url": "http://getbootstrap.com/", + "urls": { + "英文": "http://getbootstrap.com/", + "中文": "http://www.bootcss.com/", + "Github": "https://github.com/twbs/bootstrap" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/317889?s=200&v=4", + "name": "Sass", + "desc": "Sass 是成熟、稳定、强大的 CSS 扩展语言", + "url": "http://sass-lang.com/", + "urls": { + "英文": "http://sass-lang.com/", + "中文": "http://sass.bootcss.com/", + "Github": "https://github.com/sass/sass" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/3538330?s=200&v=4", + "name": "Less", + "desc": "Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性", + "url": "http://lesscss.org/", + "urls": { + "英文": "http://lesscss.org/", + "中文": "http://lesscss.cn/", + "Github": "https://github.com/less/less.js" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "magic", + "desc": "CSS3动画特效", + "url": "https://minimamente.com/example/magic_animations/", + "urls": { + "Github": "https://github.com/miniMAC/magic" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars3.githubusercontent.com/u/64791939?s=200&v=4", + "name": "Animate.css", + "desc": "CSS动画的跨浏览器库,简单易用", + "url": "https://daneden.github.io/animate.css/", + "urls": { + "Github": "https://github.com/animate-css/animate.css" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "http://necolas.github.io/normalize.css/favicon.ico", + "name": "normalize.css", + "desc": "使浏览器更加一致地呈现所有元素并符合现代标准。它只针对需要规范化的样式", + "url": "http://necolas.github.io/normalize.css/", + "urls": { + "Github": "https://github.com/necolas/normalize.css" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "Hover", + "desc": "CSS3动力悬停效果的集合,适用于链接,按钮,徽标,SVG,特色图像等", + "url": "http://ianlunn.github.io/Hover/", + "urls": { + "Github": "https://github.com/IanLunn/Hover" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "github-markdown-css", + "desc": "复制GitHub Markdown样式的最小CSS量", + "url": "https://sindresorhus.com/github-markdown-css/", + "urls": { + "Github": "https://github.com/sindresorhus/github-markdown-css" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/8296347?s=200&v=4", + "name": "autoprefixer", + "desc": "Autoprefixer是一款自动管理浏览器前缀的插件,它可以解析CSS文件并且添加浏览器前缀到CSS内容里", + "url": "https://github.com/postcss/autoprefixer", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "http://vivify.mkcreative.cz/assets/img/apple-icon-57x57.png", + "name": "vivify", + "desc": "Vivify是免费的CSS动画库。", + "url": "http://vivify.mkcreative.cz/", + "urls": { + "Github": "https://github.com/Martz90/vivify" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "cubic-bezier", + "desc": "在线制作CSS动画", + "url": "https://cubic-bezier.com", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "图标库", + "nav": [ + { + "icon": "http://www.iconfont.cn/favicon.ico", + "name": "iconfont", + "desc": "阿里妈妈MUX倾力打造的矢量图标管理、交流平台", + "url": "http://www.iconfont.cn/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/1505683?s=200&v=4", + "name": "Font Awesome", + "desc": "一套绝佳的图标字体库和CSS框架", + "url": "https://fontawesome.com/", + "urls": { + "英文": "https://fontawesome.com/", + "中文": "http://www.fontawesome.com.cn/", + "Github": "https://github.com/FortAwesome/Font-Awesome" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://livicons.com/apple-icon-57x57.png", + "name": "LivIcons Evolution", + "desc": "会动的纯svg矢量图标库", + "url": "https://livicons.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/3171503?s=200&v=4", + "name": "ionicons", + "desc": "适用于Ionic Framework和Web应用程序的高级图标字体", + "url": "https://ionicons.com/", + "urls": { + "Github": "https://github.com/ionic-team/ionicons" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "material-design-icons", + "desc": "Google的Material Design图标", + "url": "https://material.io/tools/icons", + "urls": { + "Github": "https://github.com/google/material-design-icons" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "资源", + "nav": [ + { + "icon": "https://cssbattle.dev/images/logo-square.png", + "name": "css battle", + "desc": "在线比拼CSS", + "url": "https://cssbattle.dev/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "http://zh.learnlayout.com/images/logo.png", + "name": "学习CSS布局", + "desc": "学习CSS布局", + "url": "http://zh.learnlayout.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "TypeScript", + "icon": "https://www.typescriptlang.org/favicon-32x32.png", + "nav": [ + { + "title": "TypeScript", + "nav": [ + { + "name": "TypeScript", + "desc": "TypeScript 是一种由微软开发的自由和开源的编程语言,它是JavaScript的一个超集", + "url": "https://www.tslang.cn/index.html", + "urls": { + "英文": "http://www.typescriptlang.org/", + "中文": "https://www.tslang.cn/index.html", + "Github": "https://github.com/Microsoft/TypeScript" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "TypeSearch", + "desc": "搜索typescript 类型包 @types/node", + "url": "https://microsoft.github.io/TypeSearch/", + "urls": { + "Github": "https://github.com/Microsoft/TypeSearch" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "DefinitelyTyped", + "desc": "高质量TypeScript类型定义的存储库", + "url": "http://definitelytyped.org/", + "urls": { + "Github": "https://github.com/DefinitelyTyped/DefinitelyTyped" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/46634674?s=200&v=4", + "name": "typescript-eslint", + "desc": "Monorepo用于所有工具,使ESLint能够支持TypeScript", + "url": "https://github.com/typescript-eslint/typescript-eslint", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "awesome-typescript", + "desc": "用于客户端和服务器端开发的强大TypeScript资源的集合。在TypeScript中编写精彩的JavaScript", + "url": "https://github.com/dzharii/awesome-typescript", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "TypeScript 入门教程", + "desc": "TypeScript 入门教程", + "url": "https://ts.xcatliu.com/", + "urls": { + "Github": "https://github.com/xcatliu/typescript-tutorial" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "参考资料", + "icon": "https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png", + "nav": [ + { + "title": "书籍", + "nav": [ + { + "name": "JavaScript 20 年", + "desc": "JavaScript 20 年", + "url": "https://cn.history.js.org/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "你不知道的JavaScript", + "desc": "你不知道的JavaScript", + "url": "https://github.com/getify/You-Dont-Know-JS", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://zh.javascript.info/img/favicon/favicon.png", + "name": "现代 JavaScript 教程", + "desc": "以最新的 JavaScript 标准为基准。通过简单但足够详细的内容,为你讲解从基础到高阶的 JavaScript 相关知识", + "url": "https://zh.javascript.info/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "ECMAScript 6入门", + "desc": "ECMAScript 6入门", + "url": "http://es6.ruanyifeng.com/#README", + "urls": { + "Github": "https://github.com/ruanyf/es6tutorial/" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "JavaScript教程", + "desc": "JavaScript 标准参考教程", + "url": "https://wangdoc.com/javascript/basic/index.html", + "urls": { + "Github": "https://github.com/ruanyf/jstutorial" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "文档", + "nav": [ + { + "name": "JavaScript Puzzlers", + "desc": "你真的了解JavaScript吗?来试试吧!", + "url": "http://javascript-puzzlers.herokuapp.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/41361384?s=200&v=4", + "name": "InterviewMap", + "desc": "打造最好的面试图谱", + "url": "https://yuchengkai.cn/docs/zh/", + "urls": { + "英文": "https://yuchengkai.cn/docs/", + "中文": "https://yuchengkai.cn/docs/zh/", + "Github": "https://github.com/InterviewMap/CS-Interview-Knowledge-Map" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "飞冰早报", + "desc": "飞冰早报", + "url": "http://fe.jskou.com/ice", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "jsdoc", + "desc": "用于JavaScript的API文档生成器。", + "url": "http://www.css88.com/doc/jsdoc/index.html", + "urls": { + "英文": "http://usejsdoc.org/", + "中文": "http://www.css88.com/doc/jsdoc/index.html", + "Github": "https://github.com/jsdoc3/jsdoc" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars3.githubusercontent.com/u/43479428?s=200&v=4", + "name": "30 seconds of code", + "desc": "精选的有用JavaScript代码段集合,您可以在30秒或更短的时间内理解这些代码段。", + "url": "https://30secondsofcode.org/", + "urls": { + "Github": "https://github.com/30-seconds/30-seconds-of-code" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "33-js-concepts", + "desc": "JavaScript开发者应懂的33个概念", + "url": "https://github.com/stephentian/33-js-concepts", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/1725583?s=200&v=4", + "name": "ECMAScript Proposals", + "desc": "跟踪ECMAScript 提案", + "url": "https://tc39.github.io/process-document/", + "urls": { + "Github": "https://github.com/tc39/proposals" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/1725583?s=200&v=4", + "name": "ecma262", + "desc": "ECMA-262的状态,流程和文档", + "url": "https://tc39.es/ecma262/", + "urls": { + "Github": "https://github.com/tc39/ecma262" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://bonsaiden.github.io/JavaScript-Garden/favicon.ico?v=2", + "name": "JavaScript 秘密花园", + "desc": "JavaScript 语言最古怪用法的文档集合", + "url": "https://bonsaiden.github.io/JavaScript-Garden/zh/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "Airbnb JavaScript 编码规范", + "desc": "Airbnb JavaScript 编码规范", + "url": "https://github.com/yuche/javascript", + "urls": { + "英文": "https://github.com/airbnb/javascript", + "中文": "https://github.com/yuche/javascript" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "Daily-Interview-Question", + "desc": "工作日每天一道前端大厂面试题,祝大家天天进步,一年后会看到不一样的自己", + "url": "https://github.com/Advanced-Frontend/Daily-Interview-Question", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "javascript-algorithms", + "desc": "JavaScript 算法与数据结构", + "url": "https://github.com/trekhleb/javascript-algorithms", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/26534952?s=200&v=4", + "name": "weekly", + "desc": "前端精读周刊", + "url": "https://github.com/dt-fe/weekly", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "id": 0, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "Node.js", + "nav": [ + { + "title": "生态系统", + "icon": "https://nodejs.org/static/images/favicons/favicon.ico", + "nav": [ + { + "title": "官方", + "nav": [ + { + "name": "Node.js", + "desc": "Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时", + "url": "http://nodejs.cn", + "urls": { + "英文": "https://nodejs.org/en/", + "中文": "http://nodejs.cn", + "Github": "https://github.com/nodejs/node" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "npm1", + "desc": "npm是JavaScript世界的包管理工具,并且是 Node.js 平台的默认包管理工具", + "url": "https://www.npmjs.com/", + "urls": { + "英文": "https://www.npmjs.com/", + "中文": "https://www.npmjs.com.cn/", + "Github": "https://github.com/npm/cli" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "模块", + "nav": [ + { + "name": "urllib", + "desc": "在复杂的世界中请求HTTP(s)URL", + "url": "https://github.com/node-modules/urllib", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "formstream", + "desc": "multipart / form-data编码流,用于文件上传的帮助程序。", + "url": "https://github.com/node-modules/formstream", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "validate-npm-package-name", + "desc": "给我一个字符串,我会告诉你它是否是有效的npm软件包名称", + "url": "https://github.com/npm/validate-npm-package-name", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "其他", + "nav": [ + { + "icon": "https://classic.yarnpkg.com/favicon.ico", + "name": "Yarn", + "desc": "快速、可靠、安全的依赖管理", + "url": "https://yarnpkg.com/zh-Hans/", + "urls": { + "英文": "https://yarnpkg.com/en/", + "中文": "https://yarnpkg.com/zh-Hans/", + "Github": "https://github.com/yarnpkg/yarn" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "awesome-nodejs", + "desc": "Node.js软件包和资源", + "url": "https://github.com/sindresorhus/awesome-nodejs", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "nodebestpractices", + "desc": "最大的Node.js最佳实践列表", + "url": "https://github.com/goldbergyoni/nodebestpractices", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "CMS", + "nav": [ + { + "icon": "https://avatars0.githubusercontent.com/u/4449608?s=200&v=4", + "name": "NodeBB", + "desc": "基于Node.js的论坛软件,为现代网站", + "url": "https://nodebb.org/", + "urls": { + "Github": "https://github.com/NodeBB/NodeBB" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/2178663?s=200&v=4", + "name": "Ghost", + "desc": "Ghost 是基于 Node.js 构建的开源博客平台。Ghost 具有易用的书写界面和体验,博客内容默认采用 Markdown 语法书写。Ghost 的目标是取代臃肿的 Wordpress", + "url": "https://ghost.org/", + "urls": { + "Github": "https://github.com/TryGhost/Ghost" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "资料", + "nav": [ + { + "name": "nodebestpractices", + "desc": "Node.js 最佳实践, 最大的汇集,且每周都在增长 - 当前,超过50个最佳实现,样式指南,架构建议已经呈现", + "url": "https://github.com/goldbergyoni/nodebestpractices", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "依赖包", + "icon": "https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/javascript/javascript.png", + "nav": [ + { + "title": "网络请求", + "nav": [ + { + "name": "request", + "desc": "简化的HTTP请求客户端", + "url": "https://github.com/request/request", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "superagent", + "desc": "一个小型渐进式客户端HTTP请求库,Node.js模块具有相同的API,具有许多高级HTTP客户端功能", + "url": "http://visionmedia.github.io/superagent/", + "urls": { + "Github": "https://github.com/visionmedia/superagent" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "axios", + "desc": "基于Promise的HTTP客户端,用于浏览器和node.js", + "url": "https://github.com/axios/axios", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "node-fetch", + "desc": "一个轻量级的模块,将window.fetch带到Node.js", + "url": "https://github.com/node-fetch/node-fetch", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "bent", + "desc": "带有async await的功能性JS HTTP客户端(Node.js和Fetch)", + "url": "https://github.com/mikeal/bent", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "superagent-proxy", + "desc": "superagent代理扩展,这使您可以通过某种代理来代理HTTP请求", + "url": "https://github.com/TooTallNate/superagent-proxy", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "单元测试", + "nav": [ + { + "icon": "https://pptr.dev/favicons/apple-touch-icon.png", + "name": "Puppeteer", + "desc": "Puppeteer是一个Node库,它提供了一个高级API来通过DevTools协议控制Chromium或Chrome", + "url": "https://pptr.dev/", + "urls": { + "英文": "https://pptr.dev/", + "中文": "https://zhaoqize.github.io/puppeteer-api-zh_CN/", + "Github": "https://github.com/GoogleChrome/puppeteer" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/8908513?s=200&v=4", + "name": "cypress", + "desc": "对浏览器中运行的所有内容进行快速,轻松和可靠的测试,(类Puppeteer)", + "url": "https://www.cypress.io/", + "urls": { + "Github": "https://github.com/cypress-io/cypress" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/8770005?s=200&v=4", + "name": "Mocha", + "desc": "Node.js和浏览器的简单,灵活,有趣的JavaScript测试框架", + "url": "https://mochajs.org/", + "urls": { + "Github": "https://github.com/mochajs/mocha" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/1515293?s=200&v=4", + "name": "chai", + "desc": "node.js的BDD/TDD断言框架和可以与任何测试框架配对的浏览器", + "url": "http://www.chaijs.com/", + "urls": { + "Github": "https://github.com/chaijs/chai" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/8527916?s=200&v=4", + "name": "ava", + "desc": "未来的JavaScript测试运行器", + "url": "https://github.com/avajs/ava", + "urls": { + "中文": "https://github.com/avajs/ava-docs/blob/master/zh_CN/readme.md" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://jestjs.io/img/favicon/favicon.ico", + "name": "Jest", + "desc": "Jest是一个令人愉快的JavaScript测试框架,专注于简单性。", + "url": "https://jestjs.io/zh-Hans/", + "urls": { + "Github": "https://github.com/facebook/jest" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/4243232?s=200&v=4", + "name": "testcafe", + "desc": "一个Node.js工具,用于自动化端到端Web测试", + "url": "https://devexpress.github.io/testcafe/", + "urls": { + "Github": "https://github.com/DevExpress/testcafe" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/26206404?s=200&v=4", + "name": "jest-puppeteer", + "desc": "使用Jest&Puppeteer运行测试 🎪✨", + "url": "https://github.com/smooth-code/jest-puppeteer", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://kulshekhar.github.io/ts-jest/assets/img/logo.png", + "name": "ts-jest", + "desc": "具有对Jest的Sourcemap支持的TypeScript预处理器", + "url": "https://kulshekhar.github.io/ts-jest", + "urls": { + "Github": "https://github.com/kulshekhar/ts-jest" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/26206404?s=200&v=4", + "name": "jest-extended", + "desc": "扩展 jest 匹配器", + "url": "https://github.com/jest-community/jest-extended", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "数据库", + "nav": [ + { + "name": "node-mysql2", + "desc": "node.js的快速node-mysql兼容的mysql驱动程序", + "url": "https://github.com/sidorares/node-mysql2", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "sequelize", + "desc": "基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, SQLite 和 Microsoft SQL Server. 它具有强大的事务支持, 关联关系, 读取和复制等功能", + "url": "https://demopark.github.io/sequelize-docs-Zh-CN/", + "urls": { + "英文": "http://docs.sequelizejs.com/", + "中文": "https://demopark.github.io/sequelize-docs-Zh-CN/", + "Github": "https://github.com/sequelize/sequelize" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "mongoose", + "desc": "mongodb对象模型设计用于在异步环境中工作。", + "url": "http://www.mongoosejs.net/", + "urls": { + "英文": "http://mongoosejs.com/", + "中文": "http://www.mongoosejs.net/", + "Github": "https://github.com/Automattic/mongoose" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "ioredis", + "desc": "适用于Node.js,以性能为中心且功能齐全的Redis客户端。", + "url": "https://github.com/luin/ioredis", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "objection.js", + "desc": "Objection.js是Node.js的一个ORM ,它旨在避免使用SQL和底层数据库引擎的全部功能,同时尽可能简单地将magic保持在最低限度。", + "url": "http://vincit.github.io/objection.js/", + "urls": { + "Github": "https://github.com/Vincit/objection.js" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "nedb", + "desc": "JavaScript数据库,用于Node.js,nw.js,electron和浏览器", + "url": "https://github.com/louischatriot/nedb", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/20165699?s=200&v=4", + "name": "typeorm", + "desc": "ORM for TypeScript和JavaScript(ES7,ES6,ES5)。支持MySQL,PostgreSQL,MariaDB,SQLite,MS SQL Server,Oracle,WebSQL数据库。适用于NodeJS,浏览器,Ionic,Cordova和Electron平台", + "url": "http://typeorm.io", + "urls": { + "中文": "https://github.com/typeorm/typeorm/tree/master/docs/zh_CN", + "Github": "https://github.com/typeorm/typeorm" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/10490573?s=200&v=4", + "name": "knexjs", + "desc": "PostgreSQL,MySQL和SQLite3的查询构建器,旨在灵活,可移植且易于使用。", + "url": "http://knexjs.org", + "urls": { + "Github": "https://github.com/knex/knex" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/5845577?s=200&v=4", + "name": "node-redis", + "desc": "高性能Node.js Redis客户端。", + "url": "https://github.com/NodeRedis/node-redis", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "图形相关", + "nav": [ + { + "name": "node-canvas", + "desc": "node-canvas是Node.js的Cairo -backed Canvas实现。", + "url": "https://github.com/Automattic/node-canvas", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "svg-captcha", + "desc": "在node.js中生成svg验证码", + "url": "https://github.com/lemonce/svg-captcha", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "ccap", + "desc": "node.js使用C++库CImg生成验证码,无需安装任何其他库或软件", + "url": "https://github.com/DoubleSpout/ccap", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "text-to-svg", + "desc": "将文本转换为SVG路径而不依赖于本机", + "url": "https://github.com/shrhdk/text-to-svg", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "svg2png", + "desc": "使用PhantomJS将SVG转换为PNG", + "url": "https://github.com/domenic/svg2png", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "代理", + "nav": [ + { + "name": "node-http-proxy", + "desc": "一个HTTP可编程代理库,支持websocket。它适用于实现反向代理和负载平衡器等组件", + "url": "https://github.com/nodejitsu/node-http-proxy", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "http-proxy-middleware", + "desc": "用于连接,快速和浏览器同步的单线程node.js http-proxy中间件(基于node-http-proxy)", + "url": "https://github.com/chimurai/http-proxy-middleware", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "AST辅助工具", + "nav": [ + { + "name": "esprima", + "desc": "ECMAScript解析基础架构,可进行多用途分析, 将代码转换成AST", + "url": "https://esprima.org/", + "urls": { + "Github": "https://github.com/jquery/esprima" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "recast", + "desc": "JavaScript AST转换器,非破坏性漂亮打印机和自动源映射生成器", + "url": "https://github.com/benjamn/recast", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "文件相关", + "nav": [ + { + "name": "node-xlsx", + "desc": "NodeJS excel文件解析器和构建器", + "url": "https://github.com/mgcrea/node-xlsx", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "fs-extra", + "desc": "操作系统文件,用于替代内置的fs模块", + "url": "https://www.xiejiahe.com/detail/5b52fca1df53a14006035e1e", + "urls": { + "中文": "https://www.xiejiahe.com/detail/5b52fca1df53a14006035e1e", + "Github": "https://github.com/jprichardson/node-fs-extra" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/5826089?s=200&v=4", + "name": "js-xlsx", + "desc": "SheetJS社区版 - 电子表格工具包", + "url": "https://sheetjs.com/", + "urls": { + "Github": "https://github.com/SheetJS/js-xlsx" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://www.archiverjs.com/images/logo.svg", + "name": "node-archiver", + "desc": "文件压缩", + "url": "https://www.archiverjs.com/", + "urls": { + "Github": "https://github.com/archiverjs/node-archiver" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "微信开发", + "nav": [ + { + "name": "wechat-oauth", + "desc": "微信公共平台OAuth接口消息接口服务中间件与API SDK", + "url": "https://github.com/node-webot/wechat-oauth", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "wechat-api", + "desc": "微信公共平台API", + "url": "https://github.com/node-webot/wechat-api", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "wechat", + "desc": "微信公共平台消息接口服务中间件", + "url": "https://github.com/node-webot/wechat", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "wechaty", + "desc": "是适用于微信个人帐户的Bot SDK ,可以帮助您创建6行javascript的机器人", + "url": "https://chatie.io/wechaty/", + "urls": { + "Github": "https://github.com/Chatie/wechaty" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "CLI", + "nav": [ + { + "name": "Glob", + "desc": "匹配文件。 **/*.js", + "url": "https://github.com/isaacs/node-glob", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "prompts", + "desc": "轻巧,美观和用户友好的交互式提示", + "url": "https://github.com/terkelg/prompts", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars3.githubusercontent.com/u/21160645?s=200&v=4", + "name": "enquirer", + "desc": "时尚,直观和用户友好的提示", + "url": "https://github.com/enquirer/enquirer", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/887802?s=200&v=4", + "name": "cli-table3", + "desc": "带有Node.JS的CLI的漂亮unicode表", + "url": "https://github.com/cli-table/cli-table3", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "commander.js", + "desc": "node.js命令行界面的完整解决方案,受Ruby指挥官的启发", + "url": "https://github.com/tj/commander.js", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "ora", + "desc": "优雅的终端微调器", + "url": "https://github.com/sindresorhus/ora", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "Inquirer.js", + "desc": "常用交互式命令行用户界面的集合", + "url": "https://github.com/SBoudrias/Inquirer.js", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "shelljs", + "desc": "Node.js的可移植Unix shell命令", + "url": "https://documentup.com/shelljs/shelljs", + "urls": { + "Github": "https://github.com/shelljs/shelljs" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "download-git-repo", + "desc": "下载并提取git存储库(GitHub,GitLab,Bitbucket)", + "url": "https://github.com/flipxfx/download-git-repo", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/6078720?s=200&v=4", + "name": "node-semver", + "desc": "node的semver解析器", + "url": "https://github.com/npm/node-semver", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "node-progress", + "desc": "node.js的灵活ascii进度条", + "url": "https://github.com/visionmedia/node-progress", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "node-qrcode", + "desc": "二维码生成", + "url": "https://github.com/soldair/node-qrcode", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "open", + "desc": "打开URL,文件,可执行文件等内容。跨平台。", + "url": "https://github.com/sindresorhus/open", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "ssh2", + "desc": "用纯JavaScript编写的SSH2客户端和服务器模块,用于node.js", + "url": "https://github.com/mscdex/ssh2", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "minimist", + "desc": "解析参数选项", + "url": "https://github.com/substack/minimist", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "node-clear", + "desc": "清空终端屏幕信息", + "url": "https://github.com/bahamas10/node-clear", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/13122722?s=200&v=4", + "name": "chalk", + "desc": "终端字符串样式", + "url": "https://github.com/chalk/chalk", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars3.githubusercontent.com/u/16504989?s=200&v=4", + "name": "yargs", + "desc": "通过解析参数并生成优雅的用户界面来帮助您构建交互式命令行工具。", + "url": "https://github.com/yargs/yargs", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "模板引擎", + "nav": [ + { + "icon": "https://handlebarsjs.com/images/favicon.png", + "name": "handlebars", + "desc": "JavaScript模板引擎", + "url": "http://handlebarsjs.com/", + "urls": { + "Github": "https://github.com/wycats/handlebars.js" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://ejs.co/favicon.svg", + "name": "ejs", + "desc": "JavaScript模板引擎", + "url": "https://ejs.co/", + "urls": { + "Github": "https://github.com/mde/ejs" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://github.githubassets.com/favicons/favicon.svg", + "name": "mustache.js", + "desc": "使用JavaScript的无逻辑{{mustache}}模板", + "url": "https://github.com/janl/mustache.js", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "其他", + "nav": [ + { + "name": "node-xml2js", + "desc": "简单的XML到JavaScript对象转换器。它支持双向转换。使用sax-js和 xmlbuilder-js", + "url": "https://github.com/Leonidas-from-XIV/node-xml2js", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "iconv-lite", + "desc": "纯JavaScript中转换字符编码。", + "url": "https://github.com/ashtuchkin/iconv-lite", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "node-uuid", + "desc": "在JavaScript中生成符合RFC的UUID", + "url": "https://github.com/kelektiv/node-uuid", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "nativefier", + "desc": "使任何网页成为桌面应用程序", + "url": "https://github.com/jiahaog/nativefier", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "getmac", + "desc": "通过Node.js获取当前计算机的mac地址", + "url": "https://github.com/bevry/getmac", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "http-server", + "desc": "一个简单的零配置命令行http服务器", + "url": "https://github.com/indexzero/http-server", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "node-schedule", + "desc": "Node的类似cron-like和非not-cron-like的作业调度程序。", + "url": "https://github.com/node-schedule/node-schedule", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "qrcode-terminal", + "desc": "QRCode终端版", + "url": "https://github.com/gtanner/qrcode-terminal", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/13612933?s=200&v=4", + "name": "localtunnel", + "desc": "localtunnel将您的localhost暴露给世界,以便于测试和共享!无需混淆DNS或部署只是为了让其他人测试您的更改", + "url": "https://localtunnel.github.io/www/", + "urls": { + "Github": "https://github.com/localtunnel/localtunnel" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "http://www.passportjs.org/images/favicon/apple-icon-57x57.png", + "name": "passport", + "desc": "Node.js的简单,不显眼的身份验证", + "url": "http://www.passportjs.org/", + "urls": { + "Github": "https://github.com/jaredhanson/passport" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "parameter", + "desc": "参数验证工具", + "url": "https://github.com/node-modules/parameter", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "bytes", + "desc": "用于解析字符串字节, b/kb/mb/gb/tb/pb", + "url": "https://github.com/visionmedia/bytes.js", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/723678?s=200&v=4", + "name": "js-yaml", + "desc": "JavaScript YAML解析器和转储器。非常快", + "url": "https://nodeca.github.io/js-yaml/", + "urls": { + "Github": "https://github.com/nodeca/js-yaml" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/34631683?s=200&v=4", + "name": "acorn", + "desc": "一个小型,基于JavaScript的快速JavaScript解析器", + "url": "https://github.com/acornjs/acorn", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "figlet.js", + "desc": "用JavaScript编写的FIG驱动程序,旨在完全实现FIGfont规范, 生成ascii", + "url": "https://github.com/patorjk/figlet.js", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "node-printer", + "desc": "本机 node.js 打印机", + "url": "https://github.com/tojocky/node-printer", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "fontmin", + "desc": "无缝缩小字体", + "url": "https://github.com/ecomfe/fontmin", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/5658226?s=200&v=4", + "name": "morgan", + "desc": "Node.js的HTTP请求记录器中间件", + "url": "https://github.com/expressjs/morgan", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/9271229?s=200&v=4", + "name": "jsdom", + "desc": "与Node.js一起使用的各种Web标准的JavaScript实现", + "url": "https://github.com/jsdom/jsdom", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "跨平台框架", + "nav": [ + { + "title": "Electron", + "icon": "https://www.electronjs.org/images/favicon.ico", + "nav": [ + { + "name": "Electron", + "desc": "使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用", + "url": "https://electronjs.org/", + "urls": { + "Github": "https://github.com/electron/electron" + }, + "icon": "https://www.electronjs.org/images/favicon.ico", + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "electron-packager", + "desc": "通过JS或CLI自定义和封装您的Electron应用程序与特定于操作系统的软件包(.app,.exe等)", + "url": "https://github.com/electron-userland/electron-packager", + "icon": "https://www.electronjs.org/images/favicon.ico", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "electron-installer-dmg", + "desc": "使用AppDMG为电子应用程序创建DMG安装程序", + "url": "https://github.com/electron-userland/electron-installer-dmg", + "icon": "https://www.electronjs.org/images/favicon.ico", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://simulatedgreg.gitbooks.io/electron-vue/content/gitbook/images/apple-touch-icon-precomposed-152.png", + "name": "electron-vue", + "desc": "基于 vue (基本上是它听起来的样子) 来构造 electron 应用程序的样板代码。", + "url": "https://simulatedgreg.gitbooks.io/electron-vue/content/cn/", + "urls": { + "英文": "https://simulatedgreg.gitbooks.io/electron-vue/content/en/", + "中文": "https://simulatedgreg.gitbooks.io/electron-vue/content/cn/", + "Github": "https://github.com/SimulatedGREG/electron-vue" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://www.electron.build/assets/images/favicon.png", + "name": "electron-builder", + "desc": "一个开箱即用的完整解决方案,用于将Electron, Proton Native or Muon 打包、构建成支持macOS, Windows and Linux三大系统的,可”自动更新”的可发布安装程序", + "url": "https://www.electron.build/", + "urls": { + "Github": "https://github.com/electron-userland/electron-builder" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://electron-react-boilerplate.js.org/logo/logo.png", + "name": "electron-react-boilerplate", + "desc": "基于React可扩展跨平台应用程序的App", + "url": "https://electron-react-boilerplate.js.org/", + "urls": { + "Github": "https://github.com/electron-react-boilerplate/electron-react-boilerplate" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "menubar", + "desc": "Electron创建菜单栏桌面应用程序的高级方法。", + "url": "https://github.com/maxogden/menubar", + "icon": "https://www.electronjs.org/images/favicon.ico", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "nw.js", + "nav": [ + { + "icon": "https://nwjs.org.cn/asset/img/favicon.ico", + "name": "nw.js", + "desc": "从DOM/WebWorker层,直接调用所有的Node模块,使用现有的web技术,开启一个全新的编写应用的方式", + "url": "https://nwjs.org.cn/", + "urls": { + "英文": "https://nwjs.io/", + "中文": "https://nwjs.org.cn/", + "Github": "https://github.com/nwjs/nw.js" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://nwjs.org.cn/asset/img/favicon.ico", + "name": "nw-builder", + "desc": "以编程方式或通过CLI 构建适用于Mac,Win和Linux的NW.js应用程序。", + "url": "https://github.com/nwjs-community/nw-builder", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://nwjs.org.cn/asset/img/favicon.ico", + "name": "nwjs-ffmpeg-prebuilt", + "desc": "FFMpeg预构建的二进制文件具有专有的编解码器和构建窗口。", + "url": "https://github.com/iteufel/nwjs-ffmpeg-prebuilt", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "WEB框架", + "nav": [ + { + "title": "nest", + "nav": [ + { + "icon": "https://avatars1.githubusercontent.com/u/28507035?s=200&v=4", + "name": "nest", + "desc": "Nest 是一个用于构建高效,可扩展的 Node.js 服务器端应用程序的框架。它使用渐进式 JavaScript,内置并完全支持 TypeScript(但仍然允许开发人员使用纯 JavaScript 编写代码)并结合了 OOP(面向对象编程),FP(功能编程)和 FRP(功能反应编程)的元素", + "url": "https://docs.nestjs.cn/6/introduction", + "urls": { + "英文": "https://nestjs.com/", + "中文": "https://docs.nestjs.cn/6/introduction", + "Github": "https://github.com/nestjs/nest" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/28507035?s=200&v=4", + "name": "awesome-nestjs", + "desc": "NestJS的精选列表", + "url": "https://github.com/juliandavidmr/awesome-nestjs", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "egg.js", + "nav": [ + { + "icon": "https://eggjs.org/images/favicon.png", + "name": "Egg.js", + "desc": "Egg.js 为企业级框架和应用而生,我们希望由 Egg.js 孕育出更多上层框架,帮助开发团队和开发人员降低开发和维护成本", + "url": "https://eggjs.org/zh-cn/intro/index.html", + "urls": { + "英文": "https://eggjs.org", + "中文": "https://eggjs.org/zh-cn/intro/index.html", + "Github": "https://github.com/eggjs/egg/" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://eggjs.org/images/favicon.png", + "name": "egg-validate", + "desc": "基于 parameter 封装的参数验证插件", + "url": "https://github.com/eggjs/egg-validate", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://eggjs.org/images/favicon.png", + "name": "egg-mailer", + "desc": "基于 nodemailer 封装的参数验证插件", + "url": "https://github.com/xjh22222228/egg-mailer", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "Express/Koa", + "nav": [ + { + "icon": "https://avatars2.githubusercontent.com/u/5055057?s=200&v=4", + "name": "Koa", + "desc": "Koa -- 基于Node.js 平台的下一代web开发框架", + "url": "https://koa.bootcss.com/", + "urls": { + "英文": "https://koajs.com/", + "中文": "https://koa.bootcss.com/", + "Github": "https://github.com/koajs/koa" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/5658226?s=200&v=4", + "name": "Express", + "desc": "Express - 快速、开放、极简的 Web 开发框架", + "url": "http://expressjs.jser.us/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "辅助工具", + "icon": "https://nodejs.org/static/images/favicons/favicon.ico", + "nav": [ + { + "title": "调试debugger", + "nav": [ + { + "name": "node-inspector", + "desc": "Node.js调试器基于Blink Developer Tools", + "url": "https://github.com/node-inspector/node-inspector", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "debug", + "desc": "一个微小的JavaScript调试工具,以Node.js核心的调试技术为模型。适用于Node.js和Web浏览器", + "url": "https://github.com/visionmedia/debug", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "ndb", + "desc": "ndb是针对Node.js的改进调试体验,由Chrome DevTools启用", + "url": "https://github.com/GoogleChromeLabs/ndb", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "node版本管理", + "nav": [ + { + "name": "nvm", + "desc": "Node版本管理器 - 用于管理多个活动node.js版本的简单bash脚本", + "url": "https://github.com/creationix/nvm", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "nvm-windows", + "desc": "适用于Windows的node.js版本管理实用程序", + "url": "https://github.com/coreybutler/nvm-windows", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "nvs", + "desc": "Node Version Switcher - 用于在Node.js的版本和分支之间切换的跨平台工具(受到nvm的启发)", + "url": "https://github.com/jasongin/nvs", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "n", + "desc": "Node.js版本管理:无配置文件,无复杂的API,非常简单", + "url": "https://github.com/tj/n", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "日志管理", + "nav": [ + { + "name": "log4js-node", + "desc": "log4js 是一个 nodejs 日志管理工具,可以将日志以各种形式输出到各种渠道。", + "url": "https://log4js-node.github.io/log4js-node/index.html", + "urls": { + "Github": "https://github.com/log4js-node/log4js-node" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "node-bunyan", + "desc": "用于node.js服务的简单快速的JSON日志记录模块", + "url": "https://github.com/trentm/node-bunyan", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "集成工具", + "nav": [ + { + "icon": "https://avatars0.githubusercontent.com/u/1714870?s=200&v=4", + "name": "yeoman", + "desc": "一套用于自动化开发工作流程的工具", + "url": "https://yeoman.io/", + "urls": { + "Github": "https://github.com/yeoman/yeoman" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/16486629?s=200&v=4", + "name": "nodemailer", + "desc": "发送来自Node.js的电子邮件 - 很容易就像蛋糕一样!", + "url": "http://nodemailer.com/", + "urls": { + "Github": "https://github.com/nodemailer/nodemailer" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "gh-pages", + "desc": "将文件发布到GitHub上的gh-pages分支的常规任务", + "url": "https://github.com/tschaub/gh-pages", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "代码压缩", + "nav": [ + { + "icon": "https://avatars1.githubusercontent.com/u/43502240?s=200&v=4", + "name": "terser", + "desc": "适用于ES6+的JavaScript解析器,mangler和压缩器工具包", + "url": "https://terser.org/", + "urls": { + "Github": "https://github.com/terser/terser" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "其他", + "nav": [ + { + "name": "Awehunt", + "desc": "npm包下载量曲线对比图", + "url": "https://awehunt.com/npmdownloads?ids=react,angular,vue", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "nodemon", + "desc": "监视node.js应用程序中的任何更改并自动重新启动服务器 - 非常适合开发", + "url": "https://nodemon.io/", + "urls": { + "Github": "https://github.com/remy/nodemon" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "pkg", + "desc": "将Node.js项目打包成可执行文件", + "url": "https://github.com/zeit/pkg", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "npm-check-updates", + "desc": "查找package.json或bower.json允许的更新版本的软件包依赖项", + "url": "https://github.com/tjunnone/npm-check-updates", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "husky", + "desc": "husky 可以防止错误的 git commit, git push 等", + "url": "https://github.com/typicode/husky", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "bundlephobia", + "desc": "找出在项目中添加新的依赖项的包大小", + "url": "https://bundlephobia.com", + "urls": { + "Github": "https://github.com/pastelsky/bundlephobia" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "npm-run-all", + "desc": "一个CLI工具,可并行或顺序运行多个npm脚本", + "url": "https://github.com/mysticatea/npm-run-all", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "dotenv", + "desc": "从.env加载用于nodejs项目的环境变量", + "url": "https://github.com/motdotla/dotenv#readme", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "cross-env", + "desc": "运行跨平台设置和使用环境变量的脚本", + "url": "https://github.com/kentcdodds/cross-env", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "nrm", + "desc": "npm源快速切换, npm, cnpm, taobao, nj, 内网", + "url": "https://github.com/Pana/nrm", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "Deno", + "nav": [ + { + "title": "官方", + "icon": "https://avatars1.githubusercontent.com/u/42048915?s=200&v=4", + "nav": [ + { + "name": "Deno", + "desc": "一个安全的运行时的JavaScript和TypeScript", + "url": "https://deno.land/", + "urls": { + "Github": "https://github.com/denoland" + }, + "icon": "https://avatars1.githubusercontent.com/u/42048915?s=200&v=4", + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "Deno 标准库", + "desc": "Deno 标准库", + "url": "https://deno.land/std", + "icon": "https://avatars1.githubusercontent.com/u/42048915?s=200&v=4", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "工具", + "icon": "https://avatars1.githubusercontent.com/u/42048915?s=200&v=4", + "nav": [ + { + "name": "Deno", + "desc": "适用于Deno的Visual Studio Code插件", + "url": "https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno", + "urls": { + "Github": "https://github.com/denoland/vscode_deno" + }, + "icon": "https://avatars1.githubusercontent.com/u/42048915?s=200&v=4", + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "id": 0, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "Golang", + "nav": [ + { + "title": "生态系统", + "icon": "https://avatars1.githubusercontent.com/u/4314092?s=200&v=4", + "nav": [ + { + "title": "生态", + "nav": [ + { + "name": "Golang", + "desc": "Go编程语言", + "url": "https://go-zh.org/", + "urls": { + "英文": "https://golang.org/", + "中文": "https://go-zh.org/", + "Github": "https://github.com/golang/go" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "go.dev", + "desc": "大规模构建快速,可靠,高效的软件", + "url": "https://go.dev/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "awesome-go", + "desc": "精选的Go框架,库和软件的精选列表", + "url": "https://github.com/jobbole/awesome-go-cn", + "urls": { + "英文": "https://github.com/avelino/awesome-Go", + "中文": "https://github.com/jobbole/awesome-go-cn" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/49926011?s=200&v=4", + "name": "Goproxy", + "desc": "中国最可靠的 Go 模块代理", + "url": "https://goproxy.cn/", + "urls": { + "Github": "https://github.com/goproxy/goproxy.cn" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://static.studygolang.com/static/img/favicon.ico", + "name": "Go语言中文网", + "desc": "Go语言中文网", + "url": "https://studygolang.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://studygolang.com/static/img/go.ico", + "name": "Go标准库中文文档", + "desc": "Go标准库中文文档", + "url": "https://studygolang.com/pkgdoc", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "WEB框架", + "nav": [ + { + "name": "gin", + "desc": "Gin是用Go(Golang)编写的Web框架。它具有类似于martini的API,其性能比httprouter快40倍。如果您需要性能和良好的生产率,您会喜欢Gin", + "url": "https://learnku.com/docs/gin-gonic/2019/go-gin-document", + "urls": { + "英文": "https://gin-gonic.com/", + "中文": "https://learnku.com/docs/gin-gonic/2019/go-gin-document", + "Github": "https://github.com/gin-gonic/gin" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "beego", + "desc": "beego是用于Go编程语言的开源,高性能Web框架", + "url": "http://beego.me", + "urls": { + "英文": "http://beego.me", + "Github": "https://github.com/astaxie/beego" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "martini", + "desc": "Go的经典Web框架", + "url": "http://martini.codegangsta.io", + "urls": { + "英文": "http://martini.codegangsta.io", + "Github": "https://github.com/go-martini/martini" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/2624634?s=200&v=4", + "name": "echo", + "desc": "高性能,简约的Go Web框架", + "url": "https://echo.labstack.com", + "urls": { + "英文": "https://echo.labstack.com", + "Github": "https://github.com/labstack/echo" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://www.iris-go.com/favicon.ico", + "name": "iris", + "desc": "最快的HTTP / 2 Go Web框架。AWS Lambda,gRPC,MVC,唯一路由器,Websocket,会话,测试套件,依赖注入等。expressjs和laravel的真正继承者|", + "url": "https://www.iris-go.com/", + "urls": { + "Github": "https://github.com/kataras/iris" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/59947262?s=200&v=4", + "name": "fiber", + "desc": "Fiber是一个受Express启发的Web框架,建立在Fasthttp(Go最快的HTTP引擎)的基础上。 旨在简化零内存分配和性能的情况,以便快速开发。", + "url": "https://gofiber.io/", + "urls": { + "Github": "https://github.com/gofiber/fiber" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "依赖包", + "icon": "https://avatars1.githubusercontent.com/u/4314092?s=200&v=4", + "nav": [ + { + "title": "GUI", + "nav": [ + { + "icon": "https://avatars3.githubusercontent.com/u/36045855?s=200&v=4", + "name": "Fyne", + "desc": "基于Material Design的Go跨平台GUI", + "url": "https://fyne.io/", + "urls": { + "Github": "https://github.com/fyne-io/fyne" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "日志模块", + "nav": [ + { + "name": "logrus", + "desc": "Go的结构化,可插入日志记录。", + "url": "https://github.com/sirupsen/logrus", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars3.githubusercontent.com/u/19262598?s=200&v=4", + "name": "zap", + "desc": "在Go中实现快速,结构化,水平的日志记录。", + "url": "https://github.com/uber-go/zap", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "数据库", + "nav": [ + { + "name": "gorm", + "desc": "适用于Golang的绝佳ORM库,旨在对开发人员友好", + "url": "https://gorm.io/zh_CN/", + "urls": { + "英文": "https://gorm.io/", + "中文": "https://gorm.io/zh_CN/", + "Github": "https://github.com/go-gorm/gorm" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://entgo.io/img/favicon.ico", + "name": "ent", + "desc": "用于Go的简单但功能强大的实体框架,可轻松构建和维护具有大型数据模型的应用程序。", + "url": "https://entgo.io/", + "urls": { + "Github": "https://github.com/facebook/ent" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "mysql", + "desc": "Go MySQL驱动程序是Go(golang)数据库/ sql包的MySQL驱动程序", + "url": "https://github.com/go-sql-driver/mysql", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "sqlite3", + "desc": "sqlite3驱动程序", + "url": "https://github.com/mattn/go-sqlite3", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "pq", + "desc": "适用于database/sql的Pure Go Postgres驱动程序", + "url": "https://github.com/lib/pq", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://redis.uptrace.dev/assets/images/favicon.png", + "name": "redis", + "desc": "用于Golang的类型安全的Redis客户端", + "url": "https://redis.uptrace.dev/", + "urls": { + "Github": "https://github.com/go-redis/redis" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "解析器", + "nav": [ + { + "name": "json-iterator", + "desc": "高性能100%兼容的“ encoding / json”替代产品", + "url": "http://jsoniter.com/migrate-from-go-std.html", + "urls": { + "Github": "https://github.com/json-iterator/go" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "blackfriday", + "desc": "Markdown处理器,安全、快速。", + "url": "https://github.com/russross/blackfriday", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "goldmark", + "desc": "用Go语言编写的markdown解析器。易于扩展,符合标准(CommonMark),结构合理。", + "url": "https://github.com/yuin/goldmark", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "goquery", + "desc": "接近jQuery语法的DOM解析库", + "url": "https://github.com/PuerkitoBio/goquery", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "go-yaml", + "desc": "yaml包使Go程序能够轻松地对yaml值进行编码和解码, 可以快速可靠地解析和生成YAML数据。", + "url": "https://github.com/go-yaml/yaml/tree/v3", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "xurls", + "desc": "从文本中提取Urls", + "url": "https://github.com/mvdan/xurls", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "参数验证", + "nav": [ + { + "name": "govalidator", + "desc": "参数验证程序,用于字符串,数字,切片和结构", + "url": "https://github.com/asaskevich/govalidator", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "validator", + "desc": "基于标签对结构和各个字段实现值验证。", + "url": "https://github.com/go-playground/validator", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "其他", + "nav": [ + { + "name": "ip", + "desc": "获取公网IP地址、v4/v6", + "url": "https://github.com/xjh22222228/ip", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "terminal", + "desc": "提供了用于处理终端的支持功能,这在UNIX系统上很常见", + "url": "https://godoc.org/golang.org/x/crypto/ssh/terminal", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "gopsutil", + "desc": "用于检索正在运行的进程和系统利用率(CPU,内存,磁盘,网络,传感器)的信息。它主要用于系统监视,概要分析和限制进程资源以及管理正在运行的进程", + "url": "https://github.com/shirou/gopsutil", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "air", + "desc": "Go热重载", + "url": "https://github.com/cosmtrek/air", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "go-micro", + "desc": "分布式系统开发框架", + "url": "https://go-micro.dev", + "urls": { + "Github": "https://github.com/micro/go-micro" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "xlsx", + "desc": "xlsx是一个库,用于简化在Go程序中读写Microsoft Excel最新版本使用的XML格式。", + "url": "https://github.com/tealeg/xlsx", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "email", + "desc": "Go强大而灵活的电子邮件库。", + "url": "https://github.com/jordan-wright/email", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "websocket", + "desc": "Go的一种快速,经过测试且广泛使用的WebSocket实现", + "url": "https://github.com/gorilla/websocket", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "jwt-go", + "desc": "Golang 实现的 JSON WEB TOKEN", + "url": "https://github.com/dgrijalva/jwt-go", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "cron", + "desc": "Go 实现的 cron 包", + "url": "https://github.com/robfig/cron", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "qrcode", + "desc": "二维码生成", + "url": "https://github.com/skip2/go-qrcode", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars3.githubusercontent.com/u/27810343?s=200&v=4", + "name": "casbin", + "desc": "权限管理库,支持Golang中的访问控制模型,如ACL,RBAC,ABAC", + "url": "https://casbin.org/zh-CN/", + "urls": { + "Github": "https://github.com/casbin/casbin" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "resty", + "desc": "用于Go的简单HTTP和REST客户端库", + "url": "https://github.com/go-resty/resty", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://grpc.io/favicons/apple-touch-icon.png", + "name": "grpc-go", + "desc": "gRPC的Go语言实现。基于HTTP/2的RPC", + "url": "https://grpc.io/", + "urls": { + "Github": "https://github.com/grpc/grpc-go" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/33584194?s=200&v=4", + "name": "colly", + "desc": "Colly提供了一个干净的界面来编写任何种类的爬虫", + "url": "http://go-colly.org/", + "urls": { + "Github": "https://github.com/gocolly/colly" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "cors", + "desc": "使用net / http可配置的处理程序来处理CORS请求", + "url": "https://github.com/rs/cors", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "CLI", + "icon": "https://avatars1.githubusercontent.com/u/4314092?s=200&v=4", + "nav": [ + { + "title": "终端颜色", + "nav": [ + { + "name": "color", + "desc": "CLI 控制台颜色渲染工具库, 支持Windows", + "url": "https://github.com/fatih/color", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "命令行解析", + "nav": [ + { + "name": "cli", + "desc": "一个简单,快速且有趣的软件包,用于在Go中构建命令行应用", + "url": "https://github.com/urfave/cli/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "cobra", + "desc": "Cobra既是用于创建功能强大的现代CLI应用程序的库,又是用于生成应用程序和命令文件的程序", + "url": "https://github.com/spf13/cobra", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "控制台进度条", + "nav": [ + { + "name": "pb", + "desc": "Golang的控制台进度栏", + "url": "https://github.com/cheggaaa/pb", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "mpb", + "desc": "Go cli应用程序的多进度条", + "url": "https://github.com/vbauerster/mpb", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "其他", + "nav": [ + { + "name": "promptui", + "desc": "命令行应用程序的交互式提示", + "url": "https://github.com/manifoldco/promptui", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "godotenv", + "desc": "从`.env`文件加载环境变量。", + "url": "https://github.com/joho/godotenv", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "go-prompt", + "desc": "受python-prompt-toolkit启发,在Go中构建强大的交互式提示。", + "url": "https://github.com/c-bata/go-prompt", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "工具", + "nav": [ + { + "title": "工具", + "nav": [ + { + "icon": "https://avatars1.githubusercontent.com/u/4314092?s=200&v=4", + "name": "gvm", + "desc": "Go版本管理器,类似 nvm", + "url": "https://github.com/moovweb/gvm", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/4314092?s=200&v=4", + "name": "json-to-go", + "desc": "在线 JSON 转 Struct结构体", + "url": "https://mholt.github.io/json-to-go/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars3.githubusercontent.com/u/35628013?s=200&v=4", + "name": "golangci-lint", + "desc": "Go的快速Linters Runner", + "url": "https://github.com/golangci/golangci-lint", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://play.golang.org/favicon.ico", + "name": "The Go Playground", + "desc": "在线运行Golang", + "url": "https://play.golang.org/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://nuclei.projectdiscovery.io/", + "name": "nuclei", + "desc": "Nuclei是基于模板的可配置目标扫描的快速工具,具有广泛的可扩展性和易用性。", + "url": "https://play.golang.org/", + "urls": { + "Github": "https://github.com/projectdiscovery/nuclei" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars3.githubusercontent.com/u/35628013?s=200&v=4", + "name": "jaeger", + "desc": "分布式链路追踪", + "url": "https://www.jaegertracing.io/", + "urls": { + "Github": "https://github.com/jaegertracing/jaeger" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/19232073?s=200&v=4", + "name": "delve", + "desc": "Delve是Go编程语言的调试器。", + "url": "https://github.com/go-delve/delve", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "参考资料", + "nav": [ + { + "title": "书籍", + "nav": [ + { + "icon": "https://avatars1.githubusercontent.com/u/4314092?s=200&v=4", + "name": "Go 入门指南", + "desc": "《The Way to Go》中文译本,中文正式名《Go 入门指南》", + "url": "https://github.com/unknwon/the-way-to-go_ZH_CN/blob/master/eBook/directory.md", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/4314092?s=200&v=4", + "name": "Go语言圣经", + "desc": "Go语言圣经 《The Go Programming Language》 中文版本", + "url": "https://yar999.gitbook.io/gopl-zh/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/4314092?s=200&v=4", + "name": "Go WEB 编程", + "desc": "Golang电子书介绍如何使用Golang建立网络", + "url": "https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/preface.md", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/4314092?s=200&v=4", + "name": "Go简易教程", + "desc": "《The Little Go Book》中文译本,中文正式名《Go简易教程》", + "url": "https://github.com/songleo/the-little-go-book_ZH_CN", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/4314092?s=200&v=4", + "name": "Go by Example 中文版", + "desc": "Go by Example 是对 Go 基于实践的介绍,包含一系列带有注释说明的示例程序。", + "url": "https://gobyexample-cn.github.io/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/4314092?s=200&v=4", + "name": "Go语言之旅", + "desc": "本指南涵盖了该语言的大部分重要特性,主要包括:基础、方法和接口、并发等", + "url": "https://tour.go-zh.org/welcome/1", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/4314092?s=200&v=4", + "name": "Go语言101", + "desc": "一本着墨于Go语法语义以及运行时相关知识点的编程指导书(Go 1.15就绪)。 此书旨在尽可能地帮助Go程序员更深更全面地理解Go语言", + "url": "https://gfw.go101.org/article/101.html", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/4314092?s=200&v=4", + "name": "Go语言高级编程", + "desc": "本书涵盖CGO、Go汇编语言、RPC实现、Web框架实现、分布式系统等高阶主题,针对Go语言有一定经验想深入了解Go语言各种高级用法的开发人员(不推荐新手)", + "url": "https://chai2010.cn/advanced-go-programming-book/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/4314092?s=200&v=4", + "name": "Mastering GO", + "desc": "《Mastering GO》中文译本,《玩转 GO》。", + "url": "https://github.com/hantmac/Mastering_Go_ZH_CN", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/4314092?s=200&v=4", + "name": "Mastering GO2", + "desc": "Mastering Go 第二版中文版来袭!", + "url": "https://github.com/hantmac/Mastering_Go_Second_Edition_Zh_CN", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "其他", + "nav": [ + { + "icon": "https://avatars1.githubusercontent.com/u/4314092?s=200&v=4", + "name": "100天从新手到大师", + "desc": "Golang - 100天从新手到大师", + "url": "https://www.qfgolang.com/", + "urls": { + "Github": "https://github.com/rubyhan1314/Golang-100-Days" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/4314092?s=200&v=4", + "name": "project-layout", + "desc": "Go标准布局结构,项目架构结构参考。", + "url": "https://github.com/golang-standards/project-layout/blob/master/README_zh.md", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/4314092?s=200&v=4", + "name": "编码规范", + "desc": "Uber Go 语言编码规范", + "url": "https://github.com/xxjwxc/uber_go_guide_cn", + "urls": { + "英文": "https://github.com/uber-go/guide/blob/master/style.md", + "中文": "https://github.com/xxjwxc/uber_go_guide_cn" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/4314092?s=200&v=4", + "name": "Gin实战", + "desc": "WEB 框架Gin实战", + "url": "https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzI3MjU4Njk3Ng==&action=getalbum&album_id=1362784031968149504&scene=173#wechat_redirect", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "Flutter", + "nav": [ + { + "title": "生态系统", + "nav": [ + { + "title": "官方", + "nav": [ + { + "icon": "https://pub.dev/favicon.ico", + "name": "Dart", + "desc": "Dart语言", + "url": "http://www.dartdoc.cn/", + "urls": { + "英文": "https://dart.dev/", + "中文": "http://www.dartdoc.cn/", + "Github": "https://github.com/dart-lang/sdk" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://pub.dev/favicon.ico", + "name": "DartPad", + "desc": "在线运行Dart语法", + "url": "https://dartpad.cn/embed-inline.html?id=7a9764702c0608711e08&split=90", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://pub.dev/favicon.ico", + "name": "Dart packages", + "desc": "Dart packages", + "url": "https://pub.dev/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://flutter.dev/images/favicon.png", + "name": "Flutter", + "desc": "Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的", + "url": "https://flutterchina.club/", + "urls": { + "英文": "https://flutter.dev/", + "中文": "https://flutterchina.club/", + "Github": "https://github.com/flutter/flutter" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://flutter.dev/images/favicon.png", + "name": "Flutter Icon", + "desc": "Flutter内置Icon组件图标速查表", + "url": "https://material.io/resources/icons/?style=baseline", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "常用模块", + "nav": [ + { + "icon": "https://avatars1.githubusercontent.com/u/2605412?s=200&v=4", + "name": "imei_plugin", + "desc": "用flutter在Android中获取imei的插件", + "url": "https://github.com/kevincaicedo/imei_plugin", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/2605412?s=200&v=4", + "name": "multi_image_picker", + "desc": "Flutter插件,可让您在iOS和Android上显示多图像选择器。", + "url": "https://github.com/Sh1d0w/multi_image_picker", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/2605412?s=200&v=4", + "name": "sqflite", + "desc": "SQLite flutter plugin", + "url": "https://github.com/tekartik/sqflite", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://flutter.dev/images/favicon.png", + "name": "dio", + "desc": "dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时、自定义适配器等", + "url": "https://github.com/flutterchina/dio", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://camo.githubusercontent.com/a53c432bb9c2222880a6eca54b5ed091d1ab3d40/68747470733a2f2f696d672e616c6963646e2e636f6d2f7466732f5442317237344e4a794c614b31526a535a46785858616d504658612d313032342d313032342e706e67", + "name": "fish-redux", + "desc": "一个基于Redux状态管理的组合式flutter应用程序框架。它适用于建筑中型和大型应用。", + "url": "https://github.com/alibaba/fish-redux", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://flutter.dev/images/favicon.png", + "name": "flutter_pulltorefresh", + "desc": "一个提供上拉加载和下拉刷新的组件,同时支持Android和Ios", + "url": "https://github.com/peng8350/flutter_pulltorefresh", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://flutter.dev/images/favicon.png", + "name": "json_serializable", + "desc": "JSON序列化和反序列化的代码", + "url": "https://github.com/dart-lang/json_serializable", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://flutter.dev/images/favicon.png", + "name": "flutter_swiper", + "desc": "flutter最强大的siwiper, 多种布局方式,无限轮播,Android和IOS双端适配", + "url": "https://github.com/best-flutter/flutter_swiper/blob/master/README-ZH.md", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://flutter.dev/images/favicon.png", + "name": "FlutterToast", + "desc": "适用于Flutter的Android Toast插件", + "url": "https://github.com/PonnamKarthik/FlutterToast", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://flutter.dev/images/favicon.png", + "name": "dart-uuid", + "desc": "生成 RFC4122(v1,v4,v5) UUIDs", + "url": "https://github.com/Daegalus/dart-uuid", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://flutter.dev/images/favicon.png", + "name": "fluwx", + "desc": "Flutter版微信SDK.WeChat SDK for flutter.", + "url": "https://github.com/OpenFlutter/fluwx", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "文档资料", + "nav": [ + { + "icon": "https://flutter.dev/images/favicon.png", + "name": "Material Design", + "desc": "Material是一个由开源代码支持的设计系统,可以帮助团队构建高质量的数字体验", + "url": "https://material.io/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://flutter.dev/images/favicon.png", + "name": "Flutter实战", + "desc": "Flutter实战", + "url": "https://book.flutterchina.club/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://flutter.dev/images/favicon.png", + "name": "samples", + "desc": "Flutter示例和演示的集合", + "url": "https://github.com/flutter/samples", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://img.alicdn.com/tfs/TB1OJkeHNYaK1RjSZFnXXa80pXa-229-229.png", + "name": "flutter-go", + "desc": "flutter 开发者帮助 APP,包含 flutter 常用 140+ 组件的demo 演示与中文文档", + "url": "https://flutter-go.pub/flutter_go_web/#FirstPage", + "urls": { + "Github": "https://github.com/alibaba/flutter-go" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://flutter.dev/images/favicon.png", + "name": "Flutter-Notebook", + "desc": "flutter相关功能demo的集合,它能够帮助您快速学习一些零碎的知识", + "url": "https://github.com/OpenFlutter/Flutter-Notebook", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://flutter.dev/images/favicon.png", + "name": "plugins", + "desc": "Flutter团队维护的Flutter插件", + "url": "https://github.com/flutter/plugins", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://flutter.dev/images/favicon.png", + "name": "awesome-flutter", + "desc": "很棒的清单,精选了最好的Flutter库,工具,教程,文章等", + "url": "https://github.com/Solido/awesome-flutter", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://flutter.dev/images/favicon.png", + "name": "flutter-do", + "desc": "330+Widgets在线查看预览和使用。", + "url": "http://laomengit.com/flutter/widgets/widgets_structure.html", + "urls": { + "Github": "https://github.com/781238222/flutter-do" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "其他", + "nav": [ + { + "icon": "https://flutter.dev/images/favicon.png", + "name": "flutter_wanandroid", + "desc": "基于Google Flutter的WanAndroid客户端,支持Android和iOS。包括BLoC、RxDart 、国际化、主题色、启动页、引导页,拥有较好的项目结构&比较规范的代码", + "url": "https://github.com/Sky24n/flutter_wanandroid", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://flutter.dev/images/favicon.png", + "name": "Best-Flutter-UI-Templates", + "desc": "Best-Flutter-UI-模板, 对所有人完全免费。其内置的Flutter Dart。", + "url": "https://github.com/mitesh77/Best-Flutter-UI-Templates", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "collapsed": false, + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "Python", + "nav": [ + { + "title": "生态系统", + "icon": "https://www.python.org/static/favicon.ico", + "nav": [ + { + "title": "官方", + "nav": [ + { + "name": "Python", + "desc": "是一种解释型、面向对象、动态数据类型的高级程序设计语言。", + "url": "https://www.python.org/", + "urls": { + "Github": "https://github.com/TheAlgorithms/Python" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "PyPi", + "desc": "使用Python软件包索引查找,安装和发布Python软件包", + "url": "https://pypi.org/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "工具", + "nav": [ + { + "name": "PCU", + "desc": "python-check-updates, 检查 pip 当前依赖包最新版本", + "url": "https://github.com/xjh22222228/python-check-updates", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "依赖包", + "icon": "https://www.python.org/static/favicon.ico", + "nav": [ + { + "title": "HTTP/爬虫", + "nav": [ + { + "icon": "https://www.python.org/static/favicon.ico", + "name": "requests", + "desc": "requests是一个简单而优雅的HTTP库。", + "url": "https://requests.readthedocs.io/en/master/", + "urls": { + "Github": "https://github.com/psf/requests" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://raw.githubusercontent.com/aio-libs/aiohttp/master/docs/_static/aiohttp-icon-128x128.png", + "name": "aiohttp", + "desc": "用于asyncio和Python的异步HTTP客户端/服务器框架", + "url": "https://docs.aiohttp.org/en/stable/", + "urls": { + "Github": "https://github.com/aio-libs/aiohttp" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/733635?s=200&v=4", + "name": "Scrapy", + "desc": "一个用于Python的快速高级Web爬虫框架。", + "url": "https://scrapy.org/", + "urls": { + "Github": "https://github.com/scrapy/scrapy" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/983927?s=200&v=4", + "name": "selenium", + "desc": "浏览器自动化框架和生态系统。", + "url": "https://www.selenium.dev/", + "urls": { + "Github": "https://github.com/SeleniumHQ/selenium/" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "name": "beautifulsoup", + "desc": "可以从HTML或XML文件中提取数据的Python库", + "url": "https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "图像", + "nav": [ + { + "name": "Pillow", + "desc": "友好的PIL前叉,是一个出色的图像处理库", + "url": "https://python-pillow.org/", + "urls": { + "Github": "https://github.com/python-pillow/Pillow" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "运算", + "nav": [ + { + "name": "numpy", + "desc": "使用Python进行科学计算的基本软件包。", + "url": "https://numpy.org/", + "urls": { + "Github": "https://github.com/numpy/numpy" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "数据分析", + "nav": [ + { + "icon": "https://avatars1.githubusercontent.com/u/21206976?s=200&v=4", + "name": "pandas", + "desc": "功能强大的Python数据分析工具包", + "url": "https://github.com/pandas-dev/pandas", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "CLI", + "nav": [ + { + "createdAt": "2021-02-04T12:25:26.295Z", + "name": "rich", + "icon": "https://github.com/favicon.ico", + "url": "https://github.com/willmcgugan/rich", + "desc": "Rich是一个Python库,用于在终端中提供富文本和精美的格式。", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "Fire", + "desc": "Python Fire是一个用于从绝对任何Python对象自动生成命令行界面(CLI)的库。", + "url": "https://github.com/google/python-fire", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "colorama", + "desc": "Python中简单的跨平台彩色终端文本", + "url": "https://pypi.org/project/colorama/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/12731565?s=200&v=4", + "name": "tqdm", + "desc": "适用于Python和CLI的快速,可扩展的进度栏", + "url": "https://github.com/tqdm/tqdm", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "paramiko", + "desc": "领先的Python SSHv2协议库", + "url": "https://github.com/paramiko/paramiko", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "click", + "desc": "Python可组合命令行界面工具包", + "url": "https://github.com/pallets/click", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "createdAt": "2021-01-24T03:58:47.475Z", + "title": "其他", + "icon": null, + "nav": [ + { + "createdAt": "2021-01-24T03:59:58.542Z", + "name": "JMESPath", + "icon": "https://github.com/favicon.ico", + "url": "https://github.com/jmespath/jmespath.py", + "desc": "JMESPath是JSON的查询语言", + "urls": {}, + "rate": 5, + "top": false + } + ] + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "框架", + "icon": "https://www.python.org/static/favicon.ico", + "nav": [ + { + "title": "WEB框架", + "nav": [ + { + "icon": "https://avatars3.githubusercontent.com/u/27804?s=200&v=4", + "name": "Django", + "desc": "具有期限的完美主义者的Web框架。", + "url": "https://www.djangoproject.com/", + "urls": { + "Github": "https://github.com/django/django" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/16748505?s=200&v=4", + "name": "flask", + "desc": "用于构建Web应用程序的Python微框架。", + "url": "https://palletsprojects.com/p/flask/", + "urls": { + "Github": "https://github.com/pallets/flask" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "参考资料", + "nav": [ + { + "title": "书籍", + "icon": "https://www.python.org/static/favicon.ico", + "nav": [ + { + "name": "简明 Python 教程", + "desc": "旨在于介绍如何使用 Python 语言进行编程的自由图书。它以教材与指南的形式为入门者介绍 Python 语言。如果你对电脑知识的了解仅限于如何保存文本文件的话,那这本书就是为你准备的。", + "url": "https://bop.mol.uno/", + "icon": "https://www.python.org/static/favicon.ico", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "文档资料", + "icon": "https://www.python.org/static/favicon.ico", + "nav": [ + { + "name": "100天从新手到大师", + "desc": "Python - 100天从新手到大师", + "url": "https://github.com/jackfrued/Python-100-Days", + "icon": "https://www.python.org/static/favicon.ico", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "Python 入门指南", + "desc": "Python 入门指南", + "url": "https://python666.cn/cls/lesson/list/", + "icon": "https://www.python.org/static/favicon.ico", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "What the f*ck Python!", + "desc": "一些有趣且鲜为人知的 Python 特性.", + "url": "https://github.com/satwikkansal/wtfpython", + "icon": "https://www.python.org/static/favicon.ico", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "awesome-python-cn", + "desc": "Python 资源大全中文版", + "url": "https://github.com/jobbole/awesome-python-cn", + "icon": "https://www.python.org/static/favicon.ico", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "cheatsheet", + "desc": "Python大全备忘单", + "url": "https://github.com/gto76/python-cheatsheet", + "icon": "https://www.python.org/static/favicon.ico", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "awesome-python", + "desc": "精选的Python框架,库,软件和资源的精选清单。", + "url": "https://github.com/vinta/awesome-python", + "icon": "https://www.python.org/static/favicon.ico", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z", + "id": 1 + }, + { + "title": "社区站点", + "nav": [ + { + "title": "社区站点", + "nav": [ + { + "title": "问答社区1", + "nav": [ + { + "icon": "https://cdn.segmentfault.com/v-5f64887f/global/img/touch-icon.png", + "name": "segmentfault", + "desc": "是中文领域最大的技术问答交流社区平台", + "url": "https://segmentfault.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://b-gold-cdn.xitu.io/favicons/v2/apple-touch-icon.png", + "name": "掘金", + "desc": "一个帮助开发者成长的社区", + "url": "https://juejin.im/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "DiyCode1", + "desc": "致力于构建开发工程师高端交流分享社区", + "url": "https://www.diycode.cc/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://static.ld246.com/images/favicon.png", + "name": "黑客派", + "desc": "黑客派是程序员和设计师的聚集地,汇聚了严谨求实的工程师和富有创意的设计师", + "url": "https://hacpai.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "Node.js专业中文社区", + "desc": "国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究", + "url": "https://cnodejs.org/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.52pojie.cn/favicon.ico", + "name": "吾爱破解", + "desc": "吾爱破解关注PC软件安全和移动安全领域,致力于软件安全与病毒分析的前沿", + "url": "https://www.52pojie.cn/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.freebuf.com/favicon.ico", + "name": "FreeBuf", + "desc": "FreeBuf黑客与极客,国内关注度最高的全球互联网安全媒体平台", + "url": "http://www.freebuf.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://imweb.io/public/icon.png", + "name": "IMWeb", + "desc": "Web前端 腾讯IMWeb 团队社区", + "url": "http://imweb.io/topic/tab/all", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://cdn.sstatic.net/Sites/stackoverflow/Img/apple-touch-icon.png?v=c78bd457575a", + "name": "Stack Overflow", + "desc": "全球最大的技术问答网站,是一个与程序相关的IT技术问答网站", + "url": "https://stackoverflow.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://reactjs.org/favicon.ico", + "name": "React社区", + "desc": "React论坛社区", + "url": "http://react-china.org/", + "urls": { + "英文": "https://discuss.reactjs.org/", + "中文": "http://react-china.org/" + }, + "createdAt": "2021-01-23T01:32:06.423Z", + "rate": 5, + "top": false + }, + { + "icon": "https://p1.ssl.qhimg.com/t010e845cdf71587354.png", + "name": "众成翻译", + "desc": "中国最好的技术翻译社区,最懂译者的翻译平台,奇虎360最大前端团队“奇舞团”出品", + "url": "https://zcfy.cc/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://developer.mozilla.org/favicon.ico", + "name": "MDN web docs", + "desc": "Mozilla 开发者社区,是一个完整的学习平台,你可以在这里深入学习Web技术以及能够驱动Web的软件", + "url": "https://developer.mozilla.org/zh-CN/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://dev-to.s3.us-east-2.amazonaws.com/favicon.ico", + "name": "DEV Community", + "desc": "在这里程序员分享想法并帮助彼此成长", + "url": "https://dev.to/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "其他", + "nav": [ + { + "icon": "https://www.v2ex.com/static/img/v2ex_192.png", + "name": "V2EX", + "desc": "创意工作者们的社区", + "url": "https://www.v2ex.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://static.zhihu.com/static/favicon.ico", + "name": "知乎", + "desc": "知乎,中文互联网最大的知识分享和社交平台", + "url": "https://www.zhihu.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.jianshu.com/favicon.ico", + "name": "简书", + "desc": "简书是一个创作社区,任何人均可以在其上进行创作", + "url": "https://www.jianshu.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://images.xiaozhuanlan.com/assets/favicon-bd135558698197f509ada06695c03a4f458f0077fa476f9a4e7ba9664f3dc55f.ico", + "name": "小专栏", + "desc": "小专栏是一个专业人士的创作知识社区,在这里您可以看到各个领域最专业的专栏和观点", + "url": "https://xiaozhuanlan.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://news.ycombinator.com/favicon.ico", + "name": "Hacker News", + "desc": "Hacker News", + "url": "https://news.ycombinator.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://stacdn.proginn.com/favicon_new.ico", + "name": "程序员客栈", + "desc": "程序员客栈是领先的程序员自由工作平台,未来互联网企业用人方式。提供优秀程序员为您进行网站建设制作、测试运维服务、人工智能AI、大数据区块链、软件开发等优质服务", + "url": "https://www.proginn.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://fecdn4.zhaopin.cn/zq/assets/logoIcon.7a3e67.png", + "name": "职Q", + "desc": "智联招聘旗下专业的招聘求职社交问答平台,覆盖了求职、招聘、职业规划、升职加薪、面试技巧、工作经验分享等热门话 题,涉及各种行业职场问题,1.5亿用户的职场社区", + "url": "https://zq.zhaopin.com/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "http://cdn.jandan.net/static/img/appicon.png", + "name": "煎蛋", + "desc": "煎蛋以译介方式传播网络新鲜资讯", + "url": "http://jandan.net/", + "createdAt": "2021-01-23T01:32:06.423Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "代码托管", + "nav": [ + { + "icon": "https://github.githubassets.com/favicons/favicon.svg", + "name": "Github", + "desc": "面向开源及私有软件项目的托管平台", + "url": "https://github.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://gitee.com/favicon.ico", + "name": "码云", + "desc": "码云专为开发者提供稳定、高效、安全的云端软件开发协作平台", + "url": "https://gitee.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://about.gitlab.com/ico/apple-touch-icon-57x57.png", + "name": "GitLab", + "desc": "用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务", + "url": "https://gitlab.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://dn-coding-net-production-static.codehub.cn/platform/favicon.ico", + "name": "Coding", + "desc": "面向开发者的云端开发平台,提供 git/svn 代码托管,代码质量分析,在线WebIDE,项目管理...", + "url": "https://coding.net/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "Design", + "nav": [ + { + "title": "Design", + "nav": [ + { + "title": "材料", + "nav": [ + { + "icon": "http://www.51yuansu.com/favicon.ico", + "name": "觅元素", + "desc": "觅元素,为您提供免费设计元素,设计元素的资源站", + "url": "http://www.51yuansu.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://js.588ku.com/comp/public/css/iconfont/favicon.ico", + "name": "千库网", + "desc": "致力于为设计师提供最优质的素材", + "url": "http://588ku.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://huaban.com/img/touch-icon-ipad.png", + "name": "花瓣网", + "desc": "花瓣,陪你做生活的设计师", + "url": "http://huaban.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://cdn.dribbble.com/assets/favicon-b38525134603b9513174ec887944bde1a869eb6cd414f4d640ee48ab2a15a26b.ico", + "name": "Dribbble", + "desc": "Dribbble是展示和宣传,推广,发现和探索设计的地方", + "url": "https://dribbble.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://669pic.com/669pic.ico", + "name": "万素网", + "desc": "万素网致力于为国内各行业设计师,网站编辑,新媒体工作人员提供免费png素材与背景图片服务", + "url": "http://669pic.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.artstation.com/assets/favicon.ico", + "name": "ArtStation", + "desc": "ArtStation是游戏,电影,媒体和娱乐艺术家的展示平台。它使艺术家能够以流畅的方式展示他们的作品集,发现和保持灵感,并与新的机会联系起来。", + "url": "https://www.artstation.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://static.canva.com/static/images/favicon.ico", + "name": "Design Templates - Canva", + "desc": "设计模板 - Canva", + "url": "https://www.canva.com/templates/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://unsplash.com/favicon-32x32.png", + "name": "Unsplash", + "desc": "美丽,免费的照片。由世界上最慷慨的摄影师社区赠送。", + "url": "https://unsplash.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.gaoding.com/favicon.ico", + "name": "稿定设计", + "desc": "电商素材、新媒体配图、手机海报等。", + "url": "https://www.gaoding.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://undraw.co/favicon-32x32.png", + "name": "unDraw", + "desc": "带有开源插图的设计项目,可满足您可以想象和创建的任何想法。 免费使用您的颜色创建漂亮的网站,产品和应用程序", + "url": "https://undraw.co/illustrations", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.ui.cn/Public/img/favicon.ico", + "name": "UI中国用户体验设计平台", + "desc": "UI中国用户体验平台,中国用户体验联盟理事单位。国内极具影响力的设计平台之一。十多年来,携手会员150万+,共同致力于为设计师与企业搭建健康的设计生态!", + "url": "https://www.ui.cn/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://octodex.github.com/favicon.ico", + "name": "GitHub Octodex", + "desc": "由GitHub Design团队创建和维护的所有吉祥物素材", + "url": "https://octodex.github.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "http://collectui.com/img/favicon.ico", + "name": "Collect UI", + "desc": "从每日ui档案库及其他收集的每日灵感。 根据Dribbble拍摄的照片,手工挑选,每天更新", + "url": "http://collectui.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + }, + { + "title": "图标", + "nav": [ + { + "icon": "https://icons8.cn/vue-static/landings/primary-landings/favs/icons8_fav_96%C3%9796.png", + "name": "icons8", + "desc": "下载免费图标,音乐,素材图片,矢量,UX插图和视频音乐", + "url": "https://icons8.cn/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.vectorlogo.zone/favicon.ico", + "name": "vectorlogo", + "desc": "3000多种精美的SVG徽标,非常适合您的自述文件或积分页面", + "url": "https://www.vectorlogo.zone/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.shareicon.net/favicon.ico", + "name": "shareicon", + "desc": "超过25万个icon免费集合", + "url": "https://www.shareicon.net/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "SVG Logos", + "desc": "超过1000+SVG Logos集合", + "url": "https://github.com/gilbarbara/logos/archive/master.zip", + "urls": { + "Github": "https://github.com/gilbarbara/logos/tree/master/logos" + }, + "createdAt": "2021-01-23T01:32:06.424Z", + "rate": 5, + "top": false + }, + { + "icon": "https://www.iconfont.cn/favicon.ico", + "name": "iconfont", + "desc": "阿里妈妈MUX倾力打造的矢量图标管理、交流平台", + "url": "http://www.iconfont.cn/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://iconscout.com/favicon.ico", + "name": "iconscount", + "desc": "免费下载图标,插图和库存照片", + "url": "https://iconscout.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + }, + { + "title": "工具", + "nav": [ + { + "icon": "https://www.chuangkit.com/favicon.ico", + "name": "创客贴", + "desc": "一款简单易用、功能强大的线上图形设计工具", + "url": "https://www.chuangkit.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "Ps Play", + "desc": "Ps Play - 移动设计零阻力", + "url": "https://isux.tencent.com/resources/psplay/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://g.alicdn.com/acca/resource/luban/image/favicon.png", + "name": "鹿班", + "desc": "鹿班 - 让设计更美好(阿里出品)", + "url": "https://luban.aliyun.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.fontspace.com/android-chrome-192x192.png?v=00Bdv4Q5g6", + "name": "fontspace", + "desc": "6500+免费字体下载", + "url": "https://www.fontspace.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + }, + { + "title": "配色", + "nav": [ + { + "icon": "https://colorhunt.co/img/color-hunt-icon-ios.png", + "name": "Color Hunt", + "desc": "Color Hunt是一个免费开放的平台,可通过数千种精选的时尚调色板来激发色彩灵感", + "url": "https://colorhunt.co/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "学无止境", + "nav": [ + { + "title": "参考文档", + "nav": [ + { + "title": "Docker", + "nav": [ + { + "icon": "https://github.com/favicon.ico", + "name": "Docker — 从入门到实践", + "desc": "Docker — 从入门到实践", + "url": "https://yeasy.gitbooks.io/docker_practice/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://github.com/favicon.ico", + "name": "Docker官方映像文档", + "desc": "docker-library中的Docker官方映像文档", + "url": "https://github.com/docker-library/docs", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/7739233?s=200&v=4", + "name": "Docker Hub", + "desc": "Docker 镜像仓库", + "url": "https://hub.docker.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/7739233?s=200&v=4", + "name": "Docker-Compose", + "desc": "使用Docker定义和运行多容器应用程序", + "url": "https://docs.docker.com/compose/", + "urls": { + "Github": "https://github.com/docker/compose" + }, + "createdAt": "2021-01-23T01:32:06.424Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + }, + { + "title": "Git", + "nav": [ + { + "icon": "https://github.com/favicon.ico", + "name": "git-manual", + "desc": "Git常用命令参考手册 (推荐学习)", + "url": "https://github.com/xjh22222228/git-manual", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://github.com/favicon.ico", + "name": "GitHub Docs", + "desc": "github 官方帮助文档", + "url": "https://help.github.com/cn", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://github.com/favicon.ico", + "name": "awesome-actions", + "desc": "精选的GitHub上很棒的Action列表", + "url": "https://github.com/sdras/awesome-actions", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://github.com/favicon.ico", + "name": "Github - Actions", + "desc": "Github 官方Actions 资源列表", + "url": "https://github.com/marketplace?type=actions", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://github.com/favicon.ico", + "name": "growing-up", + "desc": "程序猿成长计划", + "url": "https://github.com/mylxsw/growing-up", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + }, + { + "title": "服务器", + "nav": [ + { + "icon": "https://avatars0.githubusercontent.com/u/1412239?s=200&v=4", + "name": "nginx", + "desc": "nginx参考文档", + "url": "https://www.docs4dev.com/docs/zh/nginx/current/reference#toolbar-title", + "urls": { + "英文": "http://nginx.org/en/docs/", + "中文": "https://www.docs4dev.com/docs/zh/nginx/current/reference#toolbar-title", + "Github": "https://github.com/nginx/nginx" + }, + "createdAt": "2021-01-23T01:32:06.424Z", + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/1412239?s=200&v=4", + "name": "Nginx开发从入门到精通", + "desc": "Nginx开发从入门到精通", + "url": "http://tengine.taobao.org/book/index.html", + "urls": { + "Github": "https://github.com/taobao/nginx-book" + }, + "createdAt": "2021-01-23T01:32:06.424Z", + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + }, + { + "title": "数据库", + "nav": [ + { + "icon": "https://avatars3.githubusercontent.com/u/1529926?s=200&v=4", + "name": "redis", + "desc": "Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构", + "url": "http://www.redis.cn/", + "urls": { + "英文": "https://redis.io/", + "中文": "http://www.redis.cn/", + "Github": "https://github.com/redis/redis" + }, + "createdAt": "2021-01-23T01:32:06.424Z", + "rate": 5, + "top": false + }, + { + "icon": "https://labs.mysql.com/common/themes/sakila/favicon.ico", + "name": "MySQL", + "desc": "MySQL数据库服务是一个完全托管的数据库服务,可使用世界上最受欢迎的开源数据库来部署云原生应用程序。 它是百分百由MySQL原厂开发,管理和提供支持", + "url": "https://www.mysql.com/cn/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + }, + { + "title": "书籍", + "nav": [ + { + "icon": "https://avatars1.githubusercontent.com/u/14127308?s=200&v=4", + "name": "免费的编程中文书籍索引", + "desc": "免费的编程中文书籍索引", + "url": "https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books-zh.md", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://zh.b-ok.global/apple-touch-icon.png", + "name": "Zlibrary", + "desc": "Z-Library 项目部分. 全球最大的数字图书馆, 电子书", + "url": "https://zh.b-ok.global/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "IT-eBOOK", + "desc": "IT类技术书籍PDF", + "url": "https://github.com/asyncfun/IT-eBOOK", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://refactoringguru.cn/favicon.ico", + "name": "Refactoring.Guru", + "desc": "22种常用设计模式", + "url": "https://refactoringguru.cn/design-patterns", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + }, + { + "title": "其他文档", + "nav": [ + { + "icon": "https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/linux/linux.png", + "name": "Linux 常用命令参考手册", + "desc": "Linux 常用命令参考手册", + "url": "https://github.com/xjh22222228/linux-manual", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://github.com/favicon.ico", + "name": "developer-roadmap", + "desc": "2020年成为网络开发人员的路线图", + "url": "https://github.com/kamranahmedse/developer-roadmap", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://devhints.io/assets/favicon.png", + "name": "Devhints", + "desc": "WEB开发速查表,mysql/go/java/js/bash/react/git...", + "url": "https://devhints.io/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://wangchujiang.com/linux-command/img/favicon.ico", + "name": "linux-command", + "desc": "Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集", + "url": "https://git.io/linux", + "urls": { + "Github": "https://github.com/jaywcjlove/linux-command" + }, + "createdAt": "2021-01-23T01:32:06.424Z", + "rate": 5, + "top": false + }, + { + "icon": "https://github.com/favicon.ico", + "name": "learn-regex", + "desc": "正则表达式学习", + "url": "https://github.com/ziishaned/learn-regex", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://github.com/favicon.ico", + "name": "the-art-of-command-line", + "desc": "命令行的艺术", + "url": "https://github.com/jlevy/the-art-of-command-line/blob/master/README-zh.md", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/chrome/chrome.png", + "name": "Peter Beverloo", + "desc": "Chrome浏览器命令参数参考手册", + "url": "https://peter.sh/experiments/chromium-command-line-switches/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/11618545?s=200&v=4", + "name": "vimrc", + "desc": "vim配置参考手册", + "url": "https://github.com/amix/vimrc", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.jenkins.io/zh/sites/default/files/jenkins_favicon.ico", + "name": "Jenkins", + "desc": "Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要", + "url": "https://www.jenkins.io/zh/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://learnxinyminutes.com/favicon.ico", + "name": "learnxinyminutes-docs", + "desc": "在Y分钟内学习X", + "url": "https://learnxinyminutes.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://code.visualstudio.com/apple-touch-icon.png", + "name": "Vscode Docs", + "desc": "Vscode 扩展开发文档", + "url": "https://liiked.github.io/VS-Code-Extension-Doc-ZH/#/", + "urls": { + "英文": "https://code.visualstudio.com/api", + "中文": "https://liiked.github.io/VS-Code-Extension-Doc-ZH/#/", + "Github": "https://github.com/microsoft/vscode-docs" + }, + "createdAt": "2021-01-23T01:32:06.424Z", + "rate": 5, + "top": false + }, + { + "name": "YAML教程", + "desc": "YAML教程", + "url": "https://www.yiibai.com/yaml", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.google.com/images/icons/product/chrome-32.png", + "name": "Chrome Extension", + "desc": "谷歌浏览器扩展插件开发文档", + "url": "https://developer.chrome.com/extensions", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + }, + { + "title": "教程相关", + "nav": [ + { + "nav": [ + { + "icon": "https://static.runoob.com/images/icon/mobile-icon.png", + "name": "菜鸟教程", + "desc": "提供了编程的基础技术教程, 介绍了HTML、CSS、Javascript、Python,Java,Ruby,C,PHP , MySQL等各种编程语言的基础知识。 同时本站中也提供了大量的在线实例,通过实例,您可以更好的学习编程", + "url": "https://www.runoob.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.imooc.com/static/img/common/touch-icon-ipad.png", + "name": "慕课网", + "desc": "慕课网-程序员的梦工厂", + "url": "https://www.imooc.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.jikexueyuan.com/favicon.ico", + "name": "极客学院", + "desc": "致力于“让IT学习更有效”,以实战为特色,为注重自我提升的IT从业者提供高品质职业教育", + "url": "https://www.jikexueyuan.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://9.idqqimg.com/edu/edu_modules/edu-ui/img/nohash/favicon.ico", + "name": "腾讯课堂", + "desc": "腾讯课堂 - 专业的在线教育平台", + "url": "https://ke.qq.com/index.html", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://static2.ichunqiu.com/icq/resources/images/favicon.ico", + "name": "i春秋", + "desc": "【i春秋】-专注网络安全_信息安全_白帽子的在线学习_教育_培训平台", + "url": "https://www.ichunqiu.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "http://www.shiyanbar.com/favicon.ico", + "name": "实验吧", + "desc": "实验吧是国内最大的在线虚拟机实验IT教育平台", + "url": "http://www.shiyanbar.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.hetianlab.com/img/ico/favicon.ico", + "name": "合天网安实验室", + "desc": "合天网安实验室是支持在线实验的信息安全学习的大型服务平台", + "url": "http://www.hetianlab.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://study.163.com/favicon.ico", + "name": "网易云课堂", + "desc": "网易云课堂 - 领先的实用技能学习平台", + "url": "http://study.163.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://study.163.com/favicon.ico", + "name": "蓝桥", + "desc": "蓝桥是国内领先的IT在线编程及在线实训学习平台,专业导师提供精选的实践项目,创新的技术使得学习者无需配置繁琐的本地环境,随时在线流畅使用", + "url": "https://www.lanqiao.cn/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://7n.w3cschool.cn/statics/images/favicon.ico?v=2.2", + "name": "W3Cschool", + "desc": "编程狮,是一个专业的W3C前端开发及编程入门学习平台", + "url": "https://www.w3cschool.cn/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + }, + { + "title": "面试刷题", + "nav": [ + { + "title": "面试刷题", + "nav": [ + { + "icon": "https://static.leetcode-cn.com/cn-assets/icons/favicon-96x96.png", + "name": "LeetCode", + "desc": "提高你的编码技能,快速找到一份工作。这是扩展你知识和为下一次面试做好准备的最佳地方。", + "url": "https://leetcode-cn.com/", + "urls": { + "英文": "https://leetcode.com/" + }, + "createdAt": "2021-01-23T01:32:06.424Z", + "rate": 5, + "top": false + }, + { + "icon": "https://www.nowcoder.com/favicon.ico", + "name": "牛客网", + "desc": "牛客网是互联网求职神器,C++、Java、前端、产品、运营技能学习/备考/求职题库", + "url": "https://www.nowcoder.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://cyc-1256109796.cos.ap-guangzhou.myqcloud.com/LogoMakr_1J56bI.png", + "name": "CS-Notes", + "desc": "技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计、Java、Python、C++", + "url": "https://cyc2018.github.io/CS-Notes", + "urls": { + "Github": "https://github.com/CyC2018/CS-Notes" + }, + "createdAt": "2021-01-23T01:32:06.424Z", + "rate": 5, + "top": false + }, + { + "icon": "https://visualgo.net/img/favicon.png", + "name": "数据结构和算法动态可视化", + "desc": "数据结构和算法动态可视化", + "url": "https://visualgo.net/zh", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://github.com/favicon.ico", + "name": "algorithm-pattern", + "desc": "算法模板,最科学的刷题方式,最快速的刷题路径,你值得拥有~", + "url": "https://github.com/greyireland/algorithm-pattern", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "网络安全", + "nav": [ + { + "title": "网络安全", + "nav": [ + { + "title": "网络安全", + "nav": [ + { + "name": "乌云网镜像", + "desc": "WooYun是一个位于厂商和安全研究者之间的漏洞报告平台,注重尊重,进步,与意义", + "url": "http://wooyun.2xss.cc/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.anquan.org/aq_static/images/favicon/favicon.ico", + "name": "安全联盟", + "desc": "安全联盟 - 国内最大的第三方网络安全数据共享交换平台", + "url": "https://www.anquan.org/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.360.cn/favicon.ico", + "name": "360网站安全检测", + "desc": "为站长免费提供了网站漏洞检测、网站漏洞修复、网站后门检测、木马查杀,网址安全查询等服务", + "url": "http://webscan.360.cn/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.2cto.com/favicon.ico", + "name": "红黑联盟", + "desc": "红黑联盟作为老牌的信息安全网站,致力于培训电脑技术高手.网站集网络安全,系统网络,编程开发,网站建设等频道于一体", + "url": "https://www.2cto.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.knownsec.com/static/favicon.ico", + "name": "知道创宇", + "desc": "知道创宇,网络空间安全专家,长期致力于为政府、企业类客户提供完善的云安全解决方案", + "url": "https://www.knownsec.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "安全周", + "desc": "关注安全资讯 专注资源共享", + "url": "https://www.secz.org/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.hacked.com.cn/favicon.ico", + "name": "全球被黑站点统计系统", + "desc": "主要通过网络搜集国内被黑网站信息,统计分析数据,为部署安全型网络提供强有力的依据...", + "url": "http://www.hacked.com.cn/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.secpulse.com/favicon.ico", + "name": "安全脉搏", + "desc": "高质量的全球互联网安全媒体和技术平台,安全爱好者们交流与分享前沿安全技术的最佳社区", + "url": "https://www.secpulse.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + }, + { + "title": "CTF", + "nav": [ + { + "icon": "http://xss.xiejiahe.com/favicon.png", + "name": "XSS-CTF", + "desc": "XSS-CTF 是一个练习和入门的XSS平台, 每一位WEB工程师都应具备的基础知识,提高网络安全意识", + "url": "http://xss.xiejiahe.com", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "XSS测试", + "desc": "XSS小游戏", + "url": "https://xss.haozi.me/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "Pasteurize", + "desc": "XSS CTF", + "url": "https://pasteurize.web.ctfcompetition.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + }, + { + "title": "辅助工具", + "nav": [ + { + "icon": "https://www.telerik.com/favicon.ico", + "name": "fiddler", + "desc": "Fiddler是一个用于HTTP调试的代理服务器应用程序", + "url": "https://www.telerik.com/fiddler", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.wireshark.org/assets/images/favicon.ico", + "name": "wireshark", + "desc": "是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换", + "url": "https://www.wireshark.org/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "XSS平台-白帽安全测试", + "desc": "XSS平台是一个免费给白帽安全测试的平台", + "url": "https://xsspt.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "Security Headers", + "desc": "快速轻松地评估HTTP响应头的安全性", + "url": "https://securityheaders.com", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "w9scan", + "desc": "一款全能型的网站漏洞扫描器,内置1200+插件可对网站进行一次规模的检测,功能包括但不限于web指纹检测、端口指纹检测、网站结构分析、各种流行的漏洞检测、爬虫以及SQL注入检测、XSS检测...", + "url": "https://github.com/w-digital-scanner/w9scan", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars0.githubusercontent.com/u/7302766?s=200&v=4", + "name": "xray", + "desc": "xray 安全评估工具", + "url": "https://github.com/chaitin/xray", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.cmd5.com/favicon.ico", + "name": "cmd5", + "desc": "md5在线解密破解,md5解密加密", + "url": "https://www.cmd5.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars3.githubusercontent.com/u/735289?s=200&v=4", + "name": "sqlmap", + "desc": "自动SQL注入和数据库接管工具", + "url": "http://sqlmap.org/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/63385?s=200&v=4", + "name": "nmap", + "desc": "nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端", + "url": "https://nmap.org/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "http://xssor.io/s/favicon.ico", + "name": "xssor", + "desc": "编码/解码,Codz,探针", + "url": "http://xssor.io", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://phpinfo.me/favicon.ico", + "name": "在线子域名查询", + "desc": "在线子域名查询", + "url": "https://phpinfo.me/domain/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "fuzzDicts", + "desc": "Web Pentesting Fuzz 字典", + "url": "https://github.com/TheKingOfDuck/fuzzDicts", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "BurpSuitePro", + "desc": "免费的BurpSuitePro版本", + "url": "https://github.com/TrojanAZhen/BurpSuitePro-2.1", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + }, + { + "title": "知识/测试", + "nav": [ + { + "icon": "https://vulhub.org/img/favicon.ico", + "name": "Vulhub", + "desc": "基于docker和docker-compose的漏洞环境集合...", + "url": "https://vulhub.org", + "langguage": [ + "", + "", + "https://github.com/vulhub/vulhub" + ], + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "SRC-experience", + "desc": "工欲善其事,必先利其器,一些src挖掘奇技淫巧,国外新技术的学习网站分享", + "url": "https://github.com/Wh0ale/SRC-experience", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "name": "Intranet_Penetration_Tips", + "desc": "内网渗透TIPS", + "url": "https://github.com/Ridter/Intranet_Penetration_Tips", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "运营相关", + "nav": [ + { + "title": "运营相关", + "nav": [ + { + "title": "运营相关", + "nav": [ + { + "icon": "https://tongji.baidu.com/favicon.ico", + "name": "百度统计", + "desc": "全球最大的中文网站流量分析平台,帮助企业收集网站访问数据,提供流量趋势、来源分析...", + "url": "https://tongji.baidu.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.umeng.com/favicon.ico", + "name": "CNZZ", + "desc": "CNZZ数据专家是全球最大的中文网站统计分析平台,为各类网站提供免费、安全、稳定", + "url": "http://www.cnzz.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.baidu.com/img/baidu.svg", + "name": "百度搜索资源平台", + "desc": "百度搜索资源平台_让网站更具价值", + "url": "https://ziyuan.baidu.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.wjx.cn/favicon.ico", + "name": "问卷星", + "desc": "免费使用问卷星创建问卷调查、在线考试、360度评估等应用", + "url": "https://www.wjx.cn/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://gd-assets.jinshujucdn.com/favicon.ico", + "name": "金数据", + "desc": "金数据是人人可用的在线表单工具,帮助用户收集和管理日常工作中的数据,提升工作效率", + "url": "https://jinshuju.net/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://ssl.gstatic.com/analytics/20201013-01/app/static/analytics_standard_icon.png", + "name": "Google Analytics", + "desc": "Google Analytics是一个收集数据并将其分析整理成实用报告的平台", + "url": "https://analytics.google.com", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://mta.qq.com/mta/resource/imgcache/images/favicon.ico", + "name": "腾讯移动分析", + "desc": "腾讯移动分析是腾讯数据云,腾讯大数据战略的核心产品,提供app应用的移动统计分析,支持android/iOS平台,实现用户画像、数据可视化、数据挖掘、渠道效果分析等综合数据服务", + "url": "https://mta.qq.com/mta/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.google.com/favicon.ico", + "name": "Google Adsense", + "desc": "Google Adsense", + "url": "https://www.google.com/adsense", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + }, + { + "title": "博客看点", + "nav": [ + { + "title": "博客看点", + "nav": [ + { + "title": "Team", + "nav": [ + { + "icon": "https://aotu.io/img/favicon-48x48.png", + "name": "凹凸实验室", + "desc": "O2面向多终端技术体系,致力于构建沉淀与分享包括但不限于交互、页面制作技巧...", + "url": "https://aotu.io/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://imweb.io/public/icon.png", + "name": "腾讯IMWeb", + "desc": "Web前端 腾讯IMWeb 团队社区", + "url": "https://imweb.io/topic/tab/all", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars1.githubusercontent.com/u/4158466?s=200&v=4", + "name": "字节跳动技术博客", + "desc": "字节跳动技术博客", + "url": "https://techblog.toutiao.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://fed.taobao.org/favicon.ico", + "name": "淘系前端团队", + "desc": "用技术为体验提供无限可能", + "url": "https://fed.taobao.org/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://avatars2.githubusercontent.com/u/11404085?s=200&v=4", + "name": "有赞技术团队", + "desc": "有赞技术团队", + "url": "https://tech.youzan.com/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + }, + { + "title": "个人博客", + "nav": [ + { + "name": "阮一峰的网络日志", + "icon": "http://www.ruanyifeng.com/favicon.ico", + "url": "http://www.ruanyifeng.com/blog/", + "desc": "阮一峰的网络日志", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.xiejiahe.com/favicon-128x128.png", + "name": "谢家和的博客", + "desc": "WEB Developer", + "url": "https://www.xiejiahe.com/?from=nav2", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://www.yinwang.org/images/Yc.jpg", + "name": "王垠的博客", + "desc": "当然我在扯淡", + "url": "http://www.yinwang.org/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + }, + { + "icon": "https://overreacted.io/favicon.ico", + "name": "Dan", + "desc": "react作者的博客", + "url": "https://overreacted.io/", + "createdAt": "2021-01-23T01:32:06.424Z", + "urls": {}, + "rate": 5, + "top": false + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + } + ], + "createdAt": "2021-01-23T01:32:06.424Z" + } + ], + "createdAt": "2021-01-23T01:32:06.423Z" + } +] \ No newline at end of file diff --git a/data/search.json b/data/search.json index b98f1fab86cd673c97e0ddf58dae06d7d9214e8d..522176607f7ddafb1439103bacdde4640cf3c751 100644 --- a/data/search.json +++ b/data/search.json @@ -1,8 +1,9 @@ [ { - "name": "站内", - "icon": "https://raw.sevencdn.com/xjh22222228/nav/image/logo.png", - "placeholder": "站内搜索", + "name": "CSDN", + "url": "https://so.csdn.net/so/search?q", + "icon": "https://img-operation.csdnimg.cn/csdn/silkroad/img/1607569811165.png", + "placeholder": "CSDN搜索", "blocked": false }, { @@ -30,18 +31,5 @@ "icon": "https://raw.sevencdn.com/xjh22222228/nav/image/github.svg", "placeholder": "Search GitHub", "blocked": false - }, - { - "name": "知乎", - "url": "https://www.zhihu.com/search?type=content&q=", - "icon": "https://raw.sevencdn.com/xjh22222228/nav/image/zhihu.svg", - "blocked": false - }, - { - "name": "豆瓣", - "url": "https://search.douban.com/book/subject_search?search_text=", - "icon": "https://raw.sevencdn.com/xjh22222228/nav/image/douban.svg", - "placeholder": "书名、作者、ISBN", - "blocked": false } ] \ No newline at end of file diff --git a/nav.config.ts b/nav.config.ts index dfb694b93d7da45fbe458fb81b19128f780e5a19..36b40fa23c217a42079f7b4749bb8f76eac01301 100644 --- a/nav.config.ts +++ b/nav.config.ts @@ -3,7 +3,7 @@ import { IConfig } from './src/types' const c: IConfig = { // Deployment language - 部署语言 // zh-CN | en - language: 'en', + language: 'zh-CN', // [Mondatory], Please replace following Github url with your own Github address which you forked in. // [必填], 请填写您的仓库地址 @@ -17,7 +17,7 @@ const c: IConfig = { // If you have a good-looking Loading, please contact us! // 页面Loading: loading1 | loading2 | loading3 | random // 如果您有好看的加载Loading请联系我们! - loading: 'random', // 随机加载 + loading: 'loading3', // 随机加载 // Whether the route is in Hash mode, if it is deployed on github pages, it must be set to true // 路由是否Hash模式, 如果是部署在github pages 务必设为 true @@ -25,27 +25,27 @@ const c: IConfig = { // Whether to show the Github icon in the upper right corner // 是否显示右上角的 Github 图标 - showGithub: true, + showGithub: false, // Your website address is good for SEO // 您的网站地址,有利于SEO - homeUrl: 'https://nav3.cn', + homeUrl: 'https://git.csdn.net', // Site title // 网站标题 - title: '发现导航 - 精选实用导航网站', + title: 'CSDN 开发者工具助手推荐', // Site description // 网站描述 - description: '发现导航 - 精选实用导航网站', + description: 'CSDN 开发者工具助手推荐', // Site keywords // 网站关键字 - keywords: '导航,前端资源,社区站点,设计师,实用工具,学习资源,运营,网络安全,node.js', + keywords: '导航,开发者工具,GitHub开源项目推荐', // Default theme: Light | Sim | Side | App | Shortcut // 默认主题: Light | Sim | Side | App | Shortcut - theme: 'Light', + theme: 'Sim', // The content at the bottom of the website, copyright information, record number, can be HTML // 网站底部内容, 版权信息、备案号, 可以是 HTML @@ -63,19 +63,19 @@ const c: IConfig = { // Baidu Statistics Address // 百度统计地址 // https://tongji.baidu.com/web/welcome/login - baiduStatisticsUrl: 'https://hm.baidu.com/hm.js?4582be7af7e7c95ef75351e07c6c32ba', + // baiduStatisticsUrl: 'https://hm.baidu.com/hm.js?4582be7af7e7c95ef75351e07c6c32ba', // CNZZ Statistics address // CNZZ 统计地址 // https://www.cnzz.com/o_index.php - cnzzStatisticsUrl: '', + // cnzzStatisticsUrl: '', // Sim Theme configuration // Sim 主题配置 simThemeConfig: { // Poster illustration - 海报图 posterImageUrls: [ - 'https://raw.sevencdn.com/xjh22222228/nav/image/sim-wallpaper.jpg' + 'https://codechina_dev.gitcode.host/git/assets/img/pattern2.svg' ], description: '这里收录多达 ${total} 个优质网站, 助您工作、学习和生活' } diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000000000000000000000000000000000000..f10d7ab874352300e2743f30947c7e63c89590f6 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,30001 @@ +{ + "name": "nav", + "version": "5.3.3", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "nav", + "version": "5.3.3", + "dependencies": { + "@angular/animations": "~11.2.12", + "@angular/common": "~11.2.12", + "@angular/compiler": "~11.2.12", + "@angular/core": "~11.2.12", + "@angular/forms": "~11.2.12", + "@angular/platform-browser": "~11.2.12", + "@angular/platform-browser-dynamic": "~11.2.12", + "@angular/router": "~11.2.12", + "@types/nprogress": "^0.2.0", + "axios": "^0.21.1", + "clipboard": "^2.0.8", + "hotkeys-js": "^3.8.3", + "js-base64": "^3.6.0", + "mitt": "^3.0.0", + "ng-zorro-antd": "^11.4.1", + "nprogress": "^0.2.0", + "qs": "^6.10.1", + "rough-notation": "^0.5.1", + "rxjs": "~7.0.0", + "tslib": "^2.2.0", + "zone.js": "~0.11.4" + }, + "devDependencies": { + "@angular-devkit/build-angular": "~0.1102.11", + "@angular/cli": "~11.2.11", + "@angular/compiler-cli": "~11.2.12", + "@types/node": "^15.0.1", + "codelyzer": "^6.0.1", + "eslint": "^7.25.0", + "protractor": "~7.0.0", + "ts-node": "~9.1.1", + "tslint": "~6.1.3", + "typescript": "~4.0.2" + } + }, + "node_modules/@angular-devkit/architect": { + "version": "0.1102.11", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1102.11.tgz", + "integrity": "sha512-1MoUSz7zNJomUUuzbIyBSprzbWa9eF97SRDEbllYHHXY/IWWetHGNK7gkJPyW0zgKhXIc5Sq4TJKIJKWPNh00Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "11.2.11", + "rxjs": "6.6.3" + }, + "engines": { + "node": ">= 10.13.0", + "npm": "^6.11.0 || ^7.5.6", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/architect/node_modules/rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/architect/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@angular-devkit/build-angular": { + "version": "0.1102.11", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.1102.11.tgz", + "integrity": "sha512-oT4eiVs4va5rKE1dsbi9C2kDzTVzLx9PNPGtTiClG5uRPMWGyljXtHNMfDy0gH9H5kjcObwR/a8EPrx7Xd3ZAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/architect": "0.1102.11", + "@angular-devkit/build-optimizer": "0.1102.11", + "@angular-devkit/build-webpack": "0.1102.11", + "@angular-devkit/core": "11.2.11", + "@babel/core": "7.12.10", + "@babel/generator": "7.12.11", + "@babel/plugin-transform-async-to-generator": "7.12.1", + "@babel/plugin-transform-runtime": "7.12.10", + "@babel/preset-env": "7.12.11", + "@babel/runtime": "7.12.5", + "@babel/template": "7.12.7", + "@discoveryjs/json-ext": "0.5.2", + "@jsdevtools/coverage-istanbul-loader": "3.0.5", + "@ngtools/webpack": "11.2.11", + "ansi-colors": "4.1.1", + "autoprefixer": "10.2.4", + "babel-loader": "8.2.2", + "browserslist": "^4.9.1", + "cacache": "15.0.5", + "caniuse-lite": "^1.0.30001032", + "circular-dependency-plugin": "5.2.2", + "copy-webpack-plugin": "6.3.2", + "core-js": "3.8.3", + "critters": "0.0.7", + "css-loader": "5.0.1", + "cssnano": "5.0.1", + "file-loader": "6.2.0", + "find-cache-dir": "3.3.1", + "glob": "7.1.6", + "https-proxy-agent": "5.0.0", + "inquirer": "7.3.3", + "jest-worker": "26.6.2", + "karma-source-map-support": "1.4.0", + "less": "4.1.1", + "less-loader": "7.3.0", + "license-webpack-plugin": "2.3.11", + "loader-utils": "2.0.0", + "mini-css-extract-plugin": "1.3.5", + "minimatch": "3.0.4", + "open": "7.4.0", + "ora": "5.3.0", + "parse5-html-rewriting-stream": "6.0.1", + "pnp-webpack-plugin": "1.6.4", + "postcss": "8.2.13", + "postcss-import": "14.0.0", + "postcss-loader": "4.2.0", + "raw-loader": "4.0.2", + "regenerator-runtime": "0.13.7", + "resolve-url-loader": "3.1.2", + "rimraf": "3.0.2", + "rollup": "2.38.4", + "rxjs": "6.6.3", + "sass": "1.32.6", + "sass-loader": "10.1.1", + "semver": "7.3.4", + "source-map": "0.7.3", + "source-map-loader": "1.1.3", + "source-map-support": "0.5.19", + "speed-measure-webpack-plugin": "1.4.2", + "style-loader": "2.0.0", + "stylus": "0.54.8", + "stylus-loader": "4.3.3", + "terser": "5.5.1", + "terser-webpack-plugin": "4.2.3", + "text-table": "0.2.0", + "tree-kill": "1.2.2", + "webpack": "4.44.2", + "webpack-dev-middleware": "3.7.2", + "webpack-dev-server": "3.11.2", + "webpack-merge": "5.7.3", + "webpack-sources": "2.2.0", + "webpack-subresource-integrity": "1.5.2", + "worker-plugin": "5.0.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": "^6.11.0 || ^7.5.6", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^11.0.0 || ^11.2.0-next", + "@angular/localize": "^11.0.0 || ^11.2.0-next", + "@angular/service-worker": "^11.0.0 || ^11.2.0-next", + "karma": "^5.2.0 || ^6.0.0", + "ng-packagr": "^11.0.0 || ^11.2.0-next", + "protractor": "^7.0.0", + "tailwindcss": "^2.0.0", + "tslint": "^6.1.0", + "typescript": "~4.0.0 || ~4.1.0" + }, + "peerDependenciesMeta": { + "@angular/localize": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "karma": { + "optional": true + }, + "ng-packagr": { + "optional": true + }, + "protractor": { + "optional": true + }, + "tailwindcss": { + "optional": true + }, + "tslint": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@babel/generator": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", + "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.12.11", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@babel/generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/browserslist": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001181", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.649", + "escalade": "^3.1.1", + "node-releases": "^1.1.70" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/electron-to-chromium": { + "version": "1.3.693", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.693.tgz", + "integrity": "sha512-vUdsE8yyeu30RecppQtI+XTz2++LWLVEIYmzeCaCRLSdtKZ2eXqdJcrs85KwLiPOPVc6PELgWyXBsfqIvzGZag==", + "dev": true, + "license": "ISC" + }, + "node_modules/@angular-devkit/build-angular/node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@angular-devkit/build-angular/node_modules/webpack-sources": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", + "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/webpack-sources/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@angular-devkit/build-optimizer": { + "version": "0.1102.11", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.11.tgz", + "integrity": "sha512-YB9VcImGAuNkaNsDqVWDiBqpyxnAhV0gyHIVAQTEBjyebvzKCSbrmzsnDzvD5eXyDDJQ2InaD6/1HpDGQ5YPQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "loader-utils": "2.0.0", + "source-map": "0.7.3", + "tslib": "2.1.0", + "typescript": "4.1.5", + "webpack-sources": "2.2.0" + }, + "bin": { + "build-optimizer": "src/build-optimizer/cli.js" + }, + "engines": { + "node": ">= 10.13.0", + "npm": "^6.11.0 || ^7.5.6", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/build-optimizer/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@angular-devkit/build-optimizer/node_modules/tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@angular-devkit/build-optimizer/node_modules/typescript": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.5.tgz", + "integrity": "sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/@angular-devkit/build-optimizer/node_modules/webpack-sources": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", + "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@angular-devkit/build-optimizer/node_modules/webpack-sources/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@angular-devkit/build-webpack": { + "version": "0.1102.11", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1102.11.tgz", + "integrity": "sha512-Z8u4/934lFDsT3PFgvf49vDJO/+PhTejERoSFK/3Elq4dzS15Ial7itPUgaQS7nYYJJ8qKvr+dXkboXAv7Gqaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/architect": "0.1102.11", + "@angular-devkit/core": "11.2.11", + "rxjs": "6.6.3" + }, + "engines": { + "node": ">= 10.13.0", + "npm": "^6.11.0 || ^7.5.6", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "webpack": "^4.6.0", + "webpack-dev-server": "^3.1.4" + } + }, + "node_modules/@angular-devkit/build-webpack/node_modules/rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/build-webpack/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@angular-devkit/core": { + "version": "11.2.11", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-11.2.11.tgz", + "integrity": "sha512-6gFrpG0o00Y4kMU7cQeQ5fSlmXRvNlidylM3OfAvpj0qHoRKo1E3q9iVr4fW3oVZxK3fpCSN7RE5Myl5Y7mV0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "6.12.6", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.3", + "source-map": "0.7.3" + }, + "engines": { + "node": ">= 10.13.0", + "npm": "^6.11.0 || ^7.5.6", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/core/node_modules/rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/core/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@angular-devkit/core/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@angular-devkit/schematics": { + "version": "11.2.11", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-11.2.11.tgz", + "integrity": "sha512-xkw+5P9V7VdV/X3Eko0/oZmEqelenIT1RdaOlFA3ZLCdT6bz+79HjeChMy++JcLjVNRcLYQSw0ULByq2q/S2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "11.2.11", + "ora": "5.3.0", + "rxjs": "6.6.3" + }, + "engines": { + "node": ">= 10.13.0", + "npm": "^6.11.0 || ^7.5.6", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@angular/animations": { + "version": "11.2.12", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-11.2.12.tgz", + "integrity": "sha512-4QZZwC7NVmTgY/NUPJB+QICGCNE7Ebfr/umjJliSrypcmuqcm6K0F4K3pVo7ckvZceOeqre2JY9lQYjvUH5xWg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/core": "11.2.12" + } + }, + "node_modules/@angular/animations/node_modules/tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "license": "0BSD" + }, + "node_modules/@angular/cdk": { + "version": "11.2.5", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-11.2.5.tgz", + "integrity": "sha512-ugalSDLME5E9JlxcRR8RGlOYlaV6rIzxOVQrGRBzY2tdhMT4Ng+BFtCkq1K88AU1sTLHq54xg9Xkfn7b5W2kiA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "optionalDependencies": { + "parse5": "^5.0.0" + }, + "peerDependencies": { + "@angular/common": "^11.0.0 || ^12.0.0-0", + "@angular/core": "^11.0.0 || ^12.0.0-0" + } + }, + "node_modules/@angular/cdk/node_modules/parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "license": "MIT", + "optional": true + }, + "node_modules/@angular/cdk/node_modules/tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "license": "0BSD" + }, + "node_modules/@angular/cli": { + "version": "11.2.11", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-11.2.11.tgz", + "integrity": "sha512-KzpRaCaHUwznlm6Iz/DvWqZs1fQx+NpJsiEOtKz7ijKoktJq+qcxAcBr2A4sNAuuAMgs0Xqy70EHvbMPA1yQ9A==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/architect": "0.1102.11", + "@angular-devkit/core": "11.2.11", + "@angular-devkit/schematics": "11.2.11", + "@schematics/angular": "11.2.11", + "@schematics/update": "0.1102.11", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.1", + "debug": "4.3.1", + "ini": "2.0.0", + "inquirer": "7.3.3", + "jsonc-parser": "3.0.0", + "npm-package-arg": "8.1.0", + "npm-pick-manifest": "6.1.0", + "open": "7.4.0", + "ora": "5.3.0", + "pacote": "11.2.4", + "resolve": "1.19.0", + "rimraf": "3.0.2", + "semver": "7.3.4", + "symbol-observable": "3.0.0", + "universal-analytics": "0.4.23", + "uuid": "8.3.2" + }, + "bin": { + "ng": "bin/ng" + }, + "engines": { + "node": ">= 10.13.0", + "npm": "^6.11.0 || ^7.5.6", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/cli/node_modules/hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular/cli/node_modules/npm-package-arg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.0.tgz", + "integrity": "sha512-/ep6QDxBkm9HvOhOg0heitSd7JHA1U7y1qhhlRlteYYAi9Pdb/ZV7FW5aHpkrpM8+P+4p/jjR8zCyKPBMBjSig==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^3.0.6", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular/cli/node_modules/npm-pick-manifest": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.0.tgz", + "integrity": "sha512-ygs4k6f54ZxJXrzT0x34NybRlLeZ4+6nECAIbr2i0foTnijtS1TJiyzpqtuUAJOps/hO0tNDr8fRV5g+BtRlTw==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-install-checks": "^4.0.0", + "npm-package-arg": "^8.0.0", + "semver": "^7.0.0" + } + }, + "node_modules/@angular/cli/node_modules/npm-pick-manifest/node_modules/hosted-git-info": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.1.tgz", + "integrity": "sha512-eT7NrxAsppPRQEBSwKSosReE+v8OzABwEScQYk5d4uxaEPlzxTIku7LINXtBGalthkLhJnq5lBI89PfK43zAKg==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular/cli/node_modules/npm-pick-manifest/node_modules/npm-package-arg": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.2.tgz", + "integrity": "sha512-6Eem455JsSMJY6Kpd3EyWE+n5hC+g9bSyHr9K9U2zqZb7+02+hObQ2c0+8iDk/mNF+8r1MhY44WypKJAkySIYA==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular/cli/node_modules/resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@angular/cli/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@angular/cli/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@angular/common": { + "version": "11.2.12", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-11.2.12.tgz", + "integrity": "sha512-PEg2K/gNm7xia4WJn9hDieJiPvaJtfBaI5RGriVuGhvss2rNg3yKjkt8q0+6CoN/PWJ1Yi6BRgdCAOqt25SiWA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/core": "11.2.12", + "rxjs": "^6.5.3" + } + }, + "node_modules/@angular/common/node_modules/tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "license": "0BSD" + }, + "node_modules/@angular/compiler": { + "version": "11.2.12", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-11.2.12.tgz", + "integrity": "sha512-//YCDIxNYWNKxIP9ynJAjEuUT3Q3g8XsQnG9vJKkXsBLiQ/WgtX0qQBSm9A6XvnJCUGXnGNgpqTLp8jhN5izqg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + } + }, + "node_modules/@angular/compiler-cli": { + "version": "11.2.12", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-11.2.12.tgz", + "integrity": "sha512-hFQ1TBpxk2DVGPJLRfmrG+j46xtRAn5Z33/95a8b13P6kRcCI6WMY1tWYaepicww53UX6U7jndZf71UW6tXAmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.8.6", + "@babel/types": "^7.8.6", + "canonical-path": "1.0.0", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "dependency-graph": "^0.7.2", + "fs-extra": "4.0.2", + "magic-string": "^0.25.0", + "minimist": "^1.2.0", + "reflect-metadata": "^0.1.2", + "semver": "^6.3.0", + "source-map": "^0.6.1", + "sourcemap-codec": "^1.4.8", + "tslib": "^2.0.0", + "yargs": "^16.2.0" + }, + "bin": { + "ivy-ngcc": "ngcc/main-ivy-ngcc.js", + "ng-xi18n": "src/extract_i18n.js", + "ngc": "src/main.js", + "ngcc": "ngcc/main-ngcc.js" + }, + "engines": { + "node": ">=10.0" + }, + "peerDependencies": { + "@angular/compiler": "11.2.12", + "typescript": ">=4.0 <4.2" + } + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/core": { + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.10.tgz", + "integrity": "sha512-bfIYcT0BdKeAZrovpMqX2Mx5NrgAckGbwT982AkdS5GNfn3KMGiprlBAtmBcFZRUmpaufS6WZFP8trvx8ptFDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.9", + "@babel/helper-compilation-targets": "^7.13.10", + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helpers": "^7.13.10", + "@babel/parser": "^7.13.10", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@angular/compiler-cli/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/@angular/compiler-cli/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@angular/compiler-cli/node_modules/tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@angular/compiler-cli/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@angular/compiler-cli/node_modules/y18n": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular/compiler-cli/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular/compiler-cli/node_modules/yargs-parser": { + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular/compiler/node_modules/tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "license": "0BSD" + }, + "node_modules/@angular/core": { + "version": "11.2.12", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-11.2.12.tgz", + "integrity": "sha512-YnHzPNFZIfeIUJrVz+AJSNzufshzVIL3qg9CvKIUQPIjiQt2wxGLSi9KHEupxLrxfdh9gZ3C0gc8weASSkbQpg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "rxjs": "^6.5.3", + "zone.js": "^0.10.2 || ^0.11.3" + } + }, + "node_modules/@angular/core/node_modules/tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "license": "0BSD" + }, + "node_modules/@angular/forms": { + "version": "11.2.12", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-11.2.12.tgz", + "integrity": "sha512-WHUY2jsgzrhhkUKNy4zmaNthf3KwhukSiJtKAcKhVaRdQmMphK3ZMZ2ArCjqVzkiJdnkgUGYgdpszrxNveA/hQ==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/common": "11.2.12", + "@angular/core": "11.2.12", + "@angular/platform-browser": "11.2.12", + "rxjs": "^6.5.3" + } + }, + "node_modules/@angular/forms/node_modules/tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "license": "0BSD" + }, + "node_modules/@angular/platform-browser": { + "version": "11.2.12", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-11.2.12.tgz", + "integrity": "sha512-m3soGtmbdnmsa7CLzN+ggP5AvmL5YpRebZlUxd1P0mCicxuTNUYqpqKOBe0Y1OeKTgARH8McJrrKoxXc4DAojg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/animations": "11.2.12", + "@angular/common": "11.2.12", + "@angular/core": "11.2.12" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } + } + }, + "node_modules/@angular/platform-browser-dynamic": { + "version": "11.2.12", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-11.2.12.tgz", + "integrity": "sha512-o/Debr3Lab5sN+re0B/KrKG9YX2Ld/ZNi4HgX3dkm6YZWhFx9rVrU7BrB8Q8NO6aig2Udh19MhMDCtIvCPFecA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/common": "11.2.12", + "@angular/compiler": "11.2.12", + "@angular/core": "11.2.12", + "@angular/platform-browser": "11.2.12" + } + }, + "node_modules/@angular/platform-browser-dynamic/node_modules/tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "license": "0BSD" + }, + "node_modules/@angular/platform-browser/node_modules/tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "license": "0BSD" + }, + "node_modules/@angular/router": { + "version": "11.2.12", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-11.2.12.tgz", + "integrity": "sha512-Y5rM1M6MXhAdRewRDFy/F4OKI58kF/rMOPP/PVYERsH6W2ShkQqMDoHaP7/AFSJ0+x6zT87u669CSv/TlJn+sg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/common": "11.2.12", + "@angular/core": "11.2.12", + "@angular/platform-browser": "11.2.12", + "rxjs": "^6.5.3" + } + }, + "node_modules/@angular/router/node_modules/tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "license": "0BSD" + }, + "node_modules/@ant-design/colors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-5.1.1.tgz", + "integrity": "sha512-Txy4KpHrp3q4XZdfgOBqLl+lkQIc3tEvHXOimRN1giX1AEC7mGtyrO9p8iRGJ3FLuVMGa2gNEzQyghVymLttKQ==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^3.3.1" + } + }, + "node_modules/@ant-design/icons-angular": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@ant-design/icons-angular/-/icons-angular-11.0.1.tgz", + "integrity": "sha512-WwxVx/aToxTjWmB5+O+3rOjSYdF8FC/Yd/8jF1ZGQMtLWAzP8/foQmKvPAktTUsh0/Ijhtur7LrHN2VuUedMcA==", + "license": "MIT", + "dependencies": { + "@ant-design/colors": "^5.0.0", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/common": "^11.0.5", + "@angular/core": "^11.0.5", + "@angular/platform-browser": "^11.0.0", + "rxjs": "^6.4.0" + } + }, + "node_modules/@ant-design/icons-angular/node_modules/tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "license": "0BSD" + }, + "node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.12.13" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.13.11", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.11.tgz", + "integrity": "sha512-BwKEkO+2a67DcFeS3RLl0Z3Gs2OvdXewuWjc1Hfokhb5eQWP9YRYH1/+VrVZvql2CfjOiNGqSAFOYt4lsqTHzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/core": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", + "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.10", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@babel/core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.13.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz", + "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.13.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "node_modules/@babel/generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", + "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", + "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.10.tgz", + "integrity": "sha512-/Xju7Qg1GQO4mHZ/Kcs6Au7gfafgZnwm+a7sy/ow/tV1sHeraRUHbjdat8/UvDor4Tez+siGKDk6zIKtCPKVJA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.13.8", + "@babel/helper-validator-option": "^7.12.17", + "browserslist": "^4.14.5", + "semver": "^6.3.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/browserslist": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001181", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.649", + "escalade": "^3.1.1", + "node-releases": "^1.1.70" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/electron-to-chromium": { + "version": "1.3.693", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.693.tgz", + "integrity": "sha512-vUdsE8yyeu30RecppQtI+XTz2++LWLVEIYmzeCaCRLSdtKZ2eXqdJcrs85KwLiPOPVc6PELgWyXBsfqIvzGZag==", + "dev": true, + "license": "ISC" + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.13.11", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz", + "integrity": "sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-member-expression-to-functions": "^7.13.0", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-replace-supers": "^7.13.0", + "@babel/helper-split-export-declaration": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz", + "integrity": "sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.12.13", + "regexpu-core": "^4.7.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz", + "integrity": "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.13.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.0.tgz", + "integrity": "sha512-0kBzvXiIKfsCA0y6cFEIJf4OdzfpRuNk4+YTeHZpGGc666SATFKTz6sRncwFnQk7/ugJ4dSrCj6iJuvW4Qwr2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.0.tgz", + "integrity": "sha512-yvRf8Ivk62JwisqV1rFRMxiSMDGnN6KH1/mDMmIrij4jztpQNRoHqqMG3U6apYbGRPJpgPalhva9Yd06HlUxJQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.13.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", + "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.0.tgz", + "integrity": "sha512-Ls8/VBwH577+pw7Ku1QkUWIyRRNHpYlts7+qSqBBFCW3I8QteB9DxfcZ5YJpOwH6Ihe/wn8ch7fMGOP1OhEIvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-replace-supers": "^7.13.0", + "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", + "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz", + "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-wrap-function": "^7.13.0", + "@babel/types": "^7.13.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.0.tgz", + "integrity": "sha512-Segd5me1+Pz+rmN/NFBOplMbZG3SqRJOBlY+mA0SxAv6rjj7zJqr1AVr3SfzUVTLCv7ZLU5FycOM/SBGuLPbZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.13.0", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", + "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", + "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz", + "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-function-name": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.10.tgz", + "integrity": "sha512-4VO883+MWPDUVRF3PhiLBUFHoX/bsLTGFpFK/HqvvfBZz2D57u9XzPVNFVBTc0PW/CWR9BXTOKt8NF4DInUHcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.13.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.11.tgz", + "integrity": "sha512-PhuoqeHoO9fc4ffMEVk4qb/w/s2iOSWohvbHxLtxui0eBg3Lg5gN1U8wp1V1u61hOWkPQJJyJzGH6Y+grwkq8Q==", + "dev": true, + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.8.tgz", + "integrity": "sha512-rPBnhj+WgoSmgq+4gQUtXx/vOcU+UYtjy1AA/aeD61Hwj410fwYyqfUcRP3lR8ucgliVJL/G7sXcNUecC75IXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-remap-async-to-generator": "^7.13.0", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz", + "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz", + "integrity": "sha512-ONWKj0H6+wIRCkZi9zSbZtE/r73uOhMVHh256ys0UzfM7I3d4n+spZNWjOnJv2gzopumP2Wxi186vI8N0Y2JyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", + "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz", + "integrity": "sha512-w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz", + "integrity": "sha512-aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz", + "integrity": "sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz", + "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz", + "integrity": "sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.13.8", + "@babel/helper-compilation-targets": "^7.13.8", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.13.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz", + "integrity": "sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.8.tgz", + "integrity": "sha512-hpbBwbTgd7Cz1QryvwJZRo1U0k1q8uyBmeXOSQUjdg/A2TASkhR/rz7AyqZ/kS8kbpsNA80rOYbxySBJAqmhhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz", + "integrity": "sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", + "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", + "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz", + "integrity": "sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.13.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", + "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", + "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz", + "integrity": "sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz", + "integrity": "sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-replace-supers": "^7.13.0", + "@babel/helper-split-export-declaration": "^7.12.13", + "globals": "^11.1.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz", + "integrity": "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.13.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.0.tgz", + "integrity": "sha512-zym5em7tePoNT9s964c0/KU3JPPnuq7VhIxPRefJ4/s82cD+q1mgKfuGRDMCPL0HTyKz4dISuQlCusfgCJ86HA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.13.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", + "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", + "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", + "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz", + "integrity": "sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.13.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", + "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", + "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", + "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz", + "integrity": "sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz", + "integrity": "sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-simple-access": "^7.12.13", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz", + "integrity": "sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-hoist-variables": "^7.13.0", + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-validator-identifier": "^7.12.11", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz", + "integrity": "sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", + "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", + "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", + "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz", + "integrity": "sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.13.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", + "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz", + "integrity": "sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerator-transform": "^0.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", + "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz", + "integrity": "sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "semver": "^5.5.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", + "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz", + "integrity": "sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", + "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz", + "integrity": "sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.13.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", + "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", + "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", + "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", + "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.12.7", + "@babel/helper-compilation-targets": "^7.12.5", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.11", + "@babel/plugin-proposal-async-generator-functions": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-dynamic-import": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.1", + "@babel/plugin-proposal-json-strings": "^7.12.1", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-numeric-separator": "^7.12.7", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.12.1", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/plugin-transform-block-scoped-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.11", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-computed-properties": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-dotall-regex": "^7.12.1", + "@babel/plugin-transform-duplicate-keys": "^7.12.1", + "@babel/plugin-transform-exponentiation-operator": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-function-name": "^7.12.1", + "@babel/plugin-transform-literals": "^7.12.1", + "@babel/plugin-transform-member-expression-literals": "^7.12.1", + "@babel/plugin-transform-modules-amd": "^7.12.1", + "@babel/plugin-transform-modules-commonjs": "^7.12.1", + "@babel/plugin-transform-modules-systemjs": "^7.12.1", + "@babel/plugin-transform-modules-umd": "^7.12.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", + "@babel/plugin-transform-new-target": "^7.12.1", + "@babel/plugin-transform-object-super": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-property-literals": "^7.12.1", + "@babel/plugin-transform-regenerator": "^7.12.1", + "@babel/plugin-transform-reserved-words": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/plugin-transform-sticky-regex": "^7.12.7", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/plugin-transform-typeof-symbol": "^7.12.10", + "@babel/plugin-transform-unicode-escapes": "^7.12.1", + "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.12.11", + "core-js-compat": "^3.8.0", + "semver": "^5.5.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz", + "integrity": "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-remap-async-to-generator": "^7.13.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "dev": true, + "license": "MIT", + "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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", + "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.4" + } + }, + "node_modules/@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/traverse": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", + "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.0", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.13.0", + "@babel/types": "^7.13.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/types": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.0.tgz", + "integrity": "sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.4.0.tgz", + "integrity": "sha512-JZButFdZ1+/xAfpguQHoabIXkcqRRKpMrWKBkpEZZyxfY9C1DpADFB8PEqGSTeFr135SaTRfKqGKx5xSCLI7ZQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", + "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", + "integrity": "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jsdevtools/coverage-istanbul-loader": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.5.tgz", + "integrity": "sha512-EUCPEkaRPvmHjWAAZkWMT7JDzpw7FKB00WTISaiXsbNOd5hCHg77XLA8sLYLFDo1zepYLo2w7GstN8YBqRXZfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "convert-source-map": "^1.7.0", + "istanbul-lib-instrument": "^4.0.3", + "loader-utils": "^2.0.0", + "merge-source-map": "^1.1.0", + "schema-utils": "^2.7.0" + } + }, + "node_modules/@jsdevtools/coverage-istanbul-loader/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@ngtools/webpack": { + "version": "11.2.11", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-11.2.11.tgz", + "integrity": "sha512-CfWS6mWG8FftHe+LtsIQnzaADtzKd+oy0BjynD8sXeMNy2y37sqCw9iJfoCNONKaeFglszyfFPAB8Xj3u3WXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "11.2.11", + "enhanced-resolve": "5.7.0", + "webpack-sources": "2.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": "^6.11.0 || ^7.5.6", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^11.0.0 || ^11.2.0-next", + "typescript": "~4.0.0 || ~4.1.0", + "webpack": "^4.0.0" + } + }, + "node_modules/@ngtools/webpack/node_modules/webpack-sources": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", + "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.4", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.4", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/ci-detect": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-1.3.0.tgz", + "integrity": "sha512-oN3y7FAROHhrAt7Rr7PnTSwrHrZVRTS2ZbyxeQwSSYD0ifwM3YNgQqbaRmjcWoPyq77MjchusjJDspbzMmip1Q==", + "dev": true, + "license": "ISC" + }, + "node_modules/@npmcli/git": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.0.6.tgz", + "integrity": "sha512-a1MnTfeRPBaKbFY07fd+6HugY1WAkKJzdiJvlRub/9o5xz2F/JtPacZZapx5zRJUQFIzSL677vmTSxEcDMrDbg==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^1.1.0", + "lru-cache": "^6.0.0", + "mkdirp": "^1.0.3", + "npm-pick-manifest": "^6.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.2", + "unique-filename": "^1.1.1", + "which": "^2.0.2" + } + }, + "node_modules/@npmcli/git/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", + "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "installed-package-contents": "index.js" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/move-file/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/move-file/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.2.tgz", + "integrity": "sha512-yrJUe6reVMpktcvagumoqD9r08fH1iRo01gn1u0zoCApa9lnZGEigVKUd2hzsCId4gdtkZZIVscLhNxMECKgRg==", + "dev": true, + "license": "ISC" + }, + "node_modules/@npmcli/promise-spawn": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz", + "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==", + "dev": true, + "license": "ISC", + "dependencies": { + "infer-owner": "^1.0.4" + } + }, + "node_modules/@npmcli/run-script": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.4.tgz", + "integrity": "sha512-Yd9HXTtF1JGDXZw0+SOn+mWLYS0e7bHBHVC/2C8yqs4wUrs/k8rwBSinD7rfk+3WG/MFGRZKxjyoD34Pch2E/A==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^1.0.2", + "@npmcli/promise-spawn": "^1.3.2", + "infer-owner": "^1.0.4", + "node-gyp": "^7.1.0", + "read-package-json-fast": "^2.0.1" + } + }, + "node_modules/@npmcli/run-script/node_modules/read-package-json-fast": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.2.tgz", + "integrity": "sha512-5fyFUyO9B799foVk4n6ylcoAktG/FbE3jwRKxvwaeSrIunaoMc0u81dzXxjeAFKOce7O5KncdfwpGvvs6r5PsQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@schematics/angular": { + "version": "11.2.11", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-11.2.11.tgz", + "integrity": "sha512-Ii7KabU79Jg2zoU7qR9wFd81TOAePQ6jog7OhoTyE2aKpKyBZlHXA4qq1dJfV3GAE5H1JKVm0lRgGEFJLQitGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "11.2.11", + "@angular-devkit/schematics": "11.2.11", + "jsonc-parser": "3.0.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": "^6.11.0 || ^7.5.6", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@schematics/update": { + "version": "0.1102.11", + "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.1102.11.tgz", + "integrity": "sha512-SdQ/Zao+huxSFnKXFbf93EEExzyLy5y+BBs14n9uLwnhaFbd5jlH0xO8/Ui1H6oDuOycSRQdnl7gt3sUr8EbaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "11.2.11", + "@angular-devkit/schematics": "11.2.11", + "@yarnpkg/lockfile": "1.1.0", + "ini": "2.0.0", + "npm-package-arg": "^8.0.0", + "pacote": "11.2.4", + "semver": "7.3.4", + "semver-intersect": "1.4.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": "^6.11.0 || ^7.5.6", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@trysound/sax": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.1.1.tgz", + "integrity": "sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/glob/node_modules/@types/node": { + "version": "14.14.35", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz", + "integrity": "sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.0.1.tgz", + "integrity": "sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@types/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A==", + "license": "MIT" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/q": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", + "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/selenium-webdriver": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.17.tgz", + "integrity": "sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/webpack-sources": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.8.tgz", + "integrity": "sha512-JHB2/xZlXOjzjBB6fMOpH1eQAfsrpqVVIbneE0Rok16WXwFaznaI5vfg75U5WgGJm7V9W1c4xeRQDjX/zwvghA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.6.1" + } + }, + "node_modules/@types/webpack-sources/node_modules/@types/node": { + "version": "14.14.35", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz", + "integrity": "sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true, + "license": "ISC" + }, + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true, + "license": "ISC" + }, + "node_modules/accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz", + "integrity": "sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.3.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz", + "integrity": "sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": ">=5.0.0" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true, + "license": "MIT" + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.11.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansi-styles/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/app-root-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz", + "integrity": "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true, + "license": "ISC" + }, + "node_modules/are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "license": "ISC", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/argparse/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/aria-query": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", + "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "ast-types-flow": "0.0.7", + "commander": "^2.11.0" + } + }, + "node_modules/arity-n": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz", + "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=", + "dev": true, + "license": "MIT" + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true, + "license": "MIT" + }, + "node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "license": "MIT", + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "license": "MIT", + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true, + "license": "ISC" + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "dev": true, + "license": "ISC" + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true, + "license": "MIT" + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "license": "(MIT OR Apache-2.0)", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.2.4.tgz", + "integrity": "sha512-DCCdUQiMD+P/as8m3XkeTUkUKuuRqLGcwD0nll7wevhqoJfMRpJlkFd1+MQh1pvupjiQuip42lc/VFvfUTMSKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.16.1", + "caniuse-lite": "^1.0.30001181", + "colorette": "^1.2.1", + "fraction.js": "^4.0.13", + "normalize-range": "^0.1.2", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/autoprefixer/node_modules/browserslist": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001181", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.649", + "escalade": "^3.1.1", + "node-releases": "^1.1.70" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/autoprefixer/node_modules/electron-to-chromium": { + "version": "1.3.693", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.693.tgz", + "integrity": "sha512-vUdsE8yyeu30RecppQtI+XTz2++LWLVEIYmzeCaCRLSdtKZ2eXqdJcrs85KwLiPOPVc6PELgWyXBsfqIvzGZag==", + "dev": true, + "license": "ISC" + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true, + "license": "MIT" + }, + "node_modules/axios": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.10.0" + } + }, + "node_modules/axobject-query": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz", + "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "ast-types-flow": "0.0.7" + } + }, + "node_modules/babel-loader": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", + "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/babel-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/babel-loader/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/babel-loader/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/babel-loader/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true, + "license": "MIT" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true, + "license": "MIT" + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/blocking-proxy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", + "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "blocking-proxy": "built/lib/bin.js" + }, + "engines": { + "node": ">=6.9.x" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true, + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "license": "MIT", + "dependencies": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "node_modules/bonjour/node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true, + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true, + "license": "MIT" + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "license": "MIT", + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-rsa/node_modules/bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true, + "license": "MIT" + }, + "node_modules/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "license": "ISC", + "dependencies": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/browserify-sign/node_modules/bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true, + "license": "MIT" + }, + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserslist": { + "version": "4.16.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.5.tgz", + "integrity": "sha512-C2HAjrM1AI/djrpAUU/tr4pml1DqLIzJKSLDBXBrNErl9ZCCTXdhwxdJjYc16953+mBWf7Lw+uUJgpgb8cN71A==", + "dev": true, + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001214", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.719", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/browserslist/node_modules/caniuse-lite": { + "version": "1.0.30001219", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001219.tgz", + "integrity": "sha512-c0yixVG4v9KBc/tQ2rlbB3A/bgBFRvl8h8M4IeUbqCca4gsiCfvtaheUssbnux/Mb66Vjz7x8yYjDgYcNQOhyQ==", + "dev": true, + "license": "CC-BY-4.0" + }, + "node_modules/browserstack": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.1.tgz", + "integrity": "sha512-GxtFjpIaKdbAyzHfFDKixKO8IBT7wR3NjbzrGc78nNs/Ciys9wU3/nBtsqsWv5nDSrdI5tz0peKuzCPuNXNUiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "https-proxy-agent": "^2.2.1" + } + }, + "node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true, + "license": "MIT" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true, + "license": "MIT" + }, + "node_modules/builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true, + "license": "MIT" + }, + "node_modules/builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", + "dev": true, + "license": "MIT" + }, + "node_modules/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz", + "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.0", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cacache/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cacache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-api/node_modules/browserslist": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001181", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.649", + "escalade": "^3.1.1", + "node-releases": "^1.1.70" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/caniuse-api/node_modules/electron-to-chromium": { + "version": "1.3.693", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.693.tgz", + "integrity": "sha512-vUdsE8yyeu30RecppQtI+XTz2++LWLVEIYmzeCaCRLSdtKZ2eXqdJcrs85KwLiPOPVc6PELgWyXBsfqIvzGZag==", + "dev": true, + "license": "ISC" + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001203", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001203.tgz", + "integrity": "sha512-/I9tvnzU/PHMH7wBPrfDMSuecDeUKerjCPX7D0xBbaJZPxoT9m+yYxt0zCTkcijCkjTdim3H56Zm0i5Adxch4w==", + "dev": true, + "license": "CC-BY-4.0" + }, + "node_modules/canonical-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-1.0.0.tgz", + "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==", + "dev": true, + "license": "MIT" + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.1" + } + }, + "node_modules/chokidar/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/chokidar/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/chrome-trace-event/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/circular-dependency-plugin": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz", + "integrity": "sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "webpack": ">=4.0.1" + } + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", + "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 10" + } + }, + "node_modules/clipboard": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.8.tgz", + "integrity": "sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ==", + "license": "MIT", + "dependencies": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/codelyzer": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-6.0.1.tgz", + "integrity": "sha512-cOyGQgMdhnRYtW2xrJUNrNYDjEgwQ+BrE2y93Bwz3h4DJ6vJRLfupemU5N3pbYsUlBHJf0u1j1UGk+NLW4d97g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular/compiler": "9.0.0", + "@angular/core": "9.0.0", + "app-root-path": "^3.0.0", + "aria-query": "^3.0.0", + "axobject-query": "2.0.2", + "css-selector-tokenizer": "^0.7.1", + "cssauron": "^1.4.0", + "damerau-levenshtein": "^1.0.4", + "rxjs": "^6.5.3", + "semver-dsl": "^1.0.1", + "source-map": "^0.5.7", + "sprintf-js": "^1.1.2", + "tslib": "^1.10.0", + "zone.js": "~0.10.3" + }, + "peerDependencies": { + "@angular/compiler": ">=2.3.1 <12.0.0 || ^11.0.0-next || ^11.1.0-next || ^11.2.0-next", + "@angular/core": ">=2.3.1 <12.0.0 || ^11.0.0-next || ^11.1.0-next || ^11.2.0-next", + "tslint": "^5.0.0 || ^6.0.0" + } + }, + "node_modules/codelyzer/node_modules/@angular/compiler": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.0.tgz", + "integrity": "sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "tslib": "^1.10.0" + } + }, + "node_modules/codelyzer/node_modules/@angular/compiler/node_modules/tslib": { + "version": "2.1.0", + "dev": true, + "license": "0BSD", + "peer": true + }, + "node_modules/codelyzer/node_modules/rxjs": { + "version": "6.6.6", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.6.tgz", + "integrity": "sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/codelyzer/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/codelyzer/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/codelyzer/node_modules/zone.js": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", + "integrity": "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg==", + "dev": true, + "license": "MIT" + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "license": "MIT", + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", + "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.1", + "color-string": "^1.5.4" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-convert/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true, + "license": "MIT" + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/color-string": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz", + "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true, + "license": "MIT" + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true, + "license": "MIT" + }, + "node_modules/compose-function": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz", + "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=", + "dev": true, + "license": "MIT", + "dependencies": { + "arity-n": "^1.0.4" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true, + "license": "ISC" + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true, + "license": "MIT" + }, + "node_modules/content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/convert-source-map/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-anything": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.3.tgz", + "integrity": "sha512-GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-what": "^3.12.0" + } + }, + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.3.2.tgz", + "integrity": "sha512-MgJ1uouLIbDg4ST1GzqrGQyKoXY5iPqi6fghFqarijam7FQcBa/r6Rg0VkoIuzx75Xq8iAMghyOueMkWUQ5OaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cacache": "^15.0.5", + "fast-glob": "^3.2.4", + "find-cache-dir": "^3.3.1", + "glob-parent": "^5.1.1", + "globby": "^11.0.1", + "loader-utils": "^2.0.0", + "normalize-path": "^3.0.0", + "p-limit": "^3.0.2", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "webpack-sources": "^1.4.3" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/core-js": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.3.tgz", + "integrity": "sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.9.1.tgz", + "integrity": "sha512-jXAirMQxrkbiiLsCx9bQPJFA6llDadKMpYrBJQJ3/c4/vsPP/fAf29h24tviRlvwUL6AmY5CHLu2GvjuYviQqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.16.3", + "semver": "7.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat/node_modules/browserslist": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001181", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.649", + "escalade": "^3.1.1", + "node-releases": "^1.1.70" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/core-js-compat/node_modules/electron-to-chromium": { + "version": "1.3.693", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.693.tgz", + "integrity": "sha512-vUdsE8yyeu30RecppQtI+XTz2++LWLVEIYmzeCaCRLSdtKZ2eXqdJcrs85KwLiPOPVc6PELgWyXBsfqIvzGZag==", + "dev": true, + "license": "ISC" + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true, + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/critters": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.7.tgz", + "integrity": "sha512-qUF2SaAWFYjNPdCcPpu68p2DnHiosia84yx5mPTlUMQjkjChR+n6sO1/I7yn2U2qNDgSPTd2SoaTIDQcUL+EwQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "chalk": "^4.1.0", + "css": "^3.0.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "pretty-bytes": "^5.3.0" + } + }, + "node_modules/critters/node_modules/css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + } + }, + "node_modules/critters/node_modules/source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/css": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + } + }, + "node_modules/css-color-names": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz", + "integrity": "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.0.0.tgz", + "integrity": "sha512-S0TE4E0ha5+tBHdLWPc5n+S8E4dFBS5xScPvgHkLNZwWvX4ISoFGhGeerLC9uS1cKA/sC+K2wHq6qEbcagT/fg==", + "dev": true, + "license": "ISC", + "dependencies": { + "timsort": "^0.3.0" + }, + "engines": { + "node": ">= 10" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-loader": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.0.1.tgz", + "integrity": "sha512-cXc2ti9V234cq7rJzFKhirb2L2iPy8ZjALeVJAozXYz9te3r4eqLSixNAbMDJSgJEQywqXzs8gonxaboeKqwiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase": "^6.2.0", + "cssesc": "^3.0.0", + "icss-utils": "^5.0.0", + "loader-utils": "^2.0.0", + "postcss": "^8.1.4", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.27.0 || ^5.0.0" + } + }, + "node_modules/css-loader/node_modules/camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/css-loader/node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/css-loader/node_modules/postcss": { + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.8.tgz", + "integrity": "sha512-1F0Xb2T21xET7oQV9eKuctbM9S7BC0fetoHCc4H13z0PT6haiRLP4T0ZY4XWh7iLP0usgqykT6p9B2RtOf4FPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "colorette": "^1.2.2", + "nanoid": "^3.1.20", + "source-map": "^0.6.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/css-loader/node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/css-loader/node_modules/postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/css-loader/node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/css-loader/node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/css-parse": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", + "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", + "dev": true, + "license": "MIT", + "dependencies": { + "css": "^2.0.0" + } + }, + "node_modules/css-select": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-3.1.2.tgz", + "integrity": "sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^4.0.0", + "domhandler": "^4.0.0", + "domutils": "^2.4.3", + "nth-check": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-selector-tokenizer": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", + "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "node_modules/css-tree": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", + "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-what": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-4.0.0.tgz", + "integrity": "sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssauron": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz", + "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=", + "dev": true, + "license": "MIT", + "dependencies": { + "through": "X.X.X" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.1.tgz", + "integrity": "sha512-5WubEmKcK2cqw43DUAayRBiIlTdX7iX3ZowrWDVxSVcW3hyohVnbJ4K4mbnWtJp5rfJnUwHg5H4mDAGzmuCM3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "cosmiconfig": "^7.0.0", + "cssnano-preset-default": "^5.0.0", + "is-resolvable": "^1.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.0.1.tgz", + "integrity": "sha512-cfmfThYODGqhpQKDq9H0MTAqkMvZ3dGbOUTBKw0xWZiIycMqHid22LsJXJl4r1qX4qzDeKxcSyQ/Xb5Mu3Z//Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-declaration-sorter": "6.0.0", + "cssnano-utils": "^2.0.0", + "postcss-calc": "^8.0.0", + "postcss-colormin": "^5.0.0", + "postcss-convert-values": "^5.0.0", + "postcss-discard-comments": "^5.0.0", + "postcss-discard-duplicates": "^5.0.0", + "postcss-discard-empty": "^5.0.0", + "postcss-discard-overridden": "^5.0.0", + "postcss-merge-longhand": "^5.0.1", + "postcss-merge-rules": "^5.0.0", + "postcss-minify-font-values": "^5.0.0", + "postcss-minify-gradients": "^5.0.0", + "postcss-minify-params": "^5.0.0", + "postcss-minify-selectors": "^5.0.0", + "postcss-normalize-charset": "^5.0.0", + "postcss-normalize-display-values": "^5.0.0", + "postcss-normalize-positions": "^5.0.0", + "postcss-normalize-repeat-style": "^5.0.0", + "postcss-normalize-string": "^5.0.0", + "postcss-normalize-timing-functions": "^5.0.0", + "postcss-normalize-unicode": "^5.0.0", + "postcss-normalize-url": "^5.0.0", + "postcss-normalize-whitespace": "^5.0.0", + "postcss-ordered-values": "^5.0.0", + "postcss-reduce-initial": "^5.0.0", + "postcss-reduce-transforms": "^5.0.0", + "postcss-svgo": "^5.0.0", + "postcss-unique-selectors": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/cssnano-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.0.tgz", + "integrity": "sha512-xvxmTszdrvSyTACdPe8VU5J6p4sm3egpgw54dILvNqt5eBUv6TFjACLhSxtRuEsxYrgy8uDy269YjScO5aKbGA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true, + "license": "MIT" + }, + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "license": "ISC", + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", + "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/date-fns": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.19.0.tgz", + "integrity": "sha512-X3bf2iTPgCAQp9wvjOQytnf5vO5rESYRXlPIVcgSbtT5OTScPcsf9eZU+B/YIkKAtYr5WeCii58BgATrNitlWg==", + "license": "MIT", + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, + "node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true, + "license": "MIT" + }, + "node_modules/default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "dev": true, + "license": "MIT", + "dependencies": { + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", + "license": "MIT" + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true, + "license": "MIT" + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/dependency-graph": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.7.2.tgz", + "integrity": "sha512-KqtH4/EZdtdfWX0p6MGP9jljvxSY6msy/pRUD4jgNwVpv3v1QmNLlsB3LDSSUg79BRVSn7jI1QPRtArGABovAQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true, + "license": "MIT" + }, + "node_modules/detect-node": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.5.tgz", + "integrity": "sha512-qi86tE6hRcFHy8jI1m2VG+LaPUR1LhqDa5G8tVjuUXmOrpuAgqsA1pN0+ldgr3aKUH+QLI9hCY/OcRYisERejw==", + "dev": true, + "license": "MIT" + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true, + "license": "MIT" + }, + "node_modules/dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-indexof": "^1.0.0" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.1.tgz", + "integrity": "sha512-Pv2ZluG5ife96udGgEDovOOOA5UELkltfJpnIExPrAk1LTvecolUGn6lIaoLh86d83GiB86CjzciMd9BuRB71Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", + "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.6.0.tgz", + "integrity": "sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "license": "MIT", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.3.723", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.723.tgz", + "integrity": "sha512-L+WXyXI7c7+G1V8ANzRsPI5giiimLAUDC6Zs1ojHHPhYXb3k/iTABFmWjivEtsWrRQymjnO66/rO2ZTABGdmWg==", + "dev": true, + "license": "ISC" + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", + "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz", + "integrity": "sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/enhanced-resolve/node_modules/tapable": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "license": "MIT", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "license": "MIT", + "dependencies": { + "es6-promise": "^4.0.3" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "license": "ISC", + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true, + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.25.0.tgz", + "integrity": "sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.21", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.4", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.7.0.tgz", + "integrity": "sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true, + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/eventsource": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", + "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "original": "^1.0.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/execa/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/execa/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/execa/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/express/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "dev": true, + "license": "ISC", + "dependencies": { + "type": "^2.0.0" + } + }, + "node_modules/ext/node_modules/type": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", + "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", + "dev": true, + "license": "ISC" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true, + "license": "MIT" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/external-editor/node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-glob/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-glob/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-glob/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/fast-glob/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-glob/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true, + "license": "MIT" + }, + "node_modules/fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", + "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true, + "license": "ISC" + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-cache-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-cache-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/flatted": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", + "dev": true, + "license": "ISC" + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/follow-redirects": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.3.tgz", + "integrity": "sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.0.13.tgz", + "integrity": "sha512-E1fz2Xs9ltlUp+qbiyx9wmt2n9dRzPsS11Jtdb8D2o+cC7wr9xkkKsVKJuBX0ST+LVS+LhLO+SbLJNtfWcJvXA==", + "dev": true, + "license": "MIT OR GPL-2.0-or-later", + "engines": { + "node": "*" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "license": "MIT", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/fs-extra": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz", + "integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "license": "MIT" + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true, + "license": "MIT" + }, + "node_modules/gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "node_modules/gauge/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "license": "MIT", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gauge/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "license": "MIT", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gauge/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", + "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/globby/node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "license": "MIT", + "dependencies": { + "delegate": "^3.1.2" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true, + "license": "MIT" + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true, + "license": "ISC" + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "license": "MIT", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "license": "MIT", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hosted-git-info": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.1.tgz", + "integrity": "sha512-eT7NrxAsppPRQEBSwKSosReE+v8OzABwEScQYk5d4uxaEPlzxTIku7LINXtBGalthkLhJnq5lBI89PfK43zAKg==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hotkeys-js": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/hotkeys-js/-/hotkeys-js-3.8.3.tgz", + "integrity": "sha512-rUmoryG4lEAtkjF5tcYaihrVoE86Fdw1BLqO/UiBWOOF56h32a6ax8oV4urBlinVtNNtArLlBq8igGfZf2tQnw==", + "license": "MIT" + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true, + "license": "MIT" + }, + "node_modules/hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true, + "license": "MIT" + }, + "node_modules/html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true, + "license": "MIT" + }, + "node_modules/http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-errors/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true, + "license": "ISC" + }, + "node_modules/http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true, + "license": "MIT" + }, + "node_modules/https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/https-proxy-agent/node_modules/agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/humanize-ms/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true, + "license": "MIT" + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-walk": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "dev": true, + "license": "MIT", + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", + "dev": true, + "license": "MIT" + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true, + "license": "MIT" + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true, + "license": "ISC" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/inquirer/node_modules/rxjs": { + "version": "6.6.6", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.6.tgz", + "integrity": "sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/inquirer/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true, + "license": "MIT" + }, + "node_modules/ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arguments": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", + "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true, + "license": "MIT" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "license": "MIT", + "dependencies": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "node_modules/is-color-stop/node_modules/css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-docker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=", + "dev": true, + "license": "MIT" + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-path-inside": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "license": "MIT", + "dependencies": { + "path-is-inside": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true, + "license": "ISC" + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true, + "license": "MIT" + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true, + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true, + "license": "MIT" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/@babel/core": { + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.10.tgz", + "integrity": "sha512-bfIYcT0BdKeAZrovpMqX2Mx5NrgAckGbwT982AkdS5GNfn3KMGiprlBAtmBcFZRUmpaufS6WZFP8trvx8ptFDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.9", + "@babel/helper-compilation-targets": "^7.13.10", + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helpers": "^7.13.10", + "@babel/parser": "^7.13.10", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jasmine": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", + "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", + "dev": true, + "license": "MIT", + "dependencies": { + "exit": "^0.1.2", + "glob": "^7.0.6", + "jasmine-core": "~2.8.0" + }, + "bin": { + "jasmine": "bin/jasmine.js" + } + }, + "node_modules/jasmine-core": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", + "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", + "dev": true, + "license": "MIT" + }, + "node_modules/jasminewd2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz", + "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6.9.x" + } + }, + "node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/@types/node": { + "version": "14.14.35", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz", + "integrity": "sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/js-base64": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.6.0.tgz", + "integrity": "sha512-wVdUBYQeY2gY73RIlPrysvpYx+2vheGo8Y1SNQv/BzHToWpAZzJU7Z6uheKMAe+GLSBig5/Ps2nxg/8tRB73xg==", + "license": "BSD-3-Clause" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true, + "license": "ISC" + }, + "node_modules/json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", + "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true, + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "license": "MIT", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "node_modules/jszip": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.6.0.tgz", + "integrity": "sha512-jgnQoG9LKnWO3mnVNBnfhkh0QknICd1FGSrXcgrl67zioyJ4wgx25o9ZqwNtrROSflGBCGYnJfjrIyRIby1OoQ==", + "dev": true, + "license": "(MIT OR GPL-3.0)", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "set-immediate-shim": "~1.0.1" + } + }, + "node_modules/karma-source-map-support": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", + "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-map-support": "^0.5.5" + } + }, + "node_modules/killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true, + "license": "ISC" + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klona": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", + "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/less": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/less/-/less-4.1.1.tgz", + "integrity": "sha512-w09o8tZFPThBscl5d0Ggp3RcrKIouBoQscnOMgFH3n5V3kN/CXGHNfCkRPtxJk6nKryDXaV9aHLK55RXuH4sAw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^1.10.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=6" + }, + "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": "^2.5.2", + "source-map": "~0.6.0" + } + }, + "node_modules/less-loader": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-7.3.0.tgz", + "integrity": "sha512-Mi8915g7NMaLlgi77mgTTQvK022xKRQBIVDSyfl3ErTuBhmZBQab0mjeJjNNqGbdR+qrfTleKXqbGI4uEFavxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "less": "^3.5.0 || ^4.0.0", + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/less/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/license-webpack-plugin": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.3.11.tgz", + "integrity": "sha512-0iVGoX5vx0WDy8dmwTTpOOMYiGqILyUbDeVMFH52AjgBlS58lHwOlFMSoqg5nY8Kxl6+FRKyUZY/UdlQaOyqDw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@types/webpack-sources": "^0.1.5", + "webpack-sources": "^1.2.0" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true, + "license": "MIT" + }, + "node_modules/loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/loglevel": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", + "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/loglevel" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.4" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true, + "license": "ISC" + }, + "node_modules/make-fetch-happen": { + "version": "8.0.14", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz", + "integrity": "sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.0.5", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^5.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/make-fetch-happen/node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "license": "MIT", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "license": "MIT", + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true, + "license": "MIT" + }, + "node_modules/merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.46.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz", + "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.29", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz", + "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.46.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.5.tgz", + "integrity": "sha512-tvmzcwqJJXau4OQE5vT72pRT18o2zF+tQJp8CWchqvfQnTlflkzS+dANYcRdyPRWUWRkfmeNTKltx0NZI/b5dQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "webpack-sources": "^1.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.4.0 || ^5.0.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true, + "license": "MIT" + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true, + "license": "MIT" + }, + "node_modules/minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-fetch": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.3.3.tgz", + "integrity": "sha512-akCrLDWfbdAWkMLBxJEeWTdNsjML+dt5YgOI4gJ53vuO0vrmYQkUPxa6j6V65s9CcePIr2SSWqjT2EcrNseryQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "encoding": "^0.1.12" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "dev": true, + "license": "MIT", + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mitt": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz", + "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==", + "license": "MIT" + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true, + "license": "MIT" + }, + "node_modules/multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true, + "license": "MIT" + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true, + "license": "ISC" + }, + "node_modules/nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/nanoid": { + "version": "3.1.22", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.22.tgz", + "integrity": "sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ==", + "dev": true, + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true, + "license": "MIT" + }, + "node_modules/needle": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.6.0.tgz", + "integrity": "sha512-KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/needle/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/needle/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, + "node_modules/next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true, + "license": "MIT" + }, + "node_modules/ng-zorro-antd": { + "version": "11.4.1", + "resolved": "https://registry.npmjs.org/ng-zorro-antd/-/ng-zorro-antd-11.4.1.tgz", + "integrity": "sha512-YxoPIGz6JMF9uqSSBZRtr1TlrqT49xk7zInZoN7uvNFc7dGW2fb8syskzJ+Pe83QMC/rnbuPWz1VMRf2HtCHvw==", + "license": "MIT", + "dependencies": { + "@angular/cdk": "^11.0.2", + "@ant-design/icons-angular": "^11.0.1", + "date-fns": "^2.10.0", + "resize-observer-polyfill": "^1.5.1", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/animations": "^11.0.4", + "@angular/common": "^11.0.4", + "@angular/core": "^11.0.4", + "@angular/forms": "^11.0.4", + "@angular/platform-browser": "^11.0.4", + "@angular/router": "^11.0.4" + } + }, + "node_modules/ng-zorro-antd/node_modules/tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "license": "0BSD" + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "dev": true, + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/node-gyp": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", + "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.3", + "nopt": "^5.0.0", + "npmlog": "^4.1.2", + "request": "^2.88.2", + "rimraf": "^3.0.2", + "semver": "^7.3.2", + "tar": "^6.0.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/node-gyp/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "1.1.71", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", + "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", + "dev": true, + "license": "MIT" + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm-bundled": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", + "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/npm-install-checks": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", + "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true, + "license": "ISC" + }, + "node_modules/npm-package-arg": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.2.tgz", + "integrity": "sha512-6Eem455JsSMJY6Kpd3EyWE+n5hC+g9bSyHr9K9U2zqZb7+02+hObQ2c0+8iDk/mNF+8r1MhY44WypKJAkySIYA==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-packlist": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.1.4.tgz", + "integrity": "sha512-Qzg2pvXC9U4I4fLnUrBmcIT4x0woLtUgxUi9eC+Zrcv1Xx5eamytGAfbDWQ67j7xOcQ2VW1I3su9smVTIdu7Hw==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.6", + "ignore-walk": "^3.0.3", + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "npm-packlist": "bin/index.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-pick-manifest": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", + "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-install-checks": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1", + "npm-package-arg": "^8.1.2", + "semver": "^7.3.4" + } + }, + "node_modules/npm-registry-fetch": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz", + "integrity": "sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/ci-detect": "^1.0.0", + "lru-cache": "^6.0.0", + "make-fetch-happen": "^8.0.9", + "minipass": "^3.1.3", + "minipass-fetch": "^1.3.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.0.0", + "npm-package-arg": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "license": "ISC", + "dependencies": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "node_modules/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E=", + "license": "MIT" + }, + "node_modules/nth-check": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", + "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "license": "MIT", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true, + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.0.tgz", + "integrity": "sha512-PGoBCX/lclIWlpS/R2PQuIR4NJoXh6X5AwVzE7WXnWRGvHg7+4TBCgsujUgiPpm0K1y4qvQeWnCWVTpTKZBtvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", + "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "url-parse": "^1.4.3" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true, + "license": "MIT" + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "license": "MIT", + "dependencies": { + "retry": "^0.12.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pacote": { + "version": "11.2.4", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.2.4.tgz", + "integrity": "sha512-GfTeVQGJ6WyBQbQD4t3ocHbyOmTQLmWjkCKSZPmKiGFKYKNUaM5U2gbLzUW8WG1XmS9yQFnsTFA0k3o1+q4klQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^2.0.1", + "@npmcli/installed-package-contents": "^1.0.5", + "@npmcli/promise-spawn": "^1.2.0", + "@npmcli/run-script": "^1.3.0", + "cacache": "^15.0.5", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.3", + "mkdirp": "^1.0.3", + "npm-package-arg": "^8.0.1", + "npm-packlist": "^2.1.4", + "npm-pick-manifest": "^6.0.0", + "npm-registry-fetch": "^9.0.0", + "promise-retry": "^1.1.1", + "read-package-json-fast": "^1.1.3", + "rimraf": "^3.0.2", + "ssri": "^8.0.0", + "tar": "^6.1.0" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pacote/node_modules/err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", + "dev": true, + "license": "MIT" + }, + "node_modules/pacote/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pacote/node_modules/promise-retry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", + "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^1.0.0", + "retry": "^0.10.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/pacote/node_modules/retry": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", + "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/pacote/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true, + "license": "(MIT AND Zlib)" + }, + "node_modules/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "license": "ISC", + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/parse5-html-rewriting-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-6.0.1.tgz", + "integrity": "sha512-vwLQzynJVEfUlURxgnf51yAJDQTtVpNyGD8tKi2Za7m+akukNHxCcUQMAa/mUGLhCeicFdpy7Tlvj8ZNKadprg==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse5": "^6.0.1", + "parse5-sax-parser": "^6.0.1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/parse5-sax-parser": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz", + "integrity": "sha512-kXX+5S81lgESA0LsDuGjAlBybImAChYRMT+/uKCEXFBFOeEhS52qUCydGhU3qLRD8D9DVjaUo821WK7DM4iCeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true, + "license": "MIT" + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true, + "license": "(WTFPL OR MIT)" + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true, + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true, + "license": "MIT" + }, + "node_modules/picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "license": "MIT", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pnp-webpack-plugin": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", + "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ts-pnp": "^1.1.6" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/portfinder/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "8.2.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.13.tgz", + "integrity": "sha512-FCE5xLH+hjbzRdpbRb1IMCvPv9yZx2QnDarBEYSN0N0HYk+TcXsEhwdFcFb+SRWOKzKGErhIEbBK2ogyLdTtfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "colorette": "^1.2.2", + "nanoid": "^3.1.22", + "source-map": "^0.6.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-calc": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz", + "integrity": "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.0.0.tgz", + "integrity": "sha512-Yt84+5V6CgS/AhK7d7MA58vG8dSZ7+ytlRtWLaQhag3HXOncTfmYpuUOX4cDoXjvLfw1sHRCHMiBjYhc35CymQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.16.0", + "color": "^3.1.1", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.0.tgz", + "integrity": "sha512-V5kmYm4xoBAjNs+eHY/6XzXJkkGeg4kwNf2ocfqhLb1WBPEa4oaSmoi1fnVO7Dkblqvus9h+AenDvhCKUCK7uQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.0.tgz", + "integrity": "sha512-Umig6Gxs8m20RihiXY6QkePd6mp4FxkA1Dg+f/Kd6uw0gEMfKRjDeQOyFkLibexbJJGHpE3lrN/Q0R9SMrUMbQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.0.tgz", + "integrity": "sha512-vEJJ+Y3pFUnO1FyCBA6PSisGjHtnphL3V6GsNvkASq/VkP3OX5/No5RYXXLxHa2QegStNzg6HYrYdo71uR4caQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.0.tgz", + "integrity": "sha512-+wigy099Y1xZxG36WG5L1f2zeH1oicntkJEW4TDIqKKDO2g9XVB3OhoiHTu08rDEjLnbcab4rw0BAccwi2VjiQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.0.tgz", + "integrity": "sha512-hybnScTaZM2iEA6kzVQ6Spozy7kVdLw+lGw8hftLlBEzt93uzXoltkYp9u0tI8xbfhxDLTOOzHsHQCkYdmzRUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-import": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.0.tgz", + "integrity": "sha512-gFDDzXhqr9ELmnLHgCC3TbGfA6Dm/YMb/UN8/f7Uuq4fL7VTk2vOIj6hwINEwbokEmp123bLD7a5m+E+KIetRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-loader": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.2.0.tgz", + "integrity": "sha512-mqgScxHqbiz1yxbnNcPdKYo/6aVt+XExURmEbQlviFVWogDbM4AJ0A/B+ZBpYsJrTRxKw7HyRazg9x0Q9SWwLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.4" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.1.tgz", + "integrity": "sha512-H1RO8le5deFGumQzuhJjuL0bIXPRysa+w7xtk5KrHe38oiaSS9ksPXDo24+IOS3SETPhip0J5+1uCOW+ALs3Yw==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-color-names": "^1.0.1", + "postcss-value-parser": "^4.1.0", + "stylehacks": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.0.tgz", + "integrity": "sha512-TfsXbKjNYCGfUPEXGIGPySnMiJbdS+3gcVeV8gwmJP4RajyKZHW8E0FYDL1WmggTj3hi+m+WUCAvqRpX2ut4Kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.16.0", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^2.0.0", + "postcss-selector-parser": "^6.0.4", + "vendors": "^1.0.3" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.0.tgz", + "integrity": "sha512-zi2JhFaMOcIaNxhndX5uhsqSY1rexKDp23wV8EOmC9XERqzLbHsoRye3aYF716Zm+hkcR4loqKDt8LZlmihwAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.0.tgz", + "integrity": "sha512-/jPtNgs6JySMwgsE5dPOq8a2xEopWTW3RyqoB9fLqxgR+mDUNLSi7joKd+N1z7FXWgVkc4l/dEBMXHgNAaUbvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-utils": "^2.0.0", + "is-color-stop": "^1.1.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.0.tgz", + "integrity": "sha512-KvZYIxTPBVKjdd+XgObq9A+Sfv8lMkXTpbZTsjhr42XbfWIeLaTItMlygsDWfjArEc3muUfDaUFgNSeDiJ5jug==", + "dev": true, + "license": "MIT", + "dependencies": { + "alphanum-sort": "^1.0.2", + "browserslist": "^4.16.0", + "cssnano-utils": "^2.0.0", + "postcss-value-parser": "^4.1.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.0.0.tgz", + "integrity": "sha512-cEM0O0eWwFIvmo6nfB0lH0vO/XFwgqIvymODbfPXZ1gTA3i76FKnb7TGUrEpiTxaXH6tgYQ6DcTHwRiRS+YQLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^3.1.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.0.tgz", + "integrity": "sha512-pqsCkgo9KmQP0ew6DqSA+uP9YN6EfsW20pQ3JU5JoQge09Z6Too4qU0TNDsTNWuEaP8SWsMp+19l15210MsDZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.0.tgz", + "integrity": "sha512-t4f2d//gH1f7Ns0Jq3eNdnWuPT7TeLuISZ6RQx4j8gpl5XrhkdshdNcOnlrEK48YU6Tcb6jqK7dorME3N4oOGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-utils": "^2.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.0.tgz", + "integrity": "sha512-0o6/qU5ky74X/eWYj/tv4iiKCm3YqJnrhmVADpIMNXxzFZywsSQxl8F7cKs8jQEtF3VrJBgcDHTexZy1zgDoYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.0.tgz", + "integrity": "sha512-KRT14JbrXKcFMYuc4q7lh8lvv8u22wLyMrq+UpHKLtbx2H/LOjvWXYdoDxmNrrrJzomAWL+ViEXr48/IhSUJnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-utils": "^2.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.0.tgz", + "integrity": "sha512-wSO4pf7GNcDZpmelREWYADF1+XZWrAcbFLQCOqoE92ZwYgaP/RLumkUTaamEzdT2YKRZAH8eLLKGWotU/7FNPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.0.tgz", + "integrity": "sha512-TwPaDX+wl9wO3MUm23lzGmOzGCGKnpk+rSDgzB2INpakD5dgWR3L6bJq1P1LQYzBAvz8fRIj2NWdnZdV4EV98Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-utils": "^2.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.0.tgz", + "integrity": "sha512-2CpVoz/67rXU5s9tsPZDxG1YGS9OFHwoY9gsLAzrURrCxTAb0H7Vp87/62LvVPgRWTa5ZmvgmqTp2rL8tlm72A==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.16.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.0.tgz", + "integrity": "sha512-ICDaGFBqLgA3dlrCIRuhblLl80D13YtgEV9NJPTYJtgR72vu61KgxAHv+z/lKMs1EbwfSQa3ALjOFLSmXiE34A==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-absolute-url": "^3.0.3", + "normalize-url": "^4.5.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.0.tgz", + "integrity": "sha512-KRnxQvQAVkJfaeXSz7JlnD9nBN9sFZF9lrk9452Q2uRoqrRSkinqifF8Iex7wZGei2DZVG/qpmDFDmRvbNAOGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.0.tgz", + "integrity": "sha512-dPr+SRObiHueCIc4IUaG0aOGQmYkuNu50wQvdXTGKy+rzi2mjmPsbeDsheLk5WPb9Zyf2tp8E+I+h40cnivm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-utils": "^2.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.0.tgz", + "integrity": "sha512-wR6pXUaFbSMG1oCKx8pKVA+rnSXCHlca5jMrlmkmif+uig0HNUTV9oGN5kjKsM3mATQAldv2PF9Tbl2vqLFjnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.16.0", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.0.tgz", + "integrity": "sha512-iHdGODW4YzM3WjVecBhPQt6fpJC4lGQZxJKjkBNHpp2b8dzmvj0ogKThqya+IRodQEFzjfXgYeESkf172FH5Lw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-utils": "^2.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", + "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.0.tgz", + "integrity": "sha512-M3/VS4sFI1Yp9g0bPL+xzzCNz5iLdRUztoFaugMit5a8sMfkVzzhwqbsOlD8IFFymCdJDmXmh31waYHWw1K4BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.1.0", + "svgo": "^2.3.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.0.tgz", + "integrity": "sha512-o9l4pF8SRn7aCMTmzb/kNv/kjV7wPZpZ8Nlb1Gq8v/Qvw969K1wanz1RVA0ehHzWe9+wHXaC2DvZlak/gdMJ5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^6.0.2", + "uniqs": "^2.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true, + "license": "ISC" + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/protractor": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz", + "integrity": "sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/q": "^0.0.32", + "@types/selenium-webdriver": "^3.0.0", + "blocking-proxy": "^1.0.0", + "browserstack": "^1.5.1", + "chalk": "^1.1.3", + "glob": "^7.0.3", + "jasmine": "2.8.0", + "jasminewd2": "^2.1.0", + "q": "1.4.1", + "saucelabs": "^1.5.0", + "selenium-webdriver": "3.6.0", + "source-map-support": "~0.4.0", + "webdriver-js-extender": "2.1.0", + "webdriver-manager": "^12.1.7", + "yargs": "^15.3.1" + }, + "bin": { + "protractor": "bin/protractor", + "webdriver-manager": "bin/webdriver-manager" + }, + "engines": { + "node": ">=10.13.x" + } + }, + "node_modules/protractor/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-map": "^0.5.6" + } + }, + "node_modules/protractor/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true, + "license": "MIT" + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", + "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", + "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.2.tgz", + "integrity": "sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-loader": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz", + "integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-package-json-fast": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-1.2.2.tgz", + "integrity": "sha512-39DbPJjkltEzfXJXB6D8/Ir3GFOU2YbSKa2HaB/Y3nKrc/zY+0XrALpID6/13ezWyzqvOHrBbR4t4cjQuTdBVQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "license": "MIT", + "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" + } + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regenerator-transform/node_modules/@babel/runtime": { + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz", + "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true, + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.7.tgz", + "integrity": "sha512-ib77G0uxsA2ovgiYbCVGx4Pv3PSttAx2vIwidqQzbL2U5S4Q+j00HdSAneSBuyVcMvEnTXMjiGgB+DlXozVhpQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true, + "license": "ISC" + }, + "node_modules/repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request/node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true, + "license": "ISC" + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true, + "license": "MIT" + }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve-url-loader": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.2.tgz", + "integrity": "sha512-QEb4A76c8Mi7I3xNKXlRKQSlLBwjUV/ULFMP+G7n3/7tJZ8MG5wsZ3ucxP1Jz8Vevn6fnJsxDx9cIls+utGzPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "adjust-sourcemap-loader": "3.0.0", + "camelcase": "5.3.1", + "compose-function": "3.0.3", + "convert-source-map": "1.7.0", + "es6-iterator": "2.0.3", + "loader-utils": "1.2.3", + "postcss": "7.0.21", + "rework": "1.0.1", + "rework-visit": "1.0.0", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/resolve-url-loader/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url-loader/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url-loader/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url-loader/node_modules/emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/resolve-url-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/resolve-url-loader/node_modules/loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/resolve-url-loader/node_modules/postcss": { + "version": "7.0.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz", + "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rework": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", + "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", + "dev": true, + "dependencies": { + "convert-source-map": "^0.3.3", + "css": "^2.0.0" + } + }, + "node_modules/rework-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", + "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=", + "dev": true, + "license": "MIT" + }, + "node_modules/rework/node_modules/convert-source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", + "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=", + "dev": true, + "license": "MIT" + }, + "node_modules/rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true, + "license": "MIT" + }, + "node_modules/rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true, + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rollup": { + "version": "2.38.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.38.4.tgz", + "integrity": "sha512-B0LcJhjiwKkTl79aGVF/u5KdzsH8IylVfV56Ut6c9ouWLJcUK17T83aZBetNYSnZtXf2OHD4+2PbmRW+Fp5ulg==", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.1" + } + }, + "node_modules/rough-notation": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/rough-notation/-/rough-notation-0.5.1.tgz", + "integrity": "sha512-ITHofTzm13cWFVfoGsh/4c/k2Mg8geKgBCwex71UZLnNuw403tCRjYPQ68jSAd37DMbZIePXPjDgY0XdZi9HPw==", + "license": "MIT" + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/rxjs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.0.0.tgz", + "integrity": "sha512-I1V/ArAtGJg4kmCfms8fULm0SwYgEsAf2d5WPCBGzTYm2qTjO3Tx4EDFaGjbOox8CeEsC69jQK22mnmfyA26sw==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "~2.1.0" + } + }, + "node_modules/rxjs/node_modules/tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "license": "0BSD" + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "license": "MIT", + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sass": { + "version": "1.32.6", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.6.tgz", + "integrity": "sha512-1bcDHDcSqeFtMr0JXI3xc/CXX6c4p0wHHivJdru8W7waM7a1WjKMm4m/Z5sY7CbVw4Whi2Chpcw6DFfSWwGLzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": ">=2.0.0 <4.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/sass-loader": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.1.tgz", + "integrity": "sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0", + "semver": "^7.3.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0", + "sass": "^1.3.0", + "webpack": "^4.36.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/saucelabs": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", + "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", + "dev": true, + "dependencies": { + "https-proxy-agent": "^2.2.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true, + "license": "ISC" + }, + "node_modules/schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=", + "license": "MIT" + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true, + "license": "MIT" + }, + "node_modules/selenium-webdriver": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", + "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jszip": "^3.1.3", + "rimraf": "^2.5.4", + "tmp": "0.0.30", + "xml2js": "^0.4.17" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/selfsigned": { + "version": "1.10.8", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", + "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "node-forge": "^0.10.0" + } + }, + "node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-dsl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/semver-dsl/-/semver-dsl-1.0.1.tgz", + "integrity": "sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA=", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^5.3.0" + } + }, + "node_modules/semver-dsl/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/semver-intersect": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz", + "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^5.0.0" + } + }, + "node_modules/semver-intersect/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true, + "license": "MIT" + }, + "node_modules/send/node_modules/http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true, + "license": "ISC" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true, + "license": "ISC" + }, + "node_modules/set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true, + "license": "MIT" + }, + "node_modules/setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true, + "license": "ISC" + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "license": "(MIT AND BSD-3-Clause)", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true, + "license": "ISC" + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/smart-buffer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", + "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "license": "MIT", + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sockjs": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^3.4.0", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sockjs-client": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", + "integrity": "sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.6", + "eventsource": "^1.0.7", + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.4.7" + } + }, + "node_modules/sockjs-client/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/sockjs-client/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/socks": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.0.tgz", + "integrity": "sha512-mNmr9owlinMplev0Wd7UHFlqI4ofnBnNzFuzrm63PPaHgbkqCFe4T5LzwKmtQ/f2tX0NTpcdVLyD/FHxFBstYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ip": "^1.1.5", + "smart-buffer": "^4.1.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.0.tgz", + "integrity": "sha512-lEpa1zsWCChxiynk+lCycKuC502RxDWLKJZoIhnxrWNjLSDGYRFflHA1/228VkRcnv9TIb8w98derGbpKxJRgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4", + "socks": "^2.3.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true, + "license": "MIT" + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-1.1.3.tgz", + "integrity": "sha512-6YHeF+XzDOrT/ycFJNI53cgEsp/tHTMl37hi7uVyqFAlTXW109JazaQCkbc+jjoL2637qkH1amLi+JzrIpt5lA==", + "dev": true, + "license": "MIT", + "dependencies": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.2", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "source-map": "^0.6.1", + "whatwg-mimetype": "^2.3.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/source-map-loader/node_modules/iconv-lite": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", + "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true, + "license": "MIT" + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true, + "license": "MIT" + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "license": "MIT", + "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" + } + }, + "node_modules/spdy-transport/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/speed-measure-webpack-plugin": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.4.2.tgz", + "integrity": "sha512-AtVzD0bnIy2/B0fWqJpJgmhcrfWFhBlduzSo0uwplr/QvB33ZNZj2NEth3NONgdnZJqicK0W0mSxnLSbsVCDbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "webpack": "^1 || ^2 || ^3 || ^4 || ^5" + } + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "license": "MIT", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", + "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/stylehacks": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.0.tgz", + "integrity": "sha512-QOWm6XivDLb+fqffTZP8jrmPmPITVChl2KCY2R05nsCWwLi3VGhCdVc3IVGNwd1zzTt1jPd67zIKjpQfxzQZeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.16.0", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.1" + } + }, + "node_modules/stylus": { + "version": "0.54.8", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz", + "integrity": "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-parse": "~2.0.0", + "debug": "~3.1.0", + "glob": "^7.1.6", + "mkdirp": "~1.0.4", + "safer-buffer": "^2.1.2", + "sax": "~1.2.4", + "semver": "^6.3.0", + "source-map": "^0.7.3" + }, + "bin": { + "stylus": "bin/stylus" + }, + "engines": { + "node": "*" + } + }, + "node_modules/stylus-loader": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-4.3.3.tgz", + "integrity": "sha512-PpWB5PnCXUzW4WMYhCvNzAHJBjIBPMXwsdfkkKuA9W7k8OQFMl/19/AQvaWsxz2IptxUlCseyJ6TY/eEKJ4+UQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "^3.2.4", + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "normalize-path": "^3.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "stylus": ">=0.52.4", + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/stylus/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/stylus/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stylus/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/stylus/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/svgo": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.3.0.tgz", + "integrity": "sha512-fz4IKjNO6HDPgIQxu4IxwtubtbSfGEAJUq/IXyTPIkGhWck/faiiwfkvsB8LnBkKLvSoyNNIY6d13lZprJMc9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.1.1", + "chalk": "^4.1.0", + "commander": "^7.1.0", + "css-select": "^3.1.2", + "css-tree": "^1.1.2", + "csso": "^4.2.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/symbol-observable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-3.0.0.tgz", + "integrity": "sha512-6tDOXSHiVjuCaasQSWTmHUWn4PuG7qa3+1WT031yTc/swT7+rLiw3GOrFxaH1E3lLP09dH3bVuVDf2gK5rxG3Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/table": { + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", + "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^7.0.2", + "lodash": "^4.17.20", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.2.3.tgz", + "integrity": "sha512-idv5WZvKVXDqKralOImQgPM9v6WOdLNa0IY3B3doOjw/YxRGT8I+allIJ6kd7Uaj+SF1xZUSU+nPM5aDNBVtnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", + "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "dev": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz", + "integrity": "sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz", + "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cacache": "^15.0.5", + "find-cache-dir": "^3.3.1", + "jest-worker": "^26.5.0", + "p-limit": "^3.0.2", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "source-map": "^0.6.1", + "terser": "^5.3.4", + "webpack-sources": "^1.4.3" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser-webpack-plugin/node_modules/terser": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.1.tgz", + "integrity": "sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin/node_modules/terser/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true, + "license": "MIT" + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true, + "license": "MIT" + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true, + "license": "MIT" + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true, + "license": "MIT" + }, + "node_modules/tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", + "license": "MIT" + }, + "node_modules/tmp": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", + "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", + "dev": true, + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.1" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true, + "license": "MIT" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/ts-node": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", + "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "typescript": ">=2.7" + } + }, + "node_modules/ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", + "license": "0BSD" + }, + "node_modules/tslint": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", + "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^4.0.1", + "glob": "^7.1.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.3", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.13.0", + "tsutils": "^2.29.0" + }, + "bin": { + "tslint": "bin/tslint" + }, + "engines": { + "node": ">=4.8.0" + }, + "peerDependencies": { + "typescript": ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev" + } + }, + "node_modules/tslint/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tslint/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tslint/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/tslint/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tslint/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "peerDependencies": { + "typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true, + "license": "MIT" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "license": "Unlicense" + }, + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true, + "license": "ISC" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true, + "license": "MIT" + }, + "node_modules/typescript": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.7.tgz", + "integrity": "sha512-yi7M4y74SWvYbnazbn8/bmJmX4Zlej39ZOqwG/8dut/MYoSQ119GY9ZFbbGsD4PFZYWxqik/XsP3vk3+W5H3og==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true, + "license": "MIT" + }, + "node_modules/uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true, + "license": "MIT" + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/universal-analytics": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.23.tgz", + "integrity": "sha512-lgMIH7XBI6OgYn1woDEmxhGdj8yDefMKg7GkWdeATAlQZFrMrNyxSkpDzY57iY0/6fdlzTbBV03OawvvzG+q7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "request": "^2.88.2", + "uuid": "^3.0.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "license": "MIT", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "license": "MIT", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "license": "MIT", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true, + "license": "MIT" + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz", + "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true, + "license": "MIT" + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true, + "license": "MIT" + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true, + "license": "ISC" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true, + "license": "MIT" + }, + "node_modules/validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "dev": true, + "license": "ISC", + "dependencies": { + "builtins": "^1.0.3" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/verror/node_modules/extsprintf": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz", + "integrity": "sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "license": "MIT" + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" + } + }, + "node_modules/watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "chokidar": "^2.1.8" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "license": "ISC", + "optional": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webdriver-js-extender": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz", + "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/selenium-webdriver": "^3.0.0", + "selenium-webdriver": "^3.0.1" + }, + "engines": { + "node": ">=6.9.x" + } + }, + "node_modules/webdriver-manager": { + "version": "12.1.8", + "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.8.tgz", + "integrity": "sha512-qJR36SXG2VwKugPcdwhaqcLQOD7r8P2Xiv9sfNbfZrKBnX243iAkOueX1yAmeNgIKhJ3YAT/F2gq6IiEZzahsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "adm-zip": "^0.4.9", + "chalk": "^1.1.1", + "del": "^2.2.0", + "glob": "^7.0.3", + "ini": "^1.3.4", + "minimist": "^1.2.0", + "q": "^1.4.1", + "request": "^2.87.0", + "rimraf": "^2.5.2", + "semver": "^5.3.0", + "xml2js": "^0.4.17" + }, + "bin": { + "webdriver-manager": "bin/webdriver-manager" + }, + "engines": { + "node": ">=6.9.x" + } + }, + "node_modules/webdriver-manager/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webdriver-manager/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webdriver-manager/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/webdriver-manager/node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/webdriver-manager/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/webdriver-manager/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webdriver-manager/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/webpack": { + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", + "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.3.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack-dev-server": { + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", + "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.8", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 6.11.5" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "license": "ISC", + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/webpack-dev-server/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "license": "MIT", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/webpack-dev-server/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/webpack-dev-server/node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true, + "license": "MIT" + }, + "node_modules/webpack-dev-server/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/webpack-dev-server/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/globby/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-path-inside": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-is-inside": "^1.0.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/mime": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/webpack-dev-server/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/webpack-dev-server/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/string-width/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/string-width/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/webpack-dev-server/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/webpack-log/node_modules/ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-merge": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", + "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack-subresource-integrity": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.5.2.tgz", + "integrity": "sha512-GBWYBoyalbo5YClwWop9qe6Zclp8CIXYGIz12OPclJhIrSplDxs1Ls1JDMH8xBPPrg1T6ISaTW9Y6zOrwEiAzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "webpack-sources": "^1.3.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "html-webpack-plugin": ">= 2.21.0 < 5", + "webpack": ">= 1.12.11 < 6" + }, + "peerDependenciesMeta": { + "html-webpack-plugin": { + "optional": true + } + } + }, + "node_modules/webpack/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack/node_modules/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "node_modules/webpack/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true, + "license": "ISC" + }, + "node_modules/webpack/node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/webpack/node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "license": "MIT", + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack/node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/webpack/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/webpack/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/webpack/node_modules/ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "license": "ISC", + "dependencies": { + "figgy-pudding": "^3.5.1" + } + }, + "node_modules/webpack/node_modules/terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/webpack/node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/webpack/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true, + "license": "MIT" + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true, + "license": "ISC" + }, + "node_modules/wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/wide-align/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/wide-align/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wide-align/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/worker-plugin": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/worker-plugin/-/worker-plugin-5.0.0.tgz", + "integrity": "sha512-AXMUstURCxDD6yGam2r4E34aJg6kW85IiaeX72hi+I1cxyaMUtrvVY6sbfpGKAj5e7f68Acl62BjQF5aOOx2IQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "loader-utils": "^1.1.0" + }, + "peerDependencies": { + "webpack": ">= 4" + } + }, + "node_modules/worker-plugin/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/worker-plugin/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true, + "license": "ISC" + }, + "node_modules/ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "dev": true, + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zone.js": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.4.tgz", + "integrity": "sha512-DDh2Ab+A/B+9mJyajPjHFPWfYU1H+pdun4wnnk0OcQTNjem1XQSZ2CDW+rfZEUDjv5M19SBqAkjZi0x5wuB5Qw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + } + }, + "node_modules/zone.js/node_modules/tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "license": "0BSD" + } + }, + "dependencies": { + "@angular-devkit/architect": { + "version": "0.1102.11", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1102.11.tgz", + "integrity": "sha512-1MoUSz7zNJomUUuzbIyBSprzbWa9eF97SRDEbllYHHXY/IWWetHGNK7gkJPyW0zgKhXIc5Sq4TJKIJKWPNh00Q==", + "dev": true, + "requires": { + "@angular-devkit/core": "11.2.11", + "rxjs": "6.6.3" + }, + "dependencies": { + "rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "@angular-devkit/build-angular": { + "version": "0.1102.11", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.1102.11.tgz", + "integrity": "sha512-oT4eiVs4va5rKE1dsbi9C2kDzTVzLx9PNPGtTiClG5uRPMWGyljXtHNMfDy0gH9H5kjcObwR/a8EPrx7Xd3ZAA==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.1102.11", + "@angular-devkit/build-optimizer": "0.1102.11", + "@angular-devkit/build-webpack": "0.1102.11", + "@angular-devkit/core": "11.2.11", + "@babel/core": "7.12.10", + "@babel/generator": "7.12.11", + "@babel/plugin-transform-async-to-generator": "7.12.1", + "@babel/plugin-transform-runtime": "7.12.10", + "@babel/preset-env": "7.12.11", + "@babel/runtime": "7.12.5", + "@babel/template": "7.12.7", + "@discoveryjs/json-ext": "0.5.2", + "@jsdevtools/coverage-istanbul-loader": "3.0.5", + "@ngtools/webpack": "11.2.11", + "ansi-colors": "4.1.1", + "autoprefixer": "10.2.4", + "babel-loader": "8.2.2", + "browserslist": "^4.9.1", + "cacache": "15.0.5", + "caniuse-lite": "^1.0.30001032", + "circular-dependency-plugin": "5.2.2", + "copy-webpack-plugin": "6.3.2", + "core-js": "3.8.3", + "critters": "0.0.7", + "css-loader": "5.0.1", + "cssnano": "5.0.1", + "file-loader": "6.2.0", + "find-cache-dir": "3.3.1", + "glob": "7.1.6", + "https-proxy-agent": "5.0.0", + "inquirer": "7.3.3", + "jest-worker": "26.6.2", + "karma-source-map-support": "1.4.0", + "less": "4.1.1", + "less-loader": "7.3.0", + "license-webpack-plugin": "2.3.11", + "loader-utils": "2.0.0", + "mini-css-extract-plugin": "1.3.5", + "minimatch": "3.0.4", + "open": "7.4.0", + "ora": "5.3.0", + "parse5-html-rewriting-stream": "6.0.1", + "pnp-webpack-plugin": "1.6.4", + "postcss": "8.2.13", + "postcss-import": "14.0.0", + "postcss-loader": "4.2.0", + "raw-loader": "4.0.2", + "regenerator-runtime": "0.13.7", + "resolve-url-loader": "3.1.2", + "rimraf": "3.0.2", + "rollup": "2.38.4", + "rxjs": "6.6.3", + "sass": "1.32.6", + "sass-loader": "10.1.1", + "semver": "7.3.4", + "source-map": "0.7.3", + "source-map-loader": "1.1.3", + "source-map-support": "0.5.19", + "speed-measure-webpack-plugin": "1.4.2", + "style-loader": "2.0.0", + "stylus": "0.54.8", + "stylus-loader": "4.3.3", + "terser": "5.5.1", + "terser-webpack-plugin": "4.2.3", + "text-table": "0.2.0", + "tree-kill": "1.2.2", + "webpack": "4.44.2", + "webpack-dev-middleware": "3.7.2", + "webpack-dev-server": "3.11.2", + "webpack-merge": "5.7.3", + "webpack-sources": "2.2.0", + "webpack-subresource-integrity": "1.5.2", + "worker-plugin": "5.0.0" + }, + "dependencies": { + "@babel/generator": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", + "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.11", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "browserslist": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001181", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.649", + "escalade": "^3.1.1", + "node-releases": "^1.1.70" + } + }, + "electron-to-chromium": { + "version": "1.3.693", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.693.tgz", + "integrity": "sha512-vUdsE8yyeu30RecppQtI+XTz2++LWLVEIYmzeCaCRLSdtKZ2eXqdJcrs85KwLiPOPVc6PELgWyXBsfqIvzGZag==", + "dev": true + }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "webpack-sources": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", + "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", + "dev": true, + "requires": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + } + } + }, + "@angular-devkit/build-optimizer": { + "version": "0.1102.11", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.11.tgz", + "integrity": "sha512-YB9VcImGAuNkaNsDqVWDiBqpyxnAhV0gyHIVAQTEBjyebvzKCSbrmzsnDzvD5eXyDDJQ2InaD6/1HpDGQ5YPQw==", + "dev": true, + "requires": { + "loader-utils": "2.0.0", + "source-map": "0.7.3", + "tslib": "2.1.0", + "typescript": "4.1.5", + "webpack-sources": "2.2.0" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "dev": true + }, + "typescript": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.5.tgz", + "integrity": "sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA==", + "dev": true + }, + "webpack-sources": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", + "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", + "dev": true, + "requires": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + } + } + }, + "@angular-devkit/build-webpack": { + "version": "0.1102.11", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1102.11.tgz", + "integrity": "sha512-Z8u4/934lFDsT3PFgvf49vDJO/+PhTejERoSFK/3Elq4dzS15Ial7itPUgaQS7nYYJJ8qKvr+dXkboXAv7Gqaw==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.1102.11", + "@angular-devkit/core": "11.2.11", + "rxjs": "6.6.3" + }, + "dependencies": { + "rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "@angular-devkit/core": { + "version": "11.2.11", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-11.2.11.tgz", + "integrity": "sha512-6gFrpG0o00Y4kMU7cQeQ5fSlmXRvNlidylM3OfAvpj0qHoRKo1E3q9iVr4fW3oVZxK3fpCSN7RE5Myl5Y7mV0w==", + "dev": true, + "requires": { + "ajv": "6.12.6", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.3", + "source-map": "0.7.3" + }, + "dependencies": { + "rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "@angular-devkit/schematics": { + "version": "11.2.11", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-11.2.11.tgz", + "integrity": "sha512-xkw+5P9V7VdV/X3Eko0/oZmEqelenIT1RdaOlFA3ZLCdT6bz+79HjeChMy++JcLjVNRcLYQSw0ULByq2q/S2Pw==", + "dev": true, + "requires": { + "@angular-devkit/core": "11.2.11", + "ora": "5.3.0", + "rxjs": "6.6.3" + }, + "dependencies": { + "rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "@angular/animations": { + "version": "11.2.12", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-11.2.12.tgz", + "integrity": "sha512-4QZZwC7NVmTgY/NUPJB+QICGCNE7Ebfr/umjJliSrypcmuqcm6K0F4K3pVo7ckvZceOeqre2JY9lQYjvUH5xWg==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "@angular/cdk": { + "version": "11.2.5", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-11.2.5.tgz", + "integrity": "sha512-ugalSDLME5E9JlxcRR8RGlOYlaV6rIzxOVQrGRBzY2tdhMT4Ng+BFtCkq1K88AU1sTLHq54xg9Xkfn7b5W2kiA==", + "requires": { + "parse5": "^5.0.0", + "tslib": "^2.0.0" + }, + "dependencies": { + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "optional": true + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "@angular/cli": { + "version": "11.2.11", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-11.2.11.tgz", + "integrity": "sha512-KzpRaCaHUwznlm6Iz/DvWqZs1fQx+NpJsiEOtKz7ijKoktJq+qcxAcBr2A4sNAuuAMgs0Xqy70EHvbMPA1yQ9A==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.1102.11", + "@angular-devkit/core": "11.2.11", + "@angular-devkit/schematics": "11.2.11", + "@schematics/angular": "11.2.11", + "@schematics/update": "0.1102.11", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.1", + "debug": "4.3.1", + "ini": "2.0.0", + "inquirer": "7.3.3", + "jsonc-parser": "3.0.0", + "npm-package-arg": "8.1.0", + "npm-pick-manifest": "6.1.0", + "open": "7.4.0", + "ora": "5.3.0", + "pacote": "11.2.4", + "resolve": "1.19.0", + "rimraf": "3.0.2", + "semver": "7.3.4", + "symbol-observable": "3.0.0", + "universal-analytics": "0.4.23", + "uuid": "8.3.2" + }, + "dependencies": { + "hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "npm-package-arg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.0.tgz", + "integrity": "sha512-/ep6QDxBkm9HvOhOg0heitSd7JHA1U7y1qhhlRlteYYAi9Pdb/ZV7FW5aHpkrpM8+P+4p/jjR8zCyKPBMBjSig==", + "dev": true, + "requires": { + "hosted-git-info": "^3.0.6", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "npm-pick-manifest": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.0.tgz", + "integrity": "sha512-ygs4k6f54ZxJXrzT0x34NybRlLeZ4+6nECAIbr2i0foTnijtS1TJiyzpqtuUAJOps/hO0tNDr8fRV5g+BtRlTw==", + "dev": true, + "requires": { + "npm-install-checks": "^4.0.0", + "npm-package-arg": "^8.0.0", + "semver": "^7.0.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.1.tgz", + "integrity": "sha512-eT7NrxAsppPRQEBSwKSosReE+v8OzABwEScQYk5d4uxaEPlzxTIku7LINXtBGalthkLhJnq5lBI89PfK43zAKg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "npm-package-arg": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.2.tgz", + "integrity": "sha512-6Eem455JsSMJY6Kpd3EyWE+n5hC+g9bSyHr9K9U2zqZb7+02+hObQ2c0+8iDk/mNF+8r1MhY44WypKJAkySIYA==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + } + } + } + }, + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + } + } + }, + "@angular/common": { + "version": "11.2.12", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-11.2.12.tgz", + "integrity": "sha512-PEg2K/gNm7xia4WJn9hDieJiPvaJtfBaI5RGriVuGhvss2rNg3yKjkt8q0+6CoN/PWJ1Yi6BRgdCAOqt25SiWA==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "@angular/compiler": { + "version": "11.2.12", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-11.2.12.tgz", + "integrity": "sha512-//YCDIxNYWNKxIP9ynJAjEuUT3Q3g8XsQnG9vJKkXsBLiQ/WgtX0qQBSm9A6XvnJCUGXnGNgpqTLp8jhN5izqg==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "@angular/compiler-cli": { + "version": "11.2.12", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-11.2.12.tgz", + "integrity": "sha512-hFQ1TBpxk2DVGPJLRfmrG+j46xtRAn5Z33/95a8b13P6kRcCI6WMY1tWYaepicww53UX6U7jndZf71UW6tXAmQ==", + "dev": true, + "requires": { + "@babel/core": "^7.8.6", + "@babel/types": "^7.8.6", + "canonical-path": "1.0.0", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "dependency-graph": "^0.7.2", + "fs-extra": "4.0.2", + "magic-string": "^0.25.0", + "minimist": "^1.2.0", + "reflect-metadata": "^0.1.2", + "semver": "^6.3.0", + "source-map": "^0.6.1", + "sourcemap-codec": "^1.4.8", + "tslib": "^2.0.0", + "yargs": "^16.2.0" + }, + "dependencies": { + "@babel/core": { + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.10.tgz", + "integrity": "sha512-bfIYcT0BdKeAZrovpMqX2Mx5NrgAckGbwT982AkdS5GNfn3KMGiprlBAtmBcFZRUmpaufS6WZFP8trvx8ptFDw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.9", + "@babel/helper-compilation-targets": "^7.13.10", + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helpers": "^7.13.10", + "@babel/parser": "^7.13.10", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "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-parser": { + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "dev": true + } + } + }, + "@angular/core": { + "version": "11.2.12", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-11.2.12.tgz", + "integrity": "sha512-YnHzPNFZIfeIUJrVz+AJSNzufshzVIL3qg9CvKIUQPIjiQt2wxGLSi9KHEupxLrxfdh9gZ3C0gc8weASSkbQpg==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "@angular/forms": { + "version": "11.2.12", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-11.2.12.tgz", + "integrity": "sha512-WHUY2jsgzrhhkUKNy4zmaNthf3KwhukSiJtKAcKhVaRdQmMphK3ZMZ2ArCjqVzkiJdnkgUGYgdpszrxNveA/hQ==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "@angular/platform-browser": { + "version": "11.2.12", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-11.2.12.tgz", + "integrity": "sha512-m3soGtmbdnmsa7CLzN+ggP5AvmL5YpRebZlUxd1P0mCicxuTNUYqpqKOBe0Y1OeKTgARH8McJrrKoxXc4DAojg==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "@angular/platform-browser-dynamic": { + "version": "11.2.12", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-11.2.12.tgz", + "integrity": "sha512-o/Debr3Lab5sN+re0B/KrKG9YX2Ld/ZNi4HgX3dkm6YZWhFx9rVrU7BrB8Q8NO6aig2Udh19MhMDCtIvCPFecA==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "@angular/router": { + "version": "11.2.12", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-11.2.12.tgz", + "integrity": "sha512-Y5rM1M6MXhAdRewRDFy/F4OKI58kF/rMOPP/PVYERsH6W2ShkQqMDoHaP7/AFSJ0+x6zT87u669CSv/TlJn+sg==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "@ant-design/colors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-5.1.1.tgz", + "integrity": "sha512-Txy4KpHrp3q4XZdfgOBqLl+lkQIc3tEvHXOimRN1giX1AEC7mGtyrO9p8iRGJ3FLuVMGa2gNEzQyghVymLttKQ==", + "requires": { + "@ctrl/tinycolor": "^3.3.1" + } + }, + "@ant-design/icons-angular": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@ant-design/icons-angular/-/icons-angular-11.0.1.tgz", + "integrity": "sha512-WwxVx/aToxTjWmB5+O+3rOjSYdF8FC/Yd/8jF1ZGQMtLWAzP8/foQmKvPAktTUsh0/Ijhtur7LrHN2VuUedMcA==", + "requires": { + "@ant-design/colors": "^5.0.0", + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/compat-data": { + "version": "7.13.11", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.11.tgz", + "integrity": "sha512-BwKEkO+2a67DcFeS3RLl0Z3Gs2OvdXewuWjc1Hfokhb5eQWP9YRYH1/+VrVZvql2CfjOiNGqSAFOYt4lsqTHzg==", + "dev": true + }, + "@babel/core": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", + "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.10", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.13.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz", + "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==", + "dev": true, + "requires": { + "@babel/types": "^7.13.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", + "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", + "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.10.tgz", + "integrity": "sha512-/Xju7Qg1GQO4mHZ/Kcs6Au7gfafgZnwm+a7sy/ow/tV1sHeraRUHbjdat8/UvDor4Tez+siGKDk6zIKtCPKVJA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.8", + "@babel/helper-validator-option": "^7.12.17", + "browserslist": "^4.14.5", + "semver": "^6.3.0" + }, + "dependencies": { + "browserslist": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001181", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.649", + "escalade": "^3.1.1", + "node-releases": "^1.1.70" + } + }, + "electron-to-chromium": { + "version": "1.3.693", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.693.tgz", + "integrity": "sha512-vUdsE8yyeu30RecppQtI+XTz2++LWLVEIYmzeCaCRLSdtKZ2eXqdJcrs85KwLiPOPVc6PELgWyXBsfqIvzGZag==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.13.11", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz", + "integrity": "sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-member-expression-to-functions": "^7.13.0", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-replace-supers": "^7.13.0", + "@babel/helper-split-export-declaration": "^7.12.13" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz", + "integrity": "sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.12.13", + "regexpu-core": "^4.7.1" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz", + "integrity": "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==", + "dev": true, + "requires": { + "@babel/types": "^7.13.0" + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.0.tgz", + "integrity": "sha512-0kBzvXiIKfsCA0y6cFEIJf4OdzfpRuNk4+YTeHZpGGc666SATFKTz6sRncwFnQk7/ugJ4dSrCj6iJuvW4Qwr2g==", + "dev": true, + "requires": { + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.0.tgz", + "integrity": "sha512-yvRf8Ivk62JwisqV1rFRMxiSMDGnN6KH1/mDMmIrij4jztpQNRoHqqMG3U6apYbGRPJpgPalhva9Yd06HlUxJQ==", + "dev": true, + "requires": { + "@babel/types": "^7.13.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", + "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-module-transforms": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.0.tgz", + "integrity": "sha512-Ls8/VBwH577+pw7Ku1QkUWIyRRNHpYlts7+qSqBBFCW3I8QteB9DxfcZ5YJpOwH6Ihe/wn8ch7fMGOP1OhEIvw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-replace-supers": "^7.13.0", + "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0", + "lodash": "^4.17.19" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", + "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz", + "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-wrap-function": "^7.13.0", + "@babel/types": "^7.13.0" + } + }, + "@babel/helper-replace-supers": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.0.tgz", + "integrity": "sha512-Segd5me1+Pz+rmN/NFBOplMbZG3SqRJOBlY+mA0SxAv6rjj7zJqr1AVr3SfzUVTLCv7ZLU5FycOM/SBGuLPbZw==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.13.0", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" + } + }, + "@babel/helper-simple-access": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", + "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", + "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz", + "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" + } + }, + "@babel/helpers": { + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.10.tgz", + "integrity": "sha512-4VO883+MWPDUVRF3PhiLBUFHoX/bsLTGFpFK/HqvvfBZz2D57u9XzPVNFVBTc0PW/CWR9BXTOKt8NF4DInUHcQ==", + "dev": true, + "requires": { + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" + } + }, + "@babel/highlight": { + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.13.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.11.tgz", + "integrity": "sha512-PhuoqeHoO9fc4ffMEVk4qb/w/s2iOSWohvbHxLtxui0eBg3Lg5gN1U8wp1V1u61hOWkPQJJyJzGH6Y+grwkq8Q==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.8.tgz", + "integrity": "sha512-rPBnhj+WgoSmgq+4gQUtXx/vOcU+UYtjy1AA/aeD61Hwj410fwYyqfUcRP3lR8ucgliVJL/G7sXcNUecC75IXA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-remap-async-to-generator": "^7.13.0", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz", + "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz", + "integrity": "sha512-ONWKj0H6+wIRCkZi9zSbZtE/r73uOhMVHh256ys0UzfM7I3d4n+spZNWjOnJv2gzopumP2Wxi186vI8N0Y2JyQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", + "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz", + "integrity": "sha512-w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz", + "integrity": "sha512-aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz", + "integrity": "sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz", + "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz", + "integrity": "sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.8", + "@babel/helper-compilation-targets": "^7.13.8", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.13.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz", + "integrity": "sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.8.tgz", + "integrity": "sha512-hpbBwbTgd7Cz1QryvwJZRo1U0k1q8uyBmeXOSQUjdg/A2TASkhR/rz7AyqZ/kS8kbpsNA80rOYbxySBJAqmhhQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz", + "integrity": "sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", + "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", + "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz", + "integrity": "sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", + "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", + "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz", + "integrity": "sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz", + "integrity": "sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-replace-supers": "^7.13.0", + "@babel/helper-split-export-declaration": "^7.12.13", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz", + "integrity": "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.0.tgz", + "integrity": "sha512-zym5em7tePoNT9s964c0/KU3JPPnuq7VhIxPRefJ4/s82cD+q1mgKfuGRDMCPL0HTyKz4dISuQlCusfgCJ86HA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", + "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", + "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", + "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz", + "integrity": "sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", + "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", + "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", + "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz", + "integrity": "sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz", + "integrity": "sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-simple-access": "^7.12.13", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz", + "integrity": "sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.13.0", + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-validator-identifier": "^7.12.11", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz", + "integrity": "sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", + "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.13" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", + "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", + "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz", + "integrity": "sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", + "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz", + "integrity": "sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", + "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz", + "integrity": "sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "semver": "^5.5.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", + "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz", + "integrity": "sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", + "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz", + "integrity": "sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", + "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", + "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", + "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/preset-env": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", + "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.12.7", + "@babel/helper-compilation-targets": "^7.12.5", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.11", + "@babel/plugin-proposal-async-generator-functions": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-dynamic-import": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.1", + "@babel/plugin-proposal-json-strings": "^7.12.1", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-numeric-separator": "^7.12.7", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.12.1", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/plugin-transform-block-scoped-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.11", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-computed-properties": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-dotall-regex": "^7.12.1", + "@babel/plugin-transform-duplicate-keys": "^7.12.1", + "@babel/plugin-transform-exponentiation-operator": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-function-name": "^7.12.1", + "@babel/plugin-transform-literals": "^7.12.1", + "@babel/plugin-transform-member-expression-literals": "^7.12.1", + "@babel/plugin-transform-modules-amd": "^7.12.1", + "@babel/plugin-transform-modules-commonjs": "^7.12.1", + "@babel/plugin-transform-modules-systemjs": "^7.12.1", + "@babel/plugin-transform-modules-umd": "^7.12.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", + "@babel/plugin-transform-new-target": "^7.12.1", + "@babel/plugin-transform-object-super": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-property-literals": "^7.12.1", + "@babel/plugin-transform-regenerator": "^7.12.1", + "@babel/plugin-transform-reserved-words": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/plugin-transform-sticky-regex": "^7.12.7", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/plugin-transform-typeof-symbol": "^7.12.10", + "@babel/plugin-transform-unicode-escapes": "^7.12.1", + "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.12.11", + "core-js-compat": "^3.8.0", + "semver": "^5.5.0" + }, + "dependencies": { + "@babel/plugin-transform-async-to-generator": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz", + "integrity": "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-remap-async-to-generator": "^7.13.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "dev": true, + "requires": { + "@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/runtime": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", + "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", + "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.0", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.13.0", + "@babel/types": "^7.13.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.0.tgz", + "integrity": "sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "@ctrl/tinycolor": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.4.0.tgz", + "integrity": "sha512-JZButFdZ1+/xAfpguQHoabIXkcqRRKpMrWKBkpEZZyxfY9C1DpADFB8PEqGSTeFr135SaTRfKqGKx5xSCLI7ZQ==" + }, + "@discoveryjs/json-ext": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", + "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", + "integrity": "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@jsdevtools/coverage-istanbul-loader": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.5.tgz", + "integrity": "sha512-EUCPEkaRPvmHjWAAZkWMT7JDzpw7FKB00WTISaiXsbNOd5hCHg77XLA8sLYLFDo1zepYLo2w7GstN8YBqRXZfA==", + "dev": true, + "requires": { + "convert-source-map": "^1.7.0", + "istanbul-lib-instrument": "^4.0.3", + "loader-utils": "^2.0.0", + "merge-source-map": "^1.1.0", + "schema-utils": "^2.7.0" + }, + "dependencies": { + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "@ngtools/webpack": { + "version": "11.2.11", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-11.2.11.tgz", + "integrity": "sha512-CfWS6mWG8FftHe+LtsIQnzaADtzKd+oy0BjynD8sXeMNy2y37sqCw9iJfoCNONKaeFglszyfFPAB8Xj3u3WXXg==", + "dev": true, + "requires": { + "@angular-devkit/core": "11.2.11", + "enhanced-resolve": "5.7.0", + "webpack-sources": "2.2.0" + }, + "dependencies": { + "webpack-sources": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", + "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", + "dev": true, + "requires": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + } + } + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.4", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.4", + "fastq": "^1.6.0" + } + }, + "@npmcli/ci-detect": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-1.3.0.tgz", + "integrity": "sha512-oN3y7FAROHhrAt7Rr7PnTSwrHrZVRTS2ZbyxeQwSSYD0ifwM3YNgQqbaRmjcWoPyq77MjchusjJDspbzMmip1Q==", + "dev": true + }, + "@npmcli/git": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.0.6.tgz", + "integrity": "sha512-a1MnTfeRPBaKbFY07fd+6HugY1WAkKJzdiJvlRub/9o5xz2F/JtPacZZapx5zRJUQFIzSL677vmTSxEcDMrDbg==", + "dev": true, + "requires": { + "@npmcli/promise-spawn": "^1.1.0", + "lru-cache": "^6.0.0", + "mkdirp": "^1.0.3", + "npm-pick-manifest": "^6.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.2", + "unique-filename": "^1.1.1", + "which": "^2.0.2" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + } + } + }, + "@npmcli/installed-package-contents": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", + "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", + "dev": true, + "requires": { + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "dev": true, + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "@npmcli/node-gyp": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.2.tgz", + "integrity": "sha512-yrJUe6reVMpktcvagumoqD9r08fH1iRo01gn1u0zoCApa9lnZGEigVKUd2hzsCId4gdtkZZIVscLhNxMECKgRg==", + "dev": true + }, + "@npmcli/promise-spawn": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz", + "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==", + "dev": true, + "requires": { + "infer-owner": "^1.0.4" + } + }, + "@npmcli/run-script": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.4.tgz", + "integrity": "sha512-Yd9HXTtF1JGDXZw0+SOn+mWLYS0e7bHBHVC/2C8yqs4wUrs/k8rwBSinD7rfk+3WG/MFGRZKxjyoD34Pch2E/A==", + "dev": true, + "requires": { + "@npmcli/node-gyp": "^1.0.2", + "@npmcli/promise-spawn": "^1.3.2", + "infer-owner": "^1.0.4", + "node-gyp": "^7.1.0", + "read-package-json-fast": "^2.0.1" + }, + "dependencies": { + "read-package-json-fast": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.2.tgz", + "integrity": "sha512-5fyFUyO9B799foVk4n6ylcoAktG/FbE3jwRKxvwaeSrIunaoMc0u81dzXxjeAFKOce7O5KncdfwpGvvs6r5PsQ==", + "dev": true, + "requires": { + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + } + } + } + }, + "@schematics/angular": { + "version": "11.2.11", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-11.2.11.tgz", + "integrity": "sha512-Ii7KabU79Jg2zoU7qR9wFd81TOAePQ6jog7OhoTyE2aKpKyBZlHXA4qq1dJfV3GAE5H1JKVm0lRgGEFJLQitGg==", + "dev": true, + "requires": { + "@angular-devkit/core": "11.2.11", + "@angular-devkit/schematics": "11.2.11", + "jsonc-parser": "3.0.0" + } + }, + "@schematics/update": { + "version": "0.1102.11", + "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.1102.11.tgz", + "integrity": "sha512-SdQ/Zao+huxSFnKXFbf93EEExzyLy5y+BBs14n9uLwnhaFbd5jlH0xO8/Ui1H6oDuOycSRQdnl7gt3sUr8EbaQ==", + "dev": true, + "requires": { + "@angular-devkit/core": "11.2.11", + "@angular-devkit/schematics": "11.2.11", + "@yarnpkg/lockfile": "1.1.0", + "ini": "2.0.0", + "npm-package-arg": "^8.0.0", + "pacote": "11.2.4", + "semver": "7.3.4", + "semver-intersect": "1.4.0" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true + }, + "@trysound/sax": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.1.1.tgz", + "integrity": "sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow==", + "dev": true + }, + "@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + }, + "dependencies": { + "@types/node": { + "version": "14.14.35", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz", + "integrity": "sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==", + "dev": true + } + } + }, + "@types/json-schema": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "@types/node": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.0.1.tgz", + "integrity": "sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA==", + "dev": true + }, + "@types/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@types/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "@types/q": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", + "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", + "dev": true + }, + "@types/selenium-webdriver": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.17.tgz", + "integrity": "sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw==", + "dev": true + }, + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, + "@types/webpack-sources": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.8.tgz", + "integrity": "sha512-JHB2/xZlXOjzjBB6fMOpH1eQAfsrpqVVIbneE0Rok16WXwFaznaI5vfg75U5WgGJm7V9W1c4xeRQDjX/zwvghA==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.6.1" + }, + "dependencies": { + "@types/node": { + "version": "14.14.35", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz", + "integrity": "sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==", + "dev": true + } + } + }, + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true, + "requires": {} + }, + "adjust-sourcemap-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz", + "integrity": "sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + } + }, + "adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "dev": true + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "agentkeepalive": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz", + "integrity": "sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "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-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true, + "requires": {} + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + }, + "dependencies": { + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + } + } + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + }, + "dependencies": { + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + } + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "app-root-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz", + "integrity": "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==", + "dev": true + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + } + } + }, + "aria-query": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", + "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", + "dev": true, + "requires": { + "ast-types-flow": "0.0.7", + "commander": "^2.11.0" + } + }, + "arity-n": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz", + "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=", + "dev": true + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "autoprefixer": { + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.2.4.tgz", + "integrity": "sha512-DCCdUQiMD+P/as8m3XkeTUkUKuuRqLGcwD0nll7wevhqoJfMRpJlkFd1+MQh1pvupjiQuip42lc/VFvfUTMSKw==", + "dev": true, + "requires": { + "browserslist": "^4.16.1", + "caniuse-lite": "^1.0.30001181", + "colorette": "^1.2.1", + "fraction.js": "^4.0.13", + "normalize-range": "^0.1.2", + "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "browserslist": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001181", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.649", + "escalade": "^3.1.1", + "node-releases": "^1.1.70" + } + }, + "electron-to-chromium": { + "version": "1.3.693", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.693.tgz", + "integrity": "sha512-vUdsE8yyeu30RecppQtI+XTz2++LWLVEIYmzeCaCRLSdtKZ2eXqdJcrs85KwLiPOPVc6PELgWyXBsfqIvzGZag==", + "dev": true + } + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "axios": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "requires": { + "follow-redirects": "^1.10.0" + } + }, + "axobject-query": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz", + "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==", + "dev": true, + "requires": { + "ast-types-flow": "0.0.7" + } + }, + "babel-loader": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", + "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "blocking-proxy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", + "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + }, + "dependencies": { + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + } + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.16.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.5.tgz", + "integrity": "sha512-C2HAjrM1AI/djrpAUU/tr4pml1DqLIzJKSLDBXBrNErl9ZCCTXdhwxdJjYc16953+mBWf7Lw+uUJgpgb8cN71A==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001214", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.719", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" + }, + "dependencies": { + "caniuse-lite": { + "version": "1.0.30001219", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001219.tgz", + "integrity": "sha512-c0yixVG4v9KBc/tQ2rlbB3A/bgBFRvl8h8M4IeUbqCca4gsiCfvtaheUssbnux/Mb66Vjz7x8yYjDgYcNQOhyQ==", + "dev": true + } + } + }, + "browserstack": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.1.tgz", + "integrity": "sha512-GxtFjpIaKdbAyzHfFDKixKO8IBT7wR3NjbzrGc78nNs/Ciys9wU3/nBtsqsWv5nDSrdI5tz0peKuzCPuNXNUiw==", + "dev": true, + "requires": { + "https-proxy-agent": "^2.2.1" + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", + "dev": true + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "cacache": { + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz", + "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==", + "dev": true, + "requires": { + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.0", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + }, + "dependencies": { + "browserslist": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001181", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.649", + "escalade": "^3.1.1", + "node-releases": "^1.1.70" + } + }, + "electron-to-chromium": { + "version": "1.3.693", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.693.tgz", + "integrity": "sha512-vUdsE8yyeu30RecppQtI+XTz2++LWLVEIYmzeCaCRLSdtKZ2eXqdJcrs85KwLiPOPVc6PELgWyXBsfqIvzGZag==", + "dev": true + } + } + }, + "caniuse-lite": { + "version": "1.0.30001203", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001203.tgz", + "integrity": "sha512-/I9tvnzU/PHMH7wBPrfDMSuecDeUKerjCPX7D0xBbaJZPxoT9m+yYxt0zCTkcijCkjTdim3H56Zm0i5Adxch4w==", + "dev": true + }, + "canonical-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-1.0.0.tgz", + "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "circular-dependency-plugin": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz", + "integrity": "sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ==", + "dev": true, + "requires": {} + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", + "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==", + "dev": true + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true + }, + "clipboard": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.8.tgz", + "integrity": "sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ==", + "requires": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "codelyzer": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-6.0.1.tgz", + "integrity": "sha512-cOyGQgMdhnRYtW2xrJUNrNYDjEgwQ+BrE2y93Bwz3h4DJ6vJRLfupemU5N3pbYsUlBHJf0u1j1UGk+NLW4d97g==", + "dev": true, + "requires": { + "@angular/compiler": "9.0.0", + "@angular/core": "9.0.0", + "app-root-path": "^3.0.0", + "aria-query": "^3.0.0", + "axobject-query": "2.0.2", + "css-selector-tokenizer": "^0.7.1", + "cssauron": "^1.4.0", + "damerau-levenshtein": "^1.0.4", + "rxjs": "^6.5.3", + "semver-dsl": "^1.0.1", + "source-map": "^0.5.7", + "sprintf-js": "^1.1.2", + "tslib": "^1.10.0", + "zone.js": "~0.10.3" + }, + "dependencies": { + "@angular/compiler": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.0.tgz", + "integrity": "sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ==", + "dev": true, + "requires": {}, + "dependencies": { + "tslib": { + "version": "2.1.0", + "dev": true, + "peer": true + } + } + }, + "rxjs": { + "version": "6.6.6", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.6.tgz", + "integrity": "sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "zone.js": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", + "integrity": "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg==", + "dev": true + } + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", + "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", + "dev": true, + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.4" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + }, + "dependencies": { + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + } + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "color-string": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz", + "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==", + "dev": true, + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "compose-function": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz", + "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=", + "dev": true, + "requires": { + "arity-n": "^1.0.4" + } + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-anything": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.3.tgz", + "integrity": "sha512-GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ==", + "dev": true, + "requires": { + "is-what": "^3.12.0" + } + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.3.2.tgz", + "integrity": "sha512-MgJ1uouLIbDg4ST1GzqrGQyKoXY5iPqi6fghFqarijam7FQcBa/r6Rg0VkoIuzx75Xq8iAMghyOueMkWUQ5OaA==", + "dev": true, + "requires": { + "cacache": "^15.0.5", + "fast-glob": "^3.2.4", + "find-cache-dir": "^3.3.1", + "glob-parent": "^5.1.1", + "globby": "^11.0.1", + "loader-utils": "^2.0.0", + "normalize-path": "^3.0.0", + "p-limit": "^3.0.2", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "webpack-sources": "^1.4.3" + }, + "dependencies": { + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + } + } + }, + "core-js": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.3.tgz", + "integrity": "sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q==", + "dev": true + }, + "core-js-compat": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.9.1.tgz", + "integrity": "sha512-jXAirMQxrkbiiLsCx9bQPJFA6llDadKMpYrBJQJ3/c4/vsPP/fAf29h24tviRlvwUL6AmY5CHLu2GvjuYviQqA==", + "dev": true, + "requires": { + "browserslist": "^4.16.3", + "semver": "7.0.0" + }, + "dependencies": { + "browserslist": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001181", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.649", + "escalade": "^3.1.1", + "node-releases": "^1.1.70" + } + }, + "electron-to-chromium": { + "version": "1.3.693", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.693.tgz", + "integrity": "sha512-vUdsE8yyeu30RecppQtI+XTz2++LWLVEIYmzeCaCRLSdtKZ2eXqdJcrs85KwLiPOPVc6PELgWyXBsfqIvzGZag==", + "dev": true + }, + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cosmiconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "dev": true, + "requires": { + "@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" + } + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "critters": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.7.tgz", + "integrity": "sha512-qUF2SaAWFYjNPdCcPpu68p2DnHiosia84yx5mPTlUMQjkjChR+n6sO1/I7yn2U2qNDgSPTd2SoaTIDQcUL+EwQ==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "css": "^3.0.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "pretty-bytes": "^5.3.0" + }, + "dependencies": { + "css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + } + }, + "source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + } + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "dependencies": { + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + } + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + } + }, + "css-color-names": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz", + "integrity": "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==", + "dev": true + }, + "css-declaration-sorter": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.0.0.tgz", + "integrity": "sha512-S0TE4E0ha5+tBHdLWPc5n+S8E4dFBS5xScPvgHkLNZwWvX4ISoFGhGeerLC9uS1cKA/sC+K2wHq6qEbcagT/fg==", + "dev": true, + "requires": { + "timsort": "^0.3.0" + } + }, + "css-loader": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.0.1.tgz", + "integrity": "sha512-cXc2ti9V234cq7rJzFKhirb2L2iPy8ZjALeVJAozXYz9te3r4eqLSixNAbMDJSgJEQywqXzs8gonxaboeKqwiw==", + "dev": true, + "requires": { + "camelcase": "^6.2.0", + "cssesc": "^3.0.0", + "icss-utils": "^5.0.0", + "loader-utils": "^2.0.0", + "postcss": "^8.1.4", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.2" + }, + "dependencies": { + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "requires": {} + }, + "postcss": { + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.8.tgz", + "integrity": "sha512-1F0Xb2T21xET7oQV9eKuctbM9S7BC0fetoHCc4H13z0PT6haiRLP4T0ZY4XWh7iLP0usgqykT6p9B2RtOf4FPw==", + "dev": true, + "requires": { + "colorette": "^1.2.2", + "nanoid": "^3.1.20", + "source-map": "^0.6.1" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + } + } + }, + "css-parse": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", + "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", + "dev": true, + "requires": { + "css": "^2.0.0" + } + }, + "css-select": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-3.1.2.tgz", + "integrity": "sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^4.0.0", + "domhandler": "^4.0.0", + "domutils": "^2.4.3", + "nth-check": "^2.0.0" + } + }, + "css-selector-tokenizer": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", + "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "css-tree": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", + "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-4.0.0.tgz", + "integrity": "sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A==", + "dev": true + }, + "cssauron": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz", + "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=", + "dev": true, + "requires": { + "through": "X.X.X" + } + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssnano": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.1.tgz", + "integrity": "sha512-5WubEmKcK2cqw43DUAayRBiIlTdX7iX3ZowrWDVxSVcW3hyohVnbJ4K4mbnWtJp5rfJnUwHg5H4mDAGzmuCM3g==", + "dev": true, + "requires": { + "cosmiconfig": "^7.0.0", + "cssnano-preset-default": "^5.0.0", + "is-resolvable": "^1.1.0" + } + }, + "cssnano-preset-default": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.0.1.tgz", + "integrity": "sha512-cfmfThYODGqhpQKDq9H0MTAqkMvZ3dGbOUTBKw0xWZiIycMqHid22LsJXJl4r1qX4qzDeKxcSyQ/Xb5Mu3Z//Q==", + "dev": true, + "requires": { + "css-declaration-sorter": "6.0.0", + "cssnano-utils": "^2.0.0", + "postcss-calc": "^8.0.0", + "postcss-colormin": "^5.0.0", + "postcss-convert-values": "^5.0.0", + "postcss-discard-comments": "^5.0.0", + "postcss-discard-duplicates": "^5.0.0", + "postcss-discard-empty": "^5.0.0", + "postcss-discard-overridden": "^5.0.0", + "postcss-merge-longhand": "^5.0.1", + "postcss-merge-rules": "^5.0.0", + "postcss-minify-font-values": "^5.0.0", + "postcss-minify-gradients": "^5.0.0", + "postcss-minify-params": "^5.0.0", + "postcss-minify-selectors": "^5.0.0", + "postcss-normalize-charset": "^5.0.0", + "postcss-normalize-display-values": "^5.0.0", + "postcss-normalize-positions": "^5.0.0", + "postcss-normalize-repeat-style": "^5.0.0", + "postcss-normalize-string": "^5.0.0", + "postcss-normalize-timing-functions": "^5.0.0", + "postcss-normalize-unicode": "^5.0.0", + "postcss-normalize-url": "^5.0.0", + "postcss-normalize-whitespace": "^5.0.0", + "postcss-ordered-values": "^5.0.0", + "postcss-reduce-initial": "^5.0.0", + "postcss-reduce-transforms": "^5.0.0", + "postcss-svgo": "^5.0.0", + "postcss-unique-selectors": "^5.0.0" + } + }, + "cssnano-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.0.tgz", + "integrity": "sha512-xvxmTszdrvSyTACdPe8VU5J6p4sm3egpgw54dILvNqt5eBUv6TFjACLhSxtRuEsxYrgy8uDy269YjScO5aKbGA==", + "dev": true, + "requires": {} + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "damerau-levenshtein": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", + "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "date-fns": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.19.0.tgz", + "integrity": "sha512-X3bf2iTPgCAQp9wvjOQytnf5vO5rESYRXlPIVcgSbtT5OTScPcsf9eZU+B/YIkKAtYr5WeCii58BgATrNitlWg==" + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + } + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "dev": true, + "requires": { + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" + }, + "dependencies": { + "globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "dependency-graph": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.7.2.tgz", + "integrity": "sha512-KqtH4/EZdtdfWX0p6MGP9jljvxSY6msy/pRUD4jgNwVpv3v1QmNLlsB3LDSSUg79BRVSn7jI1QPRtArGABovAQ==", + "dev": true + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-node": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.5.tgz", + "integrity": "sha512-qi86tE6hRcFHy8jI1m2VG+LaPUR1LhqDa5G8tVjuUXmOrpuAgqsA1pN0+ldgr3aKUH+QLI9hCY/OcRYisERejw==", + "dev": true + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-serializer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.1.tgz", + "integrity": "sha512-Pv2ZluG5ife96udGgEDovOOOA5UELkltfJpnIExPrAk1LTvecolUGn6lIaoLh86d83GiB86CjzciMd9BuRB71Q==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + }, + "domhandler": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", + "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.6.0.tgz", + "integrity": "sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.723", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.723.tgz", + "integrity": "sha512-L+WXyXI7c7+G1V8ANzRsPI5giiimLAUDC6Zs1ojHHPhYXb3k/iTABFmWjivEtsWrRQymjnO66/rO2ZTABGdmWg==", + "dev": true + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", + "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz", + "integrity": "sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "dependencies": { + "tapable": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", + "dev": true + } + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true + }, + "err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.25.0.tgz", + "integrity": "sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw==", + "dev": true, + "requires": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.21", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.4", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true + }, + "globals": { + "version": "13.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.7.0.tgz", + "integrity": "sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "eventsource": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", + "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", + "dev": true, + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "dev": true, + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", + "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "dependencies": { + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "dev": true + }, + "fastq": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", + "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.3.tgz", + "integrity": "sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==" + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fraction.js": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.0.13.tgz", + "integrity": "sha512-E1fz2Xs9ltlUp+qbiyx9wmt2n9dRzPsS11Jtdb8D2o+cC7wr9xkkKsVKJuBX0ST+LVS+LhLO+SbLJNtfWcJvXA==", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-extra": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz", + "integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", + "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "dependencies": { + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + } + } + }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "requires": { + "delegate": "^3.1.2" + } + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hosted-git-info": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.1.tgz", + "integrity": "sha512-eT7NrxAsppPRQEBSwKSosReE+v8OzABwEScQYk5d4uxaEPlzxTIku7LINXtBGalthkLhJnq5lBI89PfK43zAKg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "hotkeys-js": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/hotkeys-js/-/hotkeys-js-3.8.3.tgz", + "integrity": "sha512-rUmoryG4lEAtkjF5tcYaihrVoE86Fdw1BLqO/UiBWOOF56h32a6ax8oV4urBlinVtNNtArLlBq8igGfZf2tQnw==" + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", + "dev": true + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dev": true, + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "dependencies": { + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "dev": true, + "requires": { + "ms": "^2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "ignore-walk": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "dev": true, + "optional": true + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true + }, + "inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "rxjs": { + "version": "6.6.6", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.6.tgz", + "integrity": "sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + } + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-arguments": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", + "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "dev": true, + "requires": { + "call-bind": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + }, + "dependencies": { + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + } + } + }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-docker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true + }, + "is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "dev": true, + "requires": { + "is-path-inside": "^1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.1" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "dependencies": { + "@babel/core": { + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.10.tgz", + "integrity": "sha512-bfIYcT0BdKeAZrovpMqX2Mx5NrgAckGbwT982AkdS5GNfn3KMGiprlBAtmBcFZRUmpaufS6WZFP8trvx8ptFDw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.9", + "@babel/helper-compilation-targets": "^7.13.10", + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helpers": "^7.13.10", + "@babel/parser": "^7.13.10", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "semver": "^6.3.0", + "source-map": "^0.5.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "jasmine": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", + "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", + "dev": true, + "requires": { + "exit": "^0.1.2", + "glob": "^7.0.6", + "jasmine-core": "~2.8.0" + } + }, + "jasmine-core": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", + "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", + "dev": true + }, + "jasminewd2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz", + "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", + "dev": true + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "@types/node": { + "version": "14.14.35", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz", + "integrity": "sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-base64": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.6.0.tgz", + "integrity": "sha512-wVdUBYQeY2gY73RIlPrysvpYx+2vheGo8Y1SNQv/BzHToWpAZzJU7Z6uheKMAe+GLSBig5/Ps2nxg/8tRB73xg==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", + "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jszip": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.6.0.tgz", + "integrity": "sha512-jgnQoG9LKnWO3mnVNBnfhkh0QknICd1FGSrXcgrl67zioyJ4wgx25o9ZqwNtrROSflGBCGYnJfjrIyRIby1OoQ==", + "dev": true, + "requires": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "set-immediate-shim": "~1.0.1" + } + }, + "karma-source-map-support": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", + "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "dev": true, + "requires": { + "source-map-support": "^0.5.5" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "klona": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", + "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", + "dev": true + }, + "less": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/less/-/less-4.1.1.tgz", + "integrity": "sha512-w09o8tZFPThBscl5d0Ggp3RcrKIouBoQscnOMgFH3n5V3kN/CXGHNfCkRPtxJk6nKryDXaV9aHLK55RXuH4sAw==", + "dev": true, + "requires": { + "copy-anything": "^2.0.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^2.5.2", + "parse-node-version": "^1.0.1", + "source-map": "~0.6.0", + "tslib": "^1.10.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "less-loader": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-7.3.0.tgz", + "integrity": "sha512-Mi8915g7NMaLlgi77mgTTQvK022xKRQBIVDSyfl3ErTuBhmZBQab0mjeJjNNqGbdR+qrfTleKXqbGI4uEFavxg==", + "dev": true, + "requires": { + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "license-webpack-plugin": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.3.11.tgz", + "integrity": "sha512-0iVGoX5vx0WDy8dmwTTpOOMYiGqILyUbDeVMFH52AjgBlS58lHwOlFMSoqg5nY8Kxl6+FRKyUZY/UdlQaOyqDw==", + "dev": true, + "requires": { + "@types/webpack-sources": "^0.1.5", + "webpack-sources": "^1.2.0" + } + }, + "lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dev": true, + "requires": { + "immediate": "~3.0.5" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, + "loglevel": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", + "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "make-fetch-happen": { + "version": "8.0.14", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz", + "integrity": "sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==", + "dev": true, + "requires": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.0.5", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^5.0.0", + "ssri": "^8.0.0" + }, + "dependencies": { + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + } + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "dependencies": { + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.46.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz", + "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.29", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz", + "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==", + "dev": true, + "requires": { + "mime-db": "1.46.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.5.tgz", + "integrity": "sha512-tvmzcwqJJXau4OQE5vT72pRT18o2zF+tQJp8CWchqvfQnTlflkzS+dANYcRdyPRWUWRkfmeNTKltx0NZI/b5dQ==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "webpack-sources": "^1.1.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-fetch": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.3.3.tgz", + "integrity": "sha512-akCrLDWfbdAWkMLBxJEeWTdNsjML+dt5YgOI4gJ53vuO0vrmYQkUPxa6j6V65s9CcePIr2SSWqjT2EcrNseryQ==", + "dev": true, + "requires": { + "encoding": "^0.1.12", + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "dev": true, + "requires": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mitt": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz", + "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==" + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "dev": true, + "optional": true + }, + "nanoid": { + "version": "3.1.22", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.22.tgz", + "integrity": "sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ==", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "needle": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.6.0.tgz", + "integrity": "sha512-KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg==", + "dev": true, + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "optional": true + } + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "ng-zorro-antd": { + "version": "11.4.1", + "resolved": "https://registry.npmjs.org/ng-zorro-antd/-/ng-zorro-antd-11.4.1.tgz", + "integrity": "sha512-YxoPIGz6JMF9uqSSBZRtr1TlrqT49xk7zInZoN7uvNFc7dGW2fb8syskzJ+Pe83QMC/rnbuPWz1VMRf2HtCHvw==", + "requires": { + "@angular/cdk": "^11.0.2", + "@ant-design/icons-angular": "^11.0.1", + "date-fns": "^2.10.0", + "resize-observer-polyfill": "^1.5.1", + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "dev": true + }, + "node-gyp": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", + "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", + "dev": true, + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.3", + "nopt": "^5.0.0", + "npmlog": "^4.1.2", + "request": "^2.88.2", + "rimraf": "^3.0.2", + "semver": "^7.3.2", + "tar": "^6.0.2", + "which": "^2.0.2" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "node-releases": { + "version": "1.1.71", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", + "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", + "dev": true + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", + "dev": true + }, + "npm-bundled": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", + "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", + "dev": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-install-checks": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", + "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", + "dev": true, + "requires": { + "semver": "^7.1.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true + }, + "npm-package-arg": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.2.tgz", + "integrity": "sha512-6Eem455JsSMJY6Kpd3EyWE+n5hC+g9bSyHr9K9U2zqZb7+02+hObQ2c0+8iDk/mNF+8r1MhY44WypKJAkySIYA==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + } + }, + "npm-packlist": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.1.4.tgz", + "integrity": "sha512-Qzg2pvXC9U4I4fLnUrBmcIT4x0woLtUgxUi9eC+Zrcv1Xx5eamytGAfbDWQ67j7xOcQ2VW1I3su9smVTIdu7Hw==", + "dev": true, + "requires": { + "glob": "^7.1.6", + "ignore-walk": "^3.0.3", + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-pick-manifest": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", + "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", + "dev": true, + "requires": { + "npm-install-checks": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1", + "npm-package-arg": "^8.1.2", + "semver": "^7.3.4" + } + }, + "npm-registry-fetch": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz", + "integrity": "sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA==", + "dev": true, + "requires": { + "@npmcli/ci-detect": "^1.0.0", + "lru-cache": "^6.0.0", + "make-fetch-happen": "^8.0.9", + "minipass": "^3.1.3", + "minipass-fetch": "^1.3.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.0.0", + "npm-package-arg": "^8.0.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E=" + }, + "nth-check": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", + "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.0.tgz", + "integrity": "sha512-PGoBCX/lclIWlpS/R2PQuIR4NJoXh6X5AwVzE7WXnWRGvHg7+4TBCgsujUgiPpm0K1y4qvQeWnCWVTpTKZBtvA==", + "dev": true, + "requires": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "dependencies": { + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + } + } + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "ora": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", + "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", + "dev": true, + "requires": { + "bl": "^4.0.3", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pacote": { + "version": "11.2.4", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.2.4.tgz", + "integrity": "sha512-GfTeVQGJ6WyBQbQD4t3ocHbyOmTQLmWjkCKSZPmKiGFKYKNUaM5U2gbLzUW8WG1XmS9yQFnsTFA0k3o1+q4klQ==", + "dev": true, + "requires": { + "@npmcli/git": "^2.0.1", + "@npmcli/installed-package-contents": "^1.0.5", + "@npmcli/promise-spawn": "^1.2.0", + "@npmcli/run-script": "^1.3.0", + "cacache": "^15.0.5", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.3", + "mkdirp": "^1.0.3", + "npm-package-arg": "^8.0.1", + "npm-packlist": "^2.1.4", + "npm-pick-manifest": "^6.0.0", + "npm-registry-fetch": "^9.0.0", + "promise-retry": "^1.1.1", + "read-package-json-fast": "^1.1.3", + "rimraf": "^3.0.2", + "ssri": "^8.0.0", + "tar": "^6.1.0" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", + "dev": true + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "promise-retry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", + "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", + "dev": true, + "requires": { + "err-code": "^1.0.0", + "retry": "^0.10.0" + } + }, + "retry": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", + "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@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": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "parse5-html-rewriting-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-6.0.1.tgz", + "integrity": "sha512-vwLQzynJVEfUlURxgnf51yAJDQTtVpNyGD8tKi2Za7m+akukNHxCcUQMAa/mUGLhCeicFdpy7Tlvj8ZNKadprg==", + "dev": true, + "requires": { + "parse5": "^6.0.1", + "parse5-sax-parser": "^6.0.1" + } + }, + "parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "requires": { + "parse5": "^6.0.1" + } + }, + "parse5-sax-parser": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz", + "integrity": "sha512-kXX+5S81lgESA0LsDuGjAlBybImAChYRMT+/uKCEXFBFOeEhS52qUCydGhU3qLRD8D9DVjaUo821WK7DM4iCeg==", + "dev": true, + "requires": { + "parse5": "^6.0.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "pbkdf2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "pnp-webpack-plugin": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", + "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", + "dev": true, + "requires": { + "ts-pnp": "^1.1.6" + } + }, + "portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "dev": true, + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "8.2.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.13.tgz", + "integrity": "sha512-FCE5xLH+hjbzRdpbRb1IMCvPv9yZx2QnDarBEYSN0N0HYk+TcXsEhwdFcFb+SRWOKzKGErhIEbBK2ogyLdTtfQ==", + "dev": true, + "requires": { + "colorette": "^1.2.2", + "nanoid": "^3.1.22", + "source-map": "^0.6.1" + } + }, + "postcss-calc": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz", + "integrity": "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "postcss-colormin": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.0.0.tgz", + "integrity": "sha512-Yt84+5V6CgS/AhK7d7MA58vG8dSZ7+ytlRtWLaQhag3HXOncTfmYpuUOX4cDoXjvLfw1sHRCHMiBjYhc35CymQ==", + "dev": true, + "requires": { + "browserslist": "^4.16.0", + "color": "^3.1.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-convert-values": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.0.tgz", + "integrity": "sha512-V5kmYm4xoBAjNs+eHY/6XzXJkkGeg4kwNf2ocfqhLb1WBPEa4oaSmoi1fnVO7Dkblqvus9h+AenDvhCKUCK7uQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-discard-comments": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.0.tgz", + "integrity": "sha512-Umig6Gxs8m20RihiXY6QkePd6mp4FxkA1Dg+f/Kd6uw0gEMfKRjDeQOyFkLibexbJJGHpE3lrN/Q0R9SMrUMbQ==", + "dev": true, + "requires": {} + }, + "postcss-discard-duplicates": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.0.tgz", + "integrity": "sha512-vEJJ+Y3pFUnO1FyCBA6PSisGjHtnphL3V6GsNvkASq/VkP3OX5/No5RYXXLxHa2QegStNzg6HYrYdo71uR4caQ==", + "dev": true, + "requires": {} + }, + "postcss-discard-empty": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.0.tgz", + "integrity": "sha512-+wigy099Y1xZxG36WG5L1f2zeH1oicntkJEW4TDIqKKDO2g9XVB3OhoiHTu08rDEjLnbcab4rw0BAccwi2VjiQ==", + "dev": true, + "requires": {} + }, + "postcss-discard-overridden": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.0.tgz", + "integrity": "sha512-hybnScTaZM2iEA6kzVQ6Spozy7kVdLw+lGw8hftLlBEzt93uzXoltkYp9u0tI8xbfhxDLTOOzHsHQCkYdmzRUg==", + "dev": true, + "requires": {} + }, + "postcss-import": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.0.tgz", + "integrity": "sha512-gFDDzXhqr9ELmnLHgCC3TbGfA6Dm/YMb/UN8/f7Uuq4fL7VTk2vOIj6hwINEwbokEmp123bLD7a5m+E+KIetRg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-loader": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.2.0.tgz", + "integrity": "sha512-mqgScxHqbiz1yxbnNcPdKYo/6aVt+XExURmEbQlviFVWogDbM4AJ0A/B+ZBpYsJrTRxKw7HyRazg9x0Q9SWwLA==", + "dev": true, + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.4" + } + }, + "postcss-merge-longhand": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.1.tgz", + "integrity": "sha512-H1RO8le5deFGumQzuhJjuL0bIXPRysa+w7xtk5KrHe38oiaSS9ksPXDo24+IOS3SETPhip0J5+1uCOW+ALs3Yw==", + "dev": true, + "requires": { + "css-color-names": "^1.0.1", + "postcss-value-parser": "^4.1.0", + "stylehacks": "^5.0.0" + } + }, + "postcss-merge-rules": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.0.tgz", + "integrity": "sha512-TfsXbKjNYCGfUPEXGIGPySnMiJbdS+3gcVeV8gwmJP4RajyKZHW8E0FYDL1WmggTj3hi+m+WUCAvqRpX2ut4Kg==", + "dev": true, + "requires": { + "browserslist": "^4.16.0", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^2.0.0", + "postcss-selector-parser": "^6.0.4", + "vendors": "^1.0.3" + } + }, + "postcss-minify-font-values": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.0.tgz", + "integrity": "sha512-zi2JhFaMOcIaNxhndX5uhsqSY1rexKDp23wV8EOmC9XERqzLbHsoRye3aYF716Zm+hkcR4loqKDt8LZlmihwAg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-minify-gradients": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.0.tgz", + "integrity": "sha512-/jPtNgs6JySMwgsE5dPOq8a2xEopWTW3RyqoB9fLqxgR+mDUNLSi7joKd+N1z7FXWgVkc4l/dEBMXHgNAaUbvg==", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.0", + "is-color-stop": "^1.1.0", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-minify-params": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.0.tgz", + "integrity": "sha512-KvZYIxTPBVKjdd+XgObq9A+Sfv8lMkXTpbZTsjhr42XbfWIeLaTItMlygsDWfjArEc3muUfDaUFgNSeDiJ5jug==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.2", + "browserslist": "^4.16.0", + "cssnano-utils": "^2.0.0", + "postcss-value-parser": "^4.1.0", + "uniqs": "^2.0.0" + } + }, + "postcss-minify-selectors": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.0.0.tgz", + "integrity": "sha512-cEM0O0eWwFIvmo6nfB0lH0vO/XFwgqIvymODbfPXZ1gTA3i76FKnb7TGUrEpiTxaXH6tgYQ6DcTHwRiRS+YQLQ==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^3.1.2" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-normalize-charset": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.0.tgz", + "integrity": "sha512-pqsCkgo9KmQP0ew6DqSA+uP9YN6EfsW20pQ3JU5JoQge09Z6Too4qU0TNDsTNWuEaP8SWsMp+19l15210MsDZQ==", + "dev": true, + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.0.tgz", + "integrity": "sha512-t4f2d//gH1f7Ns0Jq3eNdnWuPT7TeLuISZ6RQx4j8gpl5XrhkdshdNcOnlrEK48YU6Tcb6jqK7dorME3N4oOGA==", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.0", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-positions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.0.tgz", + "integrity": "sha512-0o6/qU5ky74X/eWYj/tv4iiKCm3YqJnrhmVADpIMNXxzFZywsSQxl8F7cKs8jQEtF3VrJBgcDHTexZy1zgDoYg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.0.tgz", + "integrity": "sha512-KRT14JbrXKcFMYuc4q7lh8lvv8u22wLyMrq+UpHKLtbx2H/LOjvWXYdoDxmNrrrJzomAWL+ViEXr48/IhSUJnQ==", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.0", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.0.tgz", + "integrity": "sha512-wSO4pf7GNcDZpmelREWYADF1+XZWrAcbFLQCOqoE92ZwYgaP/RLumkUTaamEzdT2YKRZAH8eLLKGWotU/7FNPw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.0.tgz", + "integrity": "sha512-TwPaDX+wl9wO3MUm23lzGmOzGCGKnpk+rSDgzB2INpakD5dgWR3L6bJq1P1LQYzBAvz8fRIj2NWdnZdV4EV98Q==", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.0", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.0.tgz", + "integrity": "sha512-2CpVoz/67rXU5s9tsPZDxG1YGS9OFHwoY9gsLAzrURrCxTAb0H7Vp87/62LvVPgRWTa5ZmvgmqTp2rL8tlm72A==", + "dev": true, + "requires": { + "browserslist": "^4.16.0", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.0.tgz", + "integrity": "sha512-ICDaGFBqLgA3dlrCIRuhblLl80D13YtgEV9NJPTYJtgR72vu61KgxAHv+z/lKMs1EbwfSQa3ALjOFLSmXiE34A==", + "dev": true, + "requires": { + "is-absolute-url": "^3.0.3", + "normalize-url": "^4.5.0", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.0.tgz", + "integrity": "sha512-KRnxQvQAVkJfaeXSz7JlnD9nBN9sFZF9lrk9452Q2uRoqrRSkinqifF8Iex7wZGei2DZVG/qpmDFDmRvbNAOGA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-ordered-values": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.0.tgz", + "integrity": "sha512-dPr+SRObiHueCIc4IUaG0aOGQmYkuNu50wQvdXTGKy+rzi2mjmPsbeDsheLk5WPb9Zyf2tp8E+I+h40cnivm6g==", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.0", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-reduce-initial": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.0.tgz", + "integrity": "sha512-wR6pXUaFbSMG1oCKx8pKVA+rnSXCHlca5jMrlmkmif+uig0HNUTV9oGN5kjKsM3mATQAldv2PF9Tbl2vqLFjnA==", + "dev": true, + "requires": { + "browserslist": "^4.16.0", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.0.tgz", + "integrity": "sha512-iHdGODW4YzM3WjVecBhPQt6fpJC4lGQZxJKjkBNHpp2b8dzmvj0ogKThqya+IRodQEFzjfXgYeESkf172FH5Lw==", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.0", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-selector-parser": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", + "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.0.tgz", + "integrity": "sha512-M3/VS4sFI1Yp9g0bPL+xzzCNz5iLdRUztoFaugMit5a8sMfkVzzhwqbsOlD8IFFymCdJDmXmh31waYHWw1K4BA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0", + "svgo": "^2.3.0" + } + }, + "postcss-unique-selectors": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.0.tgz", + "integrity": "sha512-o9l4pF8SRn7aCMTmzb/kNv/kjV7wPZpZ8Nlb1Gq8v/Qvw969K1wanz1RVA0ehHzWe9+wHXaC2DvZlak/gdMJ5w==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^6.0.2", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "requires": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + } + }, + "protractor": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz", + "integrity": "sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==", + "dev": true, + "requires": { + "@types/q": "^0.0.32", + "@types/selenium-webdriver": "^3.0.0", + "blocking-proxy": "^1.0.0", + "browserstack": "^1.5.1", + "chalk": "^1.1.3", + "glob": "^7.0.3", + "jasmine": "2.8.0", + "jasminewd2": "^2.1.0", + "q": "1.4.1", + "saucelabs": "^1.5.0", + "selenium-webdriver": "3.6.0", + "source-map-support": "~0.4.0", + "webdriver-js-extender": "2.1.0", + "webdriver-manager": "^12.1.7", + "yargs": "^15.3.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "^0.5.6" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "dev": true, + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "q": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", + "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", + "dev": true + }, + "qs": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", + "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.2.tgz", + "integrity": "sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "raw-loader": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz", + "integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + } + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "dev": true, + "requires": { + "pify": "^2.3.0" + } + }, + "read-package-json-fast": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-1.2.2.tgz", + "integrity": "sha512-39DbPJjkltEzfXJXB6D8/Ir3GFOU2YbSKa2HaB/Y3nKrc/zY+0XrALpID6/13ezWyzqvOHrBbR4t4cjQuTdBVQ==", + "dev": true, + "requires": { + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "dev": true + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz", + "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + } + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "dev": true + }, + "regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true + }, + "regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + } + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true + }, + "regjsparser": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.7.tgz", + "integrity": "sha512-ib77G0uxsA2ovgiYbCVGx4Pv3PSttAx2vIwidqQzbL2U5S4Q+j00HdSAneSBuyVcMvEnTXMjiGgB+DlXozVhpQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "resolve-url-loader": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.2.tgz", + "integrity": "sha512-QEb4A76c8Mi7I3xNKXlRKQSlLBwjUV/ULFMP+G7n3/7tJZ8MG5wsZ3ucxP1Jz8Vevn6fnJsxDx9cIls+utGzPQ==", + "dev": true, + "requires": { + "adjust-sourcemap-loader": "3.0.0", + "camelcase": "5.3.1", + "compose-function": "3.0.3", + "convert-source-map": "1.7.0", + "es6-iterator": "2.0.3", + "loader-utils": "1.2.3", + "postcss": "7.0.21", + "rework": "1.0.1", + "rework-visit": "1.0.0", + "source-map": "0.6.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, + "postcss": { + "version": "7.0.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz", + "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + } + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rework": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", + "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", + "dev": true, + "requires": { + "convert-source-map": "^0.3.3", + "css": "^2.0.0" + }, + "dependencies": { + "convert-source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", + "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=", + "dev": true + } + } + }, + "rework-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", + "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=", + "dev": true + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rollup": { + "version": "2.38.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.38.4.tgz", + "integrity": "sha512-B0LcJhjiwKkTl79aGVF/u5KdzsH8IylVfV56Ut6c9ouWLJcUK17T83aZBetNYSnZtXf2OHD4+2PbmRW+Fp5ulg==", + "dev": true, + "requires": { + "fsevents": "~2.3.1" + } + }, + "rough-notation": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/rough-notation/-/rough-notation-0.5.1.tgz", + "integrity": "sha512-ITHofTzm13cWFVfoGsh/4c/k2Mg8geKgBCwex71UZLnNuw403tCRjYPQ68jSAd37DMbZIePXPjDgY0XdZi9HPw==" + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "rxjs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.0.0.tgz", + "integrity": "sha512-I1V/ArAtGJg4kmCfms8fULm0SwYgEsAf2d5WPCBGzTYm2qTjO3Tx4EDFaGjbOox8CeEsC69jQK22mnmfyA26sw==", + "requires": { + "tslib": "~2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass": { + "version": "1.32.6", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.6.tgz", + "integrity": "sha512-1bcDHDcSqeFtMr0JXI3xc/CXX6c4p0wHHivJdru8W7waM7a1WjKMm4m/Z5sY7CbVw4Whi2Chpcw6DFfSWwGLzQ==", + "dev": true, + "requires": { + "chokidar": ">=2.0.0 <4.0.0" + } + }, + "sass-loader": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.1.tgz", + "integrity": "sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw==", + "dev": true, + "requires": { + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0", + "semver": "^7.3.2" + } + }, + "saucelabs": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", + "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", + "dev": true, + "requires": { + "https-proxy-agent": "^2.2.1" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=" + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selenium-webdriver": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", + "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", + "dev": true, + "requires": { + "jszip": "^3.1.3", + "rimraf": "^2.5.4", + "tmp": "0.0.30", + "xml2js": "^0.4.17" + } + }, + "selfsigned": { + "version": "1.10.8", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", + "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", + "dev": true, + "requires": { + "node-forge": "^0.10.0" + } + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "semver-dsl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/semver-dsl/-/semver-dsl-1.0.1.tgz", + "integrity": "sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA=", + "dev": true, + "requires": { + "semver": "^5.3.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "semver-intersect": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz", + "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==", + "dev": true, + "requires": { + "semver": "^5.0.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + } + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + } + } + }, + "smart-buffer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", + "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sockjs": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "dev": true, + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^3.4.0", + "websocket-driver": "^0.7.4" + } + }, + "sockjs-client": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", + "integrity": "sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==", + "dev": true, + "requires": { + "debug": "^3.2.6", + "eventsource": "^1.0.7", + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.4.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "socks": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.0.tgz", + "integrity": "sha512-mNmr9owlinMplev0Wd7UHFlqI4ofnBnNzFuzrm63PPaHgbkqCFe4T5LzwKmtQ/f2tX0NTpcdVLyD/FHxFBstYw==", + "dev": true, + "requires": { + "ip": "^1.1.5", + "smart-buffer": "^4.1.0" + } + }, + "socks-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.0.tgz", + "integrity": "sha512-lEpa1zsWCChxiynk+lCycKuC502RxDWLKJZoIhnxrWNjLSDGYRFflHA1/228VkRcnv9TIb8w98derGbpKxJRgA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4", + "socks": "^2.3.3" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-loader": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-1.1.3.tgz", + "integrity": "sha512-6YHeF+XzDOrT/ycFJNI53cgEsp/tHTMl37hi7uVyqFAlTXW109JazaQCkbc+jjoL2637qkH1amLi+JzrIpt5lA==", + "dev": true, + "requires": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.2", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "source-map": "^0.6.1", + "whatwg-mimetype": "^2.3.0" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", + "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "speed-measure-webpack-plugin": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.4.2.tgz", + "integrity": "sha512-AtVzD0bnIy2/B0fWqJpJgmhcrfWFhBlduzSo0uwplr/QvB33ZNZj2NEth3NONgdnZJqicK0W0mSxnLSbsVCDbw==", + "dev": true, + "requires": { + "chalk": "^4.1.0" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + } + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + } + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "style-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", + "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + } + }, + "stylehacks": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.0.tgz", + "integrity": "sha512-QOWm6XivDLb+fqffTZP8jrmPmPITVChl2KCY2R05nsCWwLi3VGhCdVc3IVGNwd1zzTt1jPd67zIKjpQfxzQZeA==", + "dev": true, + "requires": { + "browserslist": "^4.16.0", + "postcss-selector-parser": "^6.0.4" + } + }, + "stylus": { + "version": "0.54.8", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz", + "integrity": "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==", + "dev": true, + "requires": { + "css-parse": "~2.0.0", + "debug": "~3.1.0", + "glob": "^7.1.6", + "mkdirp": "~1.0.4", + "safer-buffer": "^2.1.2", + "sax": "~1.2.4", + "semver": "^6.3.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "stylus-loader": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-4.3.3.tgz", + "integrity": "sha512-PpWB5PnCXUzW4WMYhCvNzAHJBjIBPMXwsdfkkKuA9W7k8OQFMl/19/AQvaWsxz2IptxUlCseyJ6TY/eEKJ4+UQ==", + "dev": true, + "requires": { + "fast-glob": "^3.2.4", + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "normalize-path": "^3.0.0", + "schema-utils": "^3.0.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "svgo": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.3.0.tgz", + "integrity": "sha512-fz4IKjNO6HDPgIQxu4IxwtubtbSfGEAJUq/IXyTPIkGhWck/faiiwfkvsB8LnBkKLvSoyNNIY6d13lZprJMc9Q==", + "dev": true, + "requires": { + "@trysound/sax": "0.1.1", + "chalk": "^4.1.0", + "commander": "^7.1.0", + "css-select": "^3.1.2", + "css-tree": "^1.1.2", + "csso": "^4.2.0", + "stable": "^0.1.8" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + } + } + }, + "symbol-observable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-3.0.0.tgz", + "integrity": "sha512-6tDOXSHiVjuCaasQSWTmHUWn4PuG7qa3+1WT031yTc/swT7+rLiw3GOrFxaH1E3lLP09dH3bVuVDf2gK5rxG3Q==", + "dev": true + }, + "table": { + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", + "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", + "dev": true, + "requires": { + "ajv": "^7.0.2", + "lodash": "^4.17.20", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0" + }, + "dependencies": { + "ajv": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.2.3.tgz", + "integrity": "sha512-idv5WZvKVXDqKralOImQgPM9v6WOdLNa0IY3B3doOjw/YxRGT8I+allIJ6kd7Uaj+SF1xZUSU+nPM5aDNBVtnw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "tar": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", + "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + } + } + }, + "terser": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz", + "integrity": "sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz", + "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==", + "dev": true, + "requires": { + "cacache": "^15.0.5", + "find-cache-dir": "^3.3.1", + "jest-worker": "^26.5.0", + "p-limit": "^3.0.2", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "source-map": "^0.6.1", + "terser": "^5.3.4", + "webpack-sources": "^1.4.3" + }, + "dependencies": { + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "terser": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.1.tgz", + "integrity": "sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" + }, + "tmp": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", + "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.1" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true + }, + "ts-node": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", + "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", + "dev": true, + "requires": { + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" + } + }, + "ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", + "dev": true + }, + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + }, + "tslint": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", + "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^4.0.1", + "glob": "^7.1.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.3", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.13.0", + "tsutils": "^2.29.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "typescript": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.7.tgz", + "integrity": "sha512-yi7M4y74SWvYbnazbn8/bmJmX4Zlej39ZOqwG/8dut/MYoSQ119GY9ZFbbGsD4PFZYWxqik/XsP3vk3+W5H3og==", + "dev": true + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "universal-analytics": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.23.tgz", + "integrity": "sha512-lgMIH7XBI6OgYn1woDEmxhGdj8yDefMKg7GkWdeATAlQZFrMrNyxSkpDzY57iY0/6fdlzTbBV03OawvvzG+q7A==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "request": "^2.88.2", + "uuid": "^3.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-parse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz", + "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "dev": true, + "requires": { + "builtins": "^1.0.3" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "dependencies": { + "extsprintf": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz", + "integrity": "sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=", + "dev": true + } + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dev": true, + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" + } + }, + "watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "dev": true, + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + } + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webdriver-js-extender": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz", + "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==", + "dev": true, + "requires": { + "@types/selenium-webdriver": "^3.0.0", + "selenium-webdriver": "^3.0.1" + } + }, + "webdriver-manager": { + "version": "12.1.8", + "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.8.tgz", + "integrity": "sha512-qJR36SXG2VwKugPcdwhaqcLQOD7r8P2Xiv9sfNbfZrKBnX243iAkOueX1yAmeNgIKhJ3YAT/F2gq6IiEZzahsg==", + "dev": true, + "requires": { + "adm-zip": "^0.4.9", + "chalk": "^1.1.1", + "del": "^2.2.0", + "glob": "^7.0.3", + "ini": "^1.3.4", + "minimist": "^1.2.0", + "q": "^1.4.1", + "request": "^2.87.0", + "rimraf": "^2.5.2", + "semver": "^5.3.0", + "xml2js": "^0.4.17" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "webpack": { + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", + "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.3.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + } + }, + "terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "webpack-dev-middleware": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "mime": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "dev": true + } + } + }, + "webpack-dev-server": { + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", + "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.8", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "mime": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "dev": true + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true + } + } + }, + "webpack-merge": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", + "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "webpack-subresource-integrity": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.5.2.tgz", + "integrity": "sha512-GBWYBoyalbo5YClwWop9qe6Zclp8CIXYGIz12OPclJhIrSplDxs1Ls1JDMH8xBPPrg1T6ISaTW9Y6zOrwEiAzw==", + "dev": true, + "requires": { + "webpack-sources": "^1.3.0" + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "worker-plugin": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/worker-plugin/-/worker-plugin-5.0.0.tgz", + "integrity": "sha512-AXMUstURCxDD6yGam2r4E34aJg6kW85IiaeX72hi+I1cxyaMUtrvVY6sbfpGKAj5e7f68Acl62BjQF5aOOx2IQ==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "dev": true, + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + } + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + }, + "zone.js": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.4.tgz", + "integrity": "sha512-DDh2Ab+A/B+9mJyajPjHFPWfYU1H+pdun4wnnk0OcQTNjem1XQSZ2CDW+rfZEUDjv5M19SBqAkjZi0x5wuB5Qw==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + } + } +} diff --git a/src/components/fixbar/index.component.html b/src/components/fixbar/index.component.html index 9418c3d88d587cd839614800f2061b31433a9ea3..58bfea318a3d84ad686a4dcce2139b066712f218 100644 --- a/src/components/fixbar/index.component.html +++ b/src/components/fixbar/index.component.html @@ -8,7 +8,7 @@ -
GitHub的官方命令行工具
通过显示测试套件未涵盖代码的哪些部分,我们可以帮助您自信地交付代码。免费提供开源软件库
在新的开源版本发布时收到通知,直接发送到您的电子邮件中。
将curl命令转换为Python,JavaScript,PHP,R,Go,Rust,Dart,JSON,Ansible,Elixir。
Supervisor是一个客户端/服务器系统,允许其用户监视和控制类似UNIX的操作系统上的多个进程。
代码质量和安全性检查, 支持所有开发人员编写更干净,更安全的代码。
在线共享代码,将代码以URL形式发送以便查看
UPX-可执行文件的终极打包器
使用SQL查询git存储库。生成报告,执行状态检查,分析代码库。
Web应用程序,移动应用程序和游戏的实时崩溃报告。
随机用户生成器是用于生成占位符用户信息的免费API。 获取个人资料照片,姓名等。 对于人们来说,就像Lorem Ipsum。
在你的 README 中 获取动态生成的 GitHub 统计信息
了解有多少人正在查看您的GitHub项目的简单方法
GitHub 文件加速
svg生成版本号图标
支持前端JavaScript,后端Node.js以及微信小程序错误监控
WA!原来那些年程序猿搞怪的注释都在这里
强大的前端代码在线演示的网站
变量命名神器
无限的ASCII图表,保存到谷歌驱动器,调整大小,自由绘制,并直接输出到文本/HTML。
它可以将GITHUB存储库的子文件夹/子目录作为zip并下载
「Server酱」,英文名「ServerChan」,是一款「程序员」和「服务器」之间的通信软件。
一个简单的零配置工具,可以使用您喜欢的任何名称制作本地可信赖的SSL开发证书
创建和分享源代码的精美图像
用于构建您自己的IPsec VPN服务器的脚本,在Ubuntu,Debian和CentOS上使用IPsec / L2TP和Cisco IPsec
nginx配置生成器
GraphQL资源管理器利用真实的、实时的生产数据
将文本转换成ASCII
Lens控制Kubernetes集群所需的唯一IDE。它是适用于MacOS,Windows和Linux操作系统的独立应用程序。它是开源的,免费的。
一些可用在 Web 或软件开发的开放 API 接口
一个Web工具,用于探索由各种解析器生成的AST
uTools是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合
正则表达式备忘录
是一个开放源代码,社区驱动的框架,用于管理zsh配置。
一款免费的浏览器扩展和最为流行的用户脚本管理器
提供用户脚本的网站
免费HTTP代理IP
Google Workspace状态信息中心
发现导航 - 精选实用导航网站
国内最大的在线接口管理服务方案供应商
YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台
Web接口管理工具,开源免费,接口自动化,MOCK数据自动生成,自动化测试,企业级管理。阿里妈妈MUX团队出品
一个非常适合IT团队的在线API文档、技术文档工具
一个神奇的文档站点生成器
RESTful Web API文档生成器
易于维护的开源文档网站
禅道是灵活的项目管理软件
一站式敏捷研发协作云平台, 凝聚腾讯研发方法及敏捷实践精髓, 助力企业研发更高效、协作更敏捷
一个免费,快速,美观的API请求构建器,供10万多个开发人员使用。(原名叫 Postwoman)
发现导航 - 精选实用导航网站
一条命令解决的外网访问内网问题,无需任何配置,下载客户端之后直接一条命令让外网访问您的内网不再是距离
一个快速反向代理,可帮助您将NAT或防火墙后面的本地服务器暴露给Internet。
本地代码调试线上页面,环境再也不是问题
ngrok是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok可捕获和分析所有通道上的流量,便于后期分析和重放
发现导航 - 精选实用导航网站
MD5在线解密|md5在线破解|批量破解md5网站
jwt 在线解码
base64在线解码编码
发现导航 - 精选实用导航网站
一个简单的公共IP地址API
淘宝免费归属地查询
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
免费的在线图表软件,用于制作流程图、流程图、组织图、UML、ER和网络图
免费在线作图工具,UML作图,UI界面原型设计,iOS原型设计,BPMN,流程图,思维导图,多人协作绘图
蓝湖是一款设计图共享平台,帮助互联网团队管理设计图
为设计师和前端而生的协作应用
极简大纲笔记 | 一键生成思维导图
在线制作 PPT,让分享更有价值
原型设计工具,web原型设计工具,app原型设计工具
LOGO在线制作神器 - 3分钟完成LOGO设计在线生成
一款简单易用、功能强大的线上图形设计工具
信息图表是一种易于使用的信息图表和图表制造商。创建和分享美丽的信息图表,在线报告和互动地图。在这里做你自己
删除图像背景在线。使背景透明,白色等编辑,裁剪,旋转,固定颜色,添加阴影,一款在线抠图工具
稿定设计是一款专为淘宝店主、新媒体运营人员和修图爱好者打造的免费在线抠图工具。
超级应用空间致力于全生命周期的文档管理,无需安装,即可在线编辑Office, CAD,PS等任意格式文档,支持远程协作,全文检索,版本管理,权限管理,安全外发等.提高工作效率,降低安全风险
免费在线制作LOGO
鹿班 - 让设计更美好(阿里出品)
在线裁剪照片大小尺寸
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
个人和企业在任何设备上存储,共享和保护敏感数据的最简单,最安全的方法
Typora是一款跨平台的最小Markdown编辑器,可为Markdown读者和作家提供无缝的体验
iTerm2是Terminal的替代品,是iTerm的后续产品
美丽的Git GUI中的简单性和强大功能
Charles是HTTP代理/ HTTP监视器/反向代理,使开发人员可以查看其计算机与Internet之间的所有HTTP和SSL / HTTPS通信。这包括请求,响应和HTTP标头(其中包含cookie和缓存信息)。
适用于macOS的免费开源OpenVPN VPN客户端服务器软件。
macOS文件存档器, 储存更多,私密分享
使用Web技术构建的开源屏幕录像机。
VScode是一款轻量级的编辑器,自由。 建立在开源上。 无处不在。
开源免费的网络发现工具,通过它能够找出网络上在线的主机,并测试主机上哪些端口处于监听状态,接着通过端口确定主机上运行的应用程序类型与版本信息,最后利用它还能侦测出操作系统的类型和版本
免费和开源软件,用于视频录制和实时流。
基于WEB技术的终端
Listary是Windows的革命性搜索实用程序,它使休闲用户和高级用户都能快速找到文件并启动应用程序!
发现导航 - 精选实用导航网站
利用VMware提供的软件定义的云,移动性,网络和安全解决方案来建立您的数字基础。
Mac和Windows虚拟化|管理Mac|VDI和RDS解决方案
网易MuMu[手游模拟器][安卓模拟器]
发现导航 - 精选实用导航网站
适用于开发人员,数据库管理员,分析师和所有需要使用数据库的人员的免费的多平台数据库工具。支持所有流行的数据库:MySQL,PostgreSQL,SQLite,Oracle,DB2,SQL Server,Sybase,MS Access,Teradata,Firebird,Apache Hive,Phoenix,Presto等
Redis Desktop Manager(又名RDM)—是用于Windows,Linux,MacOS和iPadOS的快速Redis数据库管理应用程序。
Sequel Pro是一个快速,易于使用的Mac数据库管理应用程序,用于处理MySQL数据库。
一个现代,强大且由社区驱动的MongoDB管理工具
jetbrains出品的数据库管理系统
用于关系数据库的现代,本地且友好的GUI工具:MySQL,PostgreSQL,SQLite等
发现导航 - 精选实用导航网站
TeamViewer远程连接控制软件是一款随时随地连接到远程桌面电脑、移动设备及Iot,让远程连接过程更加的快速和安全,轻松实现对文件、网络及程序的实时支持或访问。
向日葵远程控制软件是一款免费的集远程控制电脑手机、远程桌面连接、远程开机、远程管理、支持内网穿透的一体化远程控制管理工具软件
发现导航 - 精选实用导航网站
用于构建代理绕过网络限制的平台。
Go中基于规则的隧道
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
国内知名的视频弹幕网站,这里有最及时的动漫新番,最棒的ACG氛围,最有创意的Up主
拥有海量、优质、高清的网络视频的大型视频网站,专业的网络视频播放平台
全球最大的视频网站
斗鱼 - 每个人的直播平台
疯狂影视搜索是一款全能影视搜索引擎,帮你找到最新影视资源,一站拥有无尽影视资源
免费全网VIP视频会员免广告看电影!优酷vip解析,爱奇艺vip解析,腾讯vip解析,乐视vip解析,芒果vip解析
免费在线视频剪辑、视频制作、视频剪切、视频转gif等实用功能
kk高清影院,1080p电影下载,高清电影迅雷下载,免费高清电影网
发现导航 - 精选实用导航网站
自由的音乐是一个免费试听并下载全网音乐的网站
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
智联招聘,更懂你的价值
招聘网,人才网,求职,找工作
BOSS直聘是权威领先的招聘网,开启人才网招聘求职新时代,让求职者与Boss直接开聊、加快面试、即时反馈,找工作就来BOSS直聘和Boss开聊吧
发现导航 - 精选实用导航网站
程序员简历模板系列, WEB/IOS/Android/C++/node等以及通用程序员简历模板
有些事情,应该被记住
看准网★中国领先的职场信息平台,专注于公司评论,晒工资,工资待遇,面试,公司福利等.您可以在看准网上匿名分享您的职业信息
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
智能PNG和JPEG压缩,以质量和文件大小的完美平衡来优化您的图像
在浏览器中用不同的编解码器压缩和比较图像(Google出品)
发现导航 - 精选实用导航网站
用专业的二维码产品帮助企业创造价值
验证RSS是否符合标准规范
淘宝信誉查询 - 淘捏捏卖家工具箱 淘宝信誉查询_淘宝信用查询_淘宝小号查询_淘宝黑号查询
人人都在用商业安全工具_企业信息查询_公司查询_工商查询_企业信用信息查询系统
优雅高效的在线文档编辑与协同工具,让每个企业轻松拥有文档中心 - 阿里巴巴
临时文件上传, 快速和稳定
在线免费转换视频,音频,YouTube视频到文字,视频到文字,音频到文字,语音转换成文字
独特且强悍的JavaScript算法,能极速压缩80%的图片大小,而不损害其质量
在线图标转换ico、icns
压缩pdf、各种文件格式转换pdf
生成非常酷的彩色背景图像
随机生成图片链接
一款轻便、简洁的在线协作文档工具,PC端和移动端全覆盖,支持多人同时对文档编辑和评论...
Emoji表情大全
ImgURL是一个简单、纯粹的图床程序,让个人图床多一个选择
跨平台分享工具,纯Web,IOS,MAC,Linux,Android互传
一个功能强大的在线表格编辑器,支持Excel、Markdown、JSON、CSV、HTML等格式的相互转换
360查字体 - 查版权,免纠纷
在线HTML转换pdf
Bigjpg - 使用开源waifu2x人工智能深度卷积神经网络(CNN)智能无损免费放大图片
免费下载百度文库文档
在线文件编码识别
收集来自世界各地的5000多个公共IPTV频道
10分钟邮箱,临时邮箱,临时邮,临时电子邮箱,24小时邮箱,一次性邮箱,匿名邮箱,安全邮箱
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
jQuery是一个JavaScript函数库
webpack是一个模块打包器
用于编写下一代 JavaScript 的编译器
可组装的JavaScript和JSX检查工具
一个强大的现代样式风格的linter
Mocha是JavaScript的一种单元测试框架,既可以在浏览器环境下运行,也可以在Node.js环境下运行
MUI: 最接近原生APP体验的高性能前端框架
Rollup 是一个 JavaScript 模块打包器,可以将小块代码编译成大块复杂的代码,例如 library 或应用程序
JavaScript样式指南,带有linter和自动代码修复程序
发现导航 - 精选实用导航网站
在Node.js和浏览器中生成大量逼真的假数据
JavaScript Alert 的漂亮替代品
一个JavaScript库,用于在现代浏览器和触摸设备上对拖放列表进行重新排序
Formily 是一个由阿里巴巴集团多 BU 共建的面向中后台复杂场景的表单解决方案,它也是一个表单框架
一个小的JavaScript库,用于在网页上创建手绘动画并为其添加动画效果
AntV 是蚂蚁金服全新一代数据可视化解决方案
Lodash是一个一致性、模块化、高性能的 JavaScript 实用工具库
轻量级的移动设备触控滑块的js框架,使用硬件加速过渡
Polyfill 解决移动端具有300ms延迟的库
丰富多样的Web弹出层组件,可轻松实现Alert/Confirm/Prompt/普通提示/页面区块/iframe/tips等等几乎所有的弹出交互
一个轻量级的JavaScript日期库,用于解析,验证,操作和格式化日期
一个简单,轻量级的JavaScript API,用于处理浏览器cookie
具有嵌套支持的查询字符串解析器
生成随机数据,拦截 Ajax 请求
凹凸实验室出品的一款基于 Github Issue 和 Preact 开发的评论插件
轻巧,强大,优雅的代码语法高亮
顶部加载进度条
JS实现浏览器标题闪烁,滚动,语音提示,Chrome/Safari/FireFox/IE通知
最流行的JavaScript屏幕截图
使用与Moment.js兼容的API来解析,验证,操作和显示现代浏览器的日期和时间
易于使用但功能强大的条形码生成器,适用于Web和Node.js
现代复制到剪贴板。没有Flash。只需3kb gzipped。
可伸缩布局方案, 淘宝rem解决方案
根据白名单过滤HTML(防止XSS攻击)
精致的下拉刷新和上拉加载 js框架.支持vue,完美运行于移动端和主流PC浏览器
灵感来自iscroll,它具有更好的滚动性能
一个实现汉字与拼音互转的小巧web工具库
使用此包可以轻松地将各种时间格式转换为毫秒。
适用于JavaScript程序员的实用函数库
JavaScript的任意精度Decimal类型 (0.1+0.2=0.3)
简单的模块公开copy功能,它将尝试使用execCommand与特定于IE的clipboardData接口的回退,最后,通常prompt使用适当的文本内容和消息
将字符串路径转换成正则表达式
autosize是一个小的独立脚本,可以自动调整textarea域的高度以适合文本
监听手机设备摇动
可以轻松地为Web创建响应式和时尚的进度栏。动画即使在移动设备上也表现良好
Easy Mock 是一个可视化,并且能快速生成模拟数据的持久化服务
JS版本的多行文本溢出省略
带有bigints支持的JSON.parse / stringify
用于读取EXIF图像元数据的JavaScript库
Lunr.js是一个用于浏览器的小型全文本搜索库。它为JSON文档建立索引,并提供一个简单的搜索界面来检索与文本查询最匹配的文档
强大的Javascript库,用于捕获键盘输入和输入的按键组合。它没有依赖性。
使用HTML5 canvas从DOM节点生成图像
使微前端变得简单
为微型前端提供快速,简单和完整的解决方案
一个很小的,安全的,URL友好的,唯一的JavaScript字符串ID生成器。
一个用于格式化和处理数字的javascript库
用于从userAgent字符串检测浏览器,引擎,操作系统,CPU和设备类型/模型。支持浏览器和node.js环境
一个用于多点触摸手势的javascript库
发现导航 - 精选实用导航网站
i18next是一个非常流行的国际化框架,适用于浏览器或任何其他JavaScript环境(例如,node.js)。
JavaScript的可读,自动化和优化(5 kb)国际化
发现导航 - 精选实用导航网站
基于Animate.css,向下滚动页面时显示CSS动画,轻松自定义动画设置:样式,延迟,长度,偏移,迭代...
受Google材质设计启发的点击效果, 波纹效果
加速JavaScript动画
轻量级的JavaScript动画库。它适用于任何CSS属性,单个CSS转换,SVG或任何DOM属性以及JavaScript对象
hover动画CSS / SCSS按钮
发现导航 - 精选实用导航网站
JavaScript MD5实现。兼容服务器端环境,如node.js,RequireJS等模块加载器和所有Web浏览器
JavaScript的简单SHA1哈希函数支持UTF-8编码。
JavaScript的Base64实现
SHA-1,SHA-224,SHA3-224,SHA-256,SHA3-256,SHA-384,SHA3-384,SHA-512,SHA3-512,SHAKE128 ,和SHAKE256以及HMAC
加密标准的JavaScript库
发现导航 - 精选实用导航网站
PDF.js是一个使用HTML5构建的可移植文档格式(PDF)查看器
百度出品,采用大文件分片并发上传,极大的提高了文件上传效率。
纯JavaScript中的客户端/服务器端PDF打印, HTML转换Pdf
JavaScript中的文档阅读器, pdf/ppt/opt/odt等文件渲染成HTML
灵活而有趣的JavaScript文件上传库
客户端保存文件的解决方案,非常适合在客户端上生成文件的Web应用程序
一个使用JavaScript生成PDF的库
发现导航 - 精选实用导航网站
适用于移动和桌面的JavaScript图像库, 图片预览
javascript图片预览
发现导航 - 精选实用导航网站
现代 Web 音频 javascript 库
哇,这么可爱的HTML5 danmaku视频播放器
哇,这么可爱的HTML5音乐播放器
发现导航 - 精选实用导航网站
JavaScript 3D引擎
创建流程图的最小JavaScript库
浏览器的功能强大的交互式图表和可视化库
借助SVG,Canvas和HTML使数据栩栩如生。
发现导航 - 精选实用导航网站
一款轻量级、模块化的前端框架可快速构建强大的web前端界面
发现导航 - 精选实用导航网站
android java和javascript桥接,灵感来自微信webview jsbridge
一个现代的跨平台JavaScript桥接,通过它您可以在JavaScript和本机之间同步或异步地调用彼此的功能
发现导航 - 精选实用导航网站
对象模式验证
字符串验证插件、表单验证
异步验证器
无效的简单对象架构验证
发现导航 - 精选实用导航网站
离线存储,使用简单但功能强大的API包装IndexedDB,WebSQL或localStorage。
发现导航 - 精选实用导航网站
为您的网站和项目提供新功能介绍和逐步用户指南的更好方法
引导您的用户浏览您的应用程序
使用Twitter Bootstrap Popovers快速方便地进行产品浏览
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
用于构建用户界面的 JavaScript 库
React 路由管理
React 状态管理
React官方脚手架
发现导航 - 精选实用导航网站
Redux的官方React绑定(通常配合redux使用)
Redux的Flux标准action实用程序(用于生成action)
Redux的Thunk中间件, 用于处理异步逻辑
一个旨在使应用程序副作用(即异步事物,如数据获取和不纯的东西,如访问浏览器缓存)更容易管理,执行更高效,易于测试,以及更好地处理故障的库
发现导航 - 精选实用导航网站
使用React构建原生APP程序的框架
为您的本地应用程序提供路由和导航
用于制作跨平台移动应用程序的Expo平台
一个基于 React Native 的 UI 组件库
发现导航 - 精选实用导航网站
Ant Design - A UI Design Language
React 组件用于更快速、更简便的 web 开发。你也可以建立你自己的设计系统,或者从 Material Design 开始
elementUI组件库
基于Bootstrap 3构建的组件库
Evergreen是一个React UI框架,用于在Web上构建雄心勃勃的产品。由Segment带给您。
@alifd/next 是 Alibaba Fusion Design 的官方 React 实现, 赋能企业中后台产品开发
Zent 是有赞 PC 端 WebUI 规范的 React 实现,提供了一整套基础的 UI 组件以及一些常用的业务组件
装修一新的现代的应用程序做出React Windows95的UI组件。
React Suite 是一套 React 组件库,为后台产品而生。同时也是一个具有贴心设计以及对开发者友好的 UI 框架
适用于您的React应用程序的简单,模块化和可访问的UI组件
发现导航 - 精选实用导航网站
一个基于 Preact / React / React Native 的 UI 组件库
发现导航 - 精选实用导航网站
这个可重用的反应组件将管理对文档头的所有更改
用于React的响应式图像裁剪工具
这个可重用的反应组件将管理对文档头的所有更改
当React组件进入或离开DOM时执行动画的简单方法
用于加载具有promise的组件的更高阶组件 - 路由懒加载
基于swipe.js封装的react组件/走马灯
使用 Ant Motion 能够快速在 React 框架中使用动画,我们提供了单项,组合动画,以及整套解决方案
网络视频播放器使用React库从头开始构建HTML5世界
一个react路由库,更适合移动端使用,拥有缓存等功能
基于React构建的Web可配置组件库
基于 React和D3 的组合式图表库
JSON查看器
基于G2和React的强大数据可视化库
一个简单的组件,用于使元素可拖动
react走马灯组件
react 拾色器
国际化React应用程序。这个库提供了React组件和一个API,用于格式化日期,数字和字符串,包括复数形式和处理翻译
使用React构建的类似于Excel的网格组件,具有编辑器,键盘导航,复制和粘贴等功能
React组件可有效呈现大型列表和表格数据
一个用于实时编辑React组件的灵活组件库
在React中轻松创建表单
发现导航 - 精选实用导航网站
一个React组件,它创建可移动,可拖动,可调整大小,可缩放,可旋转,可扭曲,可收缩,可分组,可捕捉。
React DnD是一组React实用程序,可帮助您构建复杂的拖放接口,同时保持组件分离
漂亮的和可访问的拖放列表
一个可调整大小且可拖动的React组件。
发现导航 - 精选实用导航网站
开箱即用的中台前端/设计解决方案
发现导航 - 精选实用导航网站
适用于React的JavaScript测试实用程序
Jest是一个令人愉快的JavaScript测试框架,专注于简单性。
发现导航 - 精选实用导航网站
插件化的企业级前端应用框架。
基于React和Redux的轻量级和elm风格框架
你可以将 umi hooks 使用在任何地方,和任意组件库搭配使用。虽然我们的代码示例都是基于 ant design 的,但是并不代表我们的 Hooks 只能和 ant design 配合使用
路由缓存,类似vue keep-alive
发现导航 - 精选实用导航网站
这是一本关于 React.js 的小书
TypeScript和React的入门模板,带有详细的README,描述了如何将两者结合使用。
TypeScript中的React和 Redux - 使用说明
发现导航 - 精选实用导航网站
简单、可扩展的状态管理
服务端渲染框架、SEO解决方案
适用于Web的React,Preact,Inferno和Vanilla JS应用,React库和其他npm模块的工具包,无需配置
为 React Hooks 而生
覆盖create-react-app webpack配置而不弹出
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
渐进式JavaScript 框架
Vue Router 是 Vue.js 官方的路由管理器
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。
vue.js调试工具
Vue.js开发的标准脚手架工具
Vue 驱动的静态网站生成器
Vue服务端渲染、SEO解决方案
用于类式Vue组件的ECMAScript / TypeScript装饰器。
Vue.js的官方ESLint插件
Vite是一个经过验证的Web开发人员构建工具,可在开发过程中通过本机ES模块导入为您的代码提供服务,并将其与Rollup捆绑在一起进行生产
Vue 组合式 API在线文档阅读
发现导航 - 精选实用导航网站
一套基于 Vue.js 的高质量UI 组件库
一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库
支持Vue3.0的Element
基于 Vue 2.0 优雅的 Material Design UI 组件库
这里是 Ant Design 的 Vue 实现,开发和服务于企业级后台产品
让Vue和Material Design的强大力量在开发上助您一臂之力
BootstrapVue为Vue.js提供了最全面的Bootstrap 4组件和网格系统实现之一,并提供了广泛的自动WAI-ARIA可访问性标记
Vue material简单,轻巧,完全符合Google Material Design规范
Buefy是一个基于Bulma框架和设计的Vue.js响应式UI组件的轻量级库。
发现导航 - 精选实用导航网站
轻量、可靠的移动端 Vue 组件库
一个凑合的 Vue.js 移动端 UI 组件库
基于 Vue.js 实现的精致移动端组件库
面向金融场景的Vue移动端UI组件库,丰富、灵活、实用,快速搭建优质的金融类产品,让复杂的金融场景变简单
基于 Vue.js 的移动端组件库
一套京东风格的轻量级移动端Vue组件库
发现导航 - 精选实用导航网站
基于swiper封装的轮播图组件
管理Vue 2.0组件中的页面元信息。支持SSR + Streaming
Vue Scroller是Vonic UI 的基础组件。为了平滑滚动,拉动刷新和无限加载。
Vue.js的无限滚动插件(支持向上和向下)
发现导航 - 精选实用导航网站
基于iView的Vue 2.0管理系统模板
发现导航 - 精选实用导航网站
Vue.js 通用应用框架
create-nuxt-app
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
一个框架,移动 & 桌面
用于Angular CLI脚手架工具
Angular调试和可视化工具
发现导航 - 精选实用导航网站
基于Ant Design的Angular企业级UI组件
基于Bootstrap 4的Angular组件
Element Angular组件库
PrimeNG是Angular的丰富UI组件的集合
Material Design是一个统一的视觉,动作和交互设计系统的规范,适用于不同的设备。
发现导航 - 精选实用导航网站
Material Design是一个统一的视觉,动作和交互设计系统的规范,适用于不同的设备。
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
微信小程序
微信小游戏
发现导航 - 精选实用导航网站
Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心
官方小程序组件化开发框架
Mpx是一款致力于提高小程序开发体验的增强型小程序框架(滴滴出品,基于vue)
uni-app 是使用 Vue 语法开发小程序、H5、App的统一框架
腾讯原生小程序框架 OMIX 2.0
发现导航 - 精选实用导航网站
轻量、可靠的小程序 UI 组件库
这是一套基于样式库weui-wxss开发的小程序扩展组件库,同微信原生视觉体验一致的UI组件库
wxParse-微信小程序富文本解析自定义组件,支持HTML及markdown解析
适用于 Mpvue 的微信小程序富文本解析自定义组件
ECharts 的微信小程序版本
微信小程序原生LBS能力的最佳拍档
鲜亮的高饱和色彩,专注视觉的小程序组件库
验证码、支付密码输入框组件
发现导航 - 精选实用导航网站
微信 JS 接口签名校验工具
微信公众平台接口调试工具
小程序自定义组件 computed / watch 扩展
发现导航 - 精选实用导航网站
微信小程序开源项目库汇总
微信小程序开发资源汇总
发现导航 - 精选实用导航网站
小程序开发者专区,微信公众平台,微信开放社区,开发者专区
微信公众号排版编辑器,转换 Markdown 到微信特制的 HTML
微信开放平台
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
CSS动画集成、在线调试阴影
CSS雪碧图生成
前端开发调试CSS渐变必备神器
在线生成CSS动画
CSS渐变调试并生成CSS代码
CSS渐变调试并生成CSS代码,还可以角度变换
px与em单位转换
CSS三角形產生器 - 使用純CSS繪畫三角形
将sass语法转换成CSS语法
字体图标转换Base64
上千种Loading认你选
css参考是一个免费的视觉指导css。它以最受欢迎的特性为特色,并用插图和动画示例对其进行说明
CSS3 Box Shadow(阴影)效果在线调试工具
发现导航 - 精选实用导航网站
验证JavaScript正则表达式
json在线解析,json格式化,json格式验证,json转xml,xml转json
Prettier是一个固定的代码格式化程序。它通过解析代码并使用自己的规则重新打印它来强制执行一致的样式,这些规则考虑了最大行长度,并在必要时包装代码
正则表达式在线测试
微信调试,各种WebView样式调试、手机浏览器的页面真机调试。便捷的远程调试手机页面、抓包工具,支持:HTTP/HTTPS,无需USB连接设备
一个轻量、可拓展、针对手机网页的前端开发者调试面板
发现导航 - 精选实用导航网站
免费CDN服务,包括 JavaScript、CSS、图片和 swf 等静态文件
jsDelivr – 开源 CDN
稳定、快速、免费的前端开源项目 CDN 加速服务
面向Web开发人员的免费和开源公共Web CDN!
发现导航 - 精选实用导航网站
支持前端JavaScript,后端Node.js以及微信小程序错误监控
前端查询API各个厂商兼容性情况
Browserhacks是来自各个互联网的浏览器特定CSS和JavaScript hacks的广泛列表。
字符实体参考图,>
开源web编辑器汇总列表
强大的前端代码在线演示的网站
jsPerf旨在提供一种简单的方法来创建和共享测试用例,通过运行基准测试来比较不同JavaScript代码段的性能
codesandbox是为Web应用程序定制的在线编辑器。
所有HTML元素和属性的免费指南参考
一个轻量级的html/css/js在线编辑器Debug调试器
JSFuck是基于JavaScript原子部分的深奥和教育性编程风格。它仅使用六个不同的字符来编写和执行代码。
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架
Sass 是成熟、稳定、强大的 CSS 扩展语言
Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性
CSS3动画特效
CSS动画的跨浏览器库,简单易用
使浏览器更加一致地呈现所有元素并符合现代标准。它只针对需要规范化的样式
CSS3动力悬停效果的集合,适用于链接,按钮,徽标,SVG,特色图像等
复制GitHub Markdown样式的最小CSS量
Autoprefixer是一款自动管理浏览器前缀的插件,它可以解析CSS文件并且添加浏览器前缀到CSS内容里
Vivify是免费的CSS动画库。
在线制作CSS动画
发现导航 - 精选实用导航网站
阿里妈妈MUX倾力打造的矢量图标管理、交流平台
一套绝佳的图标字体库和CSS框架
会动的纯svg矢量图标库
适用于Ionic Framework和Web应用程序的高级图标字体
Google的Material Design图标
发现导航 - 精选实用导航网站
在线比拼CSS
学习CSS布局
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
TypeScript 是一种由微软开发的自由和开源的编程语言,它是JavaScript的一个超集
搜索typescript 类型包 @types/node
高质量TypeScript类型定义的存储库
Monorepo用于所有工具,使ESLint能够支持TypeScript
用于客户端和服务器端开发的强大TypeScript资源的集合。在TypeScript中编写精彩的JavaScript
TypeScript 入门教程
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
JavaScript 20 年
你不知道的JavaScript
以最新的 JavaScript 标准为基准。通过简单但足够详细的内容,为你讲解从基础到高阶的 JavaScript 相关知识
ECMAScript 6入门
JavaScript 标准参考教程
发现导航 - 精选实用导航网站
你真的了解JavaScript吗?来试试吧!
打造最好的面试图谱
飞冰早报
用于JavaScript的API文档生成器。
精选的有用JavaScript代码段集合,您可以在30秒或更短的时间内理解这些代码段。
JavaScript开发者应懂的33个概念
跟踪ECMAScript 提案
ECMA-262的状态,流程和文档
JavaScript 语言最古怪用法的文档集合
Airbnb JavaScript 编码规范
工作日每天一道前端大厂面试题,祝大家天天进步,一年后会看到不一样的自己
JavaScript 算法与数据结构
前端精读周刊
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时
npm是JavaScript世界的包管理工具,并且是 Node.js 平台的默认包管理工具
发现导航 - 精选实用导航网站
在复杂的世界中请求HTTP(s)URL
multipart / form-data编码流,用于文件上传的帮助程序。
给我一个字符串,我会告诉你它是否是有效的npm软件包名称
发现导航 - 精选实用导航网站
快速、可靠、安全的依赖管理
Node.js软件包和资源
最大的Node.js最佳实践列表
发现导航 - 精选实用导航网站
基于Node.js的论坛软件,为现代网站
Ghost 是基于 Node.js 构建的开源博客平台。Ghost 具有易用的书写界面和体验,博客内容默认采用 Markdown 语法书写。Ghost 的目标是取代臃肿的 Wordpress
发现导航 - 精选实用导航网站
Node.js 最佳实践, 最大的汇集,且每周都在增长 - 当前,超过50个最佳实现,样式指南,架构建议已经呈现
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
简化的HTTP请求客户端
一个小型渐进式客户端HTTP请求库,Node.js模块具有相同的API,具有许多高级HTTP客户端功能
基于Promise的HTTP客户端,用于浏览器和node.js
一个轻量级的模块,将window.fetch带到Node.js
带有async await的功能性JS HTTP客户端(Node.js和Fetch)
superagent代理扩展,这使您可以通过某种代理来代理HTTP请求
发现导航 - 精选实用导航网站
Puppeteer是一个Node库,它提供了一个高级API来通过DevTools协议控制Chromium或Chrome
对浏览器中运行的所有内容进行快速,轻松和可靠的测试,(类Puppeteer)
Node.js和浏览器的简单,灵活,有趣的JavaScript测试框架
node.js的BDD/TDD断言框架和可以与任何测试框架配对的浏览器
未来的JavaScript测试运行器
Jest是一个令人愉快的JavaScript测试框架,专注于简单性。
一个Node.js工具,用于自动化端到端Web测试
使用Jest&Puppeteer运行测试 🎪✨
具有对Jest的Sourcemap支持的TypeScript预处理器
扩展 jest 匹配器
发现导航 - 精选实用导航网站
node.js的快速node-mysql兼容的mysql驱动程序
基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, SQLite 和 Microsoft SQL Server. 它具有强大的事务支持, 关联关系, 读取和复制等功能
mongodb对象模型设计用于在异步环境中工作。
适用于Node.js,以性能为中心且功能齐全的Redis客户端。
Objection.js是Node.js的一个ORM ,它旨在避免使用SQL和底层数据库引擎的全部功能,同时尽可能简单地将magic保持在最低限度。
JavaScript数据库,用于Node.js,nw.js,electron和浏览器
ORM for TypeScript和JavaScript(ES7,ES6,ES5)。支持MySQL,PostgreSQL,MariaDB,SQLite,MS SQL Server,Oracle,WebSQL数据库。适用于NodeJS,浏览器,Ionic,Cordova和Electron平台
PostgreSQL,MySQL和SQLite3的查询构建器,旨在灵活,可移植且易于使用。
高性能Node.js Redis客户端。
发现导航 - 精选实用导航网站
node-canvas是Node.js的Cairo -backed Canvas实现。
在node.js中生成svg验证码
node.js使用C++库CImg生成验证码,无需安装任何其他库或软件
将文本转换为SVG路径而不依赖于本机
使用PhantomJS将SVG转换为PNG
发现导航 - 精选实用导航网站
一个HTTP可编程代理库,支持websocket。它适用于实现反向代理和负载平衡器等组件
用于连接,快速和浏览器同步的单线程node.js http-proxy中间件(基于node-http-proxy)
发现导航 - 精选实用导航网站
ECMAScript解析基础架构,可进行多用途分析, 将代码转换成AST
JavaScript AST转换器,非破坏性漂亮打印机和自动源映射生成器
发现导航 - 精选实用导航网站
NodeJS excel文件解析器和构建器
操作系统文件,用于替代内置的fs模块
SheetJS社区版 - 电子表格工具包
文件压缩
发现导航 - 精选实用导航网站
微信公共平台OAuth接口消息接口服务中间件与API SDK
微信公共平台API
微信公共平台消息接口服务中间件
是适用于微信个人帐户的Bot SDK ,可以帮助您创建6行javascript的机器人
发现导航 - 精选实用导航网站
匹配文件。 **/*.js
轻巧,美观和用户友好的交互式提示
时尚,直观和用户友好的提示
带有Node.JS的CLI的漂亮unicode表
node.js命令行界面的完整解决方案,受Ruby指挥官的启发
优雅的终端微调器
常用交互式命令行用户界面的集合
Node.js的可移植Unix shell命令
下载并提取git存储库(GitHub,GitLab,Bitbucket)
node的semver解析器
node.js的灵活ascii进度条
二维码生成
打开URL,文件,可执行文件等内容。跨平台。
用纯JavaScript编写的SSH2客户端和服务器模块,用于node.js
解析参数选项
清空终端屏幕信息
终端字符串样式
通过解析参数并生成优雅的用户界面来帮助您构建交互式命令行工具。
发现导航 - 精选实用导航网站
JavaScript模板引擎
JavaScript模板引擎
使用JavaScript的无逻辑{{mustache}}模板
发现导航 - 精选实用导航网站
简单的XML到JavaScript对象转换器。它支持双向转换。使用sax-js和 xmlbuilder-js
纯JavaScript中转换字符编码。
在JavaScript中生成符合RFC的UUID
使任何网页成为桌面应用程序
通过Node.js获取当前计算机的mac地址
一个简单的零配置命令行http服务器
Node的类似cron-like和非not-cron-like的作业调度程序。
QRCode终端版
localtunnel将您的localhost暴露给世界,以便于测试和共享!无需混淆DNS或部署只是为了让其他人测试您的更改
Node.js的简单,不显眼的身份验证
参数验证工具
用于解析字符串字节, b/kb/mb/gb/tb/pb
JavaScript YAML解析器和转储器。非常快
一个小型,基于JavaScript的快速JavaScript解析器
用JavaScript编写的FIG驱动程序,旨在完全实现FIGfont规范, 生成ascii
本机 node.js 打印机
无缝缩小字体
Node.js的HTTP请求记录器中间件
与Node.js一起使用的各种Web标准的JavaScript实现
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用
通过JS或CLI自定义和封装您的Electron应用程序与特定于操作系统的软件包(.app,.exe等)
使用AppDMG为电子应用程序创建DMG安装程序
基于 vue (基本上是它听起来的样子) 来构造 electron 应用程序的样板代码。
一个开箱即用的完整解决方案,用于将Electron, Proton Native or Muon 打包、构建成支持macOS, Windows and Linux三大系统的,可”自动更新”的可发布安装程序
基于React可扩展跨平台应用程序的App
Electron创建菜单栏桌面应用程序的高级方法。
发现导航 - 精选实用导航网站
从DOM/WebWorker层,直接调用所有的Node模块,使用现有的web技术,开启一个全新的编写应用的方式
以编程方式或通过CLI 构建适用于Mac,Win和Linux的NW.js应用程序。
FFMpeg预构建的二进制文件具有专有的编解码器和构建窗口。
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
Nest 是一个用于构建高效,可扩展的 Node.js 服务器端应用程序的框架。它使用渐进式 JavaScript,内置并完全支持 TypeScript(但仍然允许开发人员使用纯 JavaScript 编写代码)并结合了 OOP(面向对象编程),FP(功能编程)和 FRP(功能反应编程)的元素
NestJS的精选列表
发现导航 - 精选实用导航网站
Egg.js 为企业级框架和应用而生,我们希望由 Egg.js 孕育出更多上层框架,帮助开发团队和开发人员降低开发和维护成本
基于 parameter 封装的参数验证插件
基于 nodemailer 封装的参数验证插件
发现导航 - 精选实用导航网站
Koa -- 基于Node.js 平台的下一代web开发框架
Express - 快速、开放、极简的 Web 开发框架
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
Node.js调试器基于Blink Developer Tools
一个微小的JavaScript调试工具,以Node.js核心的调试技术为模型。适用于Node.js和Web浏览器
ndb是针对Node.js的改进调试体验,由Chrome DevTools启用
发现导航 - 精选实用导航网站
Node版本管理器 - 用于管理多个活动node.js版本的简单bash脚本
适用于Windows的node.js版本管理实用程序
Node Version Switcher - 用于在Node.js的版本和分支之间切换的跨平台工具(受到nvm的启发)
Node.js版本管理:无配置文件,无复杂的API,非常简单
发现导航 - 精选实用导航网站
log4js 是一个 nodejs 日志管理工具,可以将日志以各种形式输出到各种渠道。
用于node.js服务的简单快速的JSON日志记录模块
发现导航 - 精选实用导航网站
一套用于自动化开发工作流程的工具
发送来自Node.js的电子邮件 - 很容易就像蛋糕一样!
将文件发布到GitHub上的gh-pages分支的常规任务
发现导航 - 精选实用导航网站
适用于ES6+的JavaScript解析器,mangler和压缩器工具包
发现导航 - 精选实用导航网站
npm包下载量曲线对比图
监视node.js应用程序中的任何更改并自动重新启动服务器 - 非常适合开发
将Node.js项目打包成可执行文件
查找package.json或bower.json允许的更新版本的软件包依赖项
husky 可以防止错误的 git commit, git push 等
找出在项目中添加新的依赖项的包大小
一个CLI工具,可并行或顺序运行多个npm脚本
从.env加载用于nodejs项目的环境变量
运行跨平台设置和使用环境变量的脚本
npm源快速切换, npm, cnpm, taobao, nj, 内网
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
一个安全的运行时的JavaScript和TypeScript
Deno 标准库
发现导航 - 精选实用导航网站
适用于Deno的Visual Studio Code插件
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
Go编程语言
大规模构建快速,可靠,高效的软件
精选的Go框架,库和软件的精选列表
中国最可靠的 Go 模块代理
Go语言中文网
Go标准库中文文档
发现导航 - 精选实用导航网站
Gin是用Go(Golang)编写的Web框架。它具有类似于martini的API,其性能比httprouter快40倍。如果您需要性能和良好的生产率,您会喜欢Gin
beego是用于Go编程语言的开源,高性能Web框架
Go的经典Web框架
高性能,简约的Go Web框架
最快的HTTP / 2 Go Web框架。AWS Lambda,gRPC,MVC,唯一路由器,Websocket,会话,测试套件,依赖注入等。expressjs和laravel的真正继承者|
Fiber是一个受Express启发的Web框架,建立在Fasthttp(Go最快的HTTP引擎)的基础上。 旨在简化零内存分配和性能的情况,以便快速开发。
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
基于Material Design的Go跨平台GUI
发现导航 - 精选实用导航网站
Go的结构化,可插入日志记录。
在Go中实现快速,结构化,水平的日志记录。
发现导航 - 精选实用导航网站
适用于Golang的绝佳ORM库,旨在对开发人员友好
用于Go的简单但功能强大的实体框架,可轻松构建和维护具有大型数据模型的应用程序。
Go MySQL驱动程序是Go(golang)数据库/ sql包的MySQL驱动程序
sqlite3驱动程序
适用于database/sql的Pure Go Postgres驱动程序
用于Golang的类型安全的Redis客户端
发现导航 - 精选实用导航网站
高性能100%兼容的“ encoding / json”替代产品
Markdown处理器,安全、快速。
用Go语言编写的markdown解析器。易于扩展,符合标准(CommonMark),结构合理。
接近jQuery语法的DOM解析库
yaml包使Go程序能够轻松地对yaml值进行编码和解码, 可以快速可靠地解析和生成YAML数据。
从文本中提取Urls
发现导航 - 精选实用导航网站
参数验证程序,用于字符串,数字,切片和结构
基于标签对结构和各个字段实现值验证。
发现导航 - 精选实用导航网站
获取公网IP地址、v4/v6
提供了用于处理终端的支持功能,这在UNIX系统上很常见
用于检索正在运行的进程和系统利用率(CPU,内存,磁盘,网络,传感器)的信息。它主要用于系统监视,概要分析和限制进程资源以及管理正在运行的进程
Go热重载
分布式系统开发框架
xlsx是一个库,用于简化在Go程序中读写Microsoft Excel最新版本使用的XML格式。
Go强大而灵活的电子邮件库。
Go的一种快速,经过测试且广泛使用的WebSocket实现
Golang 实现的 JSON WEB TOKEN
Go 实现的 cron 包
二维码生成
权限管理库,支持Golang中的访问控制模型,如ACL,RBAC,ABAC
用于Go的简单HTTP和REST客户端库
gRPC的Go语言实现。基于HTTP/2的RPC
Colly提供了一个干净的界面来编写任何种类的爬虫
使用net / http可配置的处理程序来处理CORS请求
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
CLI 控制台颜色渲染工具库, 支持Windows
发现导航 - 精选实用导航网站
一个简单,快速且有趣的软件包,用于在Go中构建命令行应用
Cobra既是用于创建功能强大的现代CLI应用程序的库,又是用于生成应用程序和命令文件的程序
发现导航 - 精选实用导航网站
Golang的控制台进度栏
Go cli应用程序的多进度条
发现导航 - 精选实用导航网站
命令行应用程序的交互式提示
从`.env`文件加载环境变量。
受python-prompt-toolkit启发,在Go中构建强大的交互式提示。
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
Go版本管理器,类似 nvm
在线 JSON 转 Struct结构体
Go的快速Linters Runner
在线运行Golang
Nuclei是基于模板的可配置目标扫描的快速工具,具有广泛的可扩展性和易用性。
分布式链路追踪
Delve是Go编程语言的调试器。
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
《The Way to Go》中文译本,中文正式名《Go 入门指南》
Go语言圣经 《The Go Programming Language》 中文版本
Golang电子书介绍如何使用Golang建立网络
《The Little Go Book》中文译本,中文正式名《Go简易教程》
Go by Example 是对 Go 基于实践的介绍,包含一系列带有注释说明的示例程序。
本指南涵盖了该语言的大部分重要特性,主要包括:基础、方法和接口、并发等
一本着墨于Go语法语义以及运行时相关知识点的编程指导书(Go 1.15就绪)。 此书旨在尽可能地帮助Go程序员更深更全面地理解Go语言
本书涵盖CGO、Go汇编语言、RPC实现、Web框架实现、分布式系统等高阶主题,针对Go语言有一定经验想深入了解Go语言各种高级用法的开发人员(不推荐新手)
《Mastering GO》中文译本,《玩转 GO》。
Mastering Go 第二版中文版来袭!
发现导航 - 精选实用导航网站
Golang - 100天从新手到大师
Go标准布局结构,项目架构结构参考。
Uber Go 语言编码规范
WEB 框架Gin实战
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
Dart语言
在线运行Dart语法
Dart packages
Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的
Flutter内置Icon组件图标速查表
发现导航 - 精选实用导航网站
用flutter在Android中获取imei的插件
Flutter插件,可让您在iOS和Android上显示多图像选择器。
SQLite flutter plugin
dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时、自定义适配器等
一个基于Redux状态管理的组合式flutter应用程序框架。它适用于建筑中型和大型应用。
一个提供上拉加载和下拉刷新的组件,同时支持Android和Ios
JSON序列化和反序列化的代码
flutter最强大的siwiper, 多种布局方式,无限轮播,Android和IOS双端适配
适用于Flutter的Android Toast插件
生成 RFC4122(v1,v4,v5) UUIDs
Flutter版微信SDK.WeChat SDK for flutter.
发现导航 - 精选实用导航网站
Material是一个由开源代码支持的设计系统,可以帮助团队构建高质量的数字体验
Flutter实战
Flutter示例和演示的集合
flutter 开发者帮助 APP,包含 flutter 常用 140+ 组件的demo 演示与中文文档
flutter相关功能demo的集合,它能够帮助您快速学习一些零碎的知识
Flutter团队维护的Flutter插件
很棒的清单,精选了最好的Flutter库,工具,教程,文章等
330+Widgets在线查看预览和使用。
发现导航 - 精选实用导航网站
基于Google Flutter的WanAndroid客户端,支持Android和iOS。包括BLoC、RxDart 、国际化、主题色、启动页、引导页,拥有较好的项目结构&比较规范的代码
Best-Flutter-UI-模板, 对所有人完全免费。其内置的Flutter Dart。
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
是一种解释型、面向对象、动态数据类型的高级程序设计语言。
使用Python软件包索引查找,安装和发布Python软件包
发现导航 - 精选实用导航网站
python-check-updates, 检查 pip 当前依赖包最新版本
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
requests是一个简单而优雅的HTTP库。
用于asyncio和Python的异步HTTP客户端/服务器框架
一个用于Python的快速高级Web爬虫框架。
浏览器自动化框架和生态系统。
可以从HTML或XML文件中提取数据的Python库
发现导航 - 精选实用导航网站
友好的PIL前叉,是一个出色的图像处理库
发现导航 - 精选实用导航网站
使用Python进行科学计算的基本软件包。
发现导航 - 精选实用导航网站
功能强大的Python数据分析工具包
发现导航 - 精选实用导航网站
Rich是一个Python库,用于在终端中提供富文本和精美的格式。
Python Fire是一个用于从绝对任何Python对象自动生成命令行界面(CLI)的库。
Python中简单的跨平台彩色终端文本
适用于Python和CLI的快速,可扩展的进度栏
领先的Python SSHv2协议库
Python可组合命令行界面工具包
发现导航 - 精选实用导航网站
JMESPath是JSON的查询语言
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
具有期限的完美主义者的Web框架。
用于构建Web应用程序的Python微框架。
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
旨在于介绍如何使用 Python 语言进行编程的自由图书。它以教材与指南的形式为入门者介绍 Python 语言。如果你对电脑知识的了解仅限于如何保存文本文件的话,那这本书就是为你准备的。
发现导航 - 精选实用导航网站
Python - 100天从新手到大师
Python 入门指南
一些有趣且鲜为人知的 Python 特性.
Python 资源大全中文版
Python大全备忘单
精选的Python框架,库,软件和资源的精选清单。
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
是中文领域最大的技术问答交流社区平台
一个帮助开发者成长的社区
致力于构建开发工程师高端交流分享社区
黑客派是程序员和设计师的聚集地,汇聚了严谨求实的工程师和富有创意的设计师
国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究
吾爱破解关注PC软件安全和移动安全领域,致力于软件安全与病毒分析的前沿
FreeBuf黑客与极客,国内关注度最高的全球互联网安全媒体平台
Web前端 腾讯IMWeb 团队社区
全球最大的技术问答网站,是一个与程序相关的IT技术问答网站
React论坛社区
中国最好的技术翻译社区,最懂译者的翻译平台,奇虎360最大前端团队“奇舞团”出品
Mozilla 开发者社区,是一个完整的学习平台,你可以在这里深入学习Web技术以及能够驱动Web的软件
在这里程序员分享想法并帮助彼此成长
发现导航 - 精选实用导航网站
创意工作者们的社区
知乎,中文互联网最大的知识分享和社交平台
简书是一个创作社区,任何人均可以在其上进行创作
小专栏是一个专业人士的创作知识社区,在这里您可以看到各个领域最专业的专栏和观点
Hacker News
程序员客栈是领先的程序员自由工作平台,未来互联网企业用人方式。提供优秀程序员为您进行网站建设制作、测试运维服务、人工智能AI、大数据区块链、软件开发等优质服务
智联招聘旗下专业的招聘求职社交问答平台,覆盖了求职、招聘、职业规划、升职加薪、面试技巧、工作经验分享等热门话 题,涉及各种行业职场问题,1.5亿用户的职场社区
煎蛋以译介方式传播网络新鲜资讯
发现导航 - 精选实用导航网站
面向开源及私有软件项目的托管平台
码云专为开发者提供稳定、高效、安全的云端软件开发协作平台
用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务
面向开发者的云端开发平台,提供 git/svn 代码托管,代码质量分析,在线WebIDE,项目管理...
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
觅元素,为您提供免费设计元素,设计元素的资源站
致力于为设计师提供最优质的素材
花瓣,陪你做生活的设计师
Dribbble是展示和宣传,推广,发现和探索设计的地方
万素网致力于为国内各行业设计师,网站编辑,新媒体工作人员提供免费png素材与背景图片服务
ArtStation是游戏,电影,媒体和娱乐艺术家的展示平台。它使艺术家能够以流畅的方式展示他们的作品集,发现和保持灵感,并与新的机会联系起来。
设计模板 - Canva
美丽,免费的照片。由世界上最慷慨的摄影师社区赠送。
电商素材、新媒体配图、手机海报等。
带有开源插图的设计项目,可满足您可以想象和创建的任何想法。 免费使用您的颜色创建漂亮的网站,产品和应用程序
UI中国用户体验平台,中国用户体验联盟理事单位。国内极具影响力的设计平台之一。十多年来,携手会员150万+,共同致力于为设计师与企业搭建健康的设计生态!
由GitHub Design团队创建和维护的所有吉祥物素材
从每日ui档案库及其他收集的每日灵感。 根据Dribbble拍摄的照片,手工挑选,每天更新
发现导航 - 精选实用导航网站
下载免费图标,音乐,素材图片,矢量,UX插图和视频音乐
3000多种精美的SVG徽标,非常适合您的自述文件或积分页面
超过25万个icon免费集合
超过1000+SVG Logos集合
阿里妈妈MUX倾力打造的矢量图标管理、交流平台
免费下载图标,插图和库存照片
发现导航 - 精选实用导航网站
一款简单易用、功能强大的线上图形设计工具
Ps Play - 移动设计零阻力
鹿班 - 让设计更美好(阿里出品)
6500+免费字体下载
发现导航 - 精选实用导航网站
Color Hunt是一个免费开放的平台,可通过数千种精选的时尚调色板来激发色彩灵感
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
Docker — 从入门到实践
docker-library中的Docker官方映像文档
Docker 镜像仓库
使用Docker定义和运行多容器应用程序
发现导航 - 精选实用导航网站
Git常用命令参考手册 (推荐学习)
github 官方帮助文档
精选的GitHub上很棒的Action列表
Github 官方Actions 资源列表
程序猿成长计划
发现导航 - 精选实用导航网站
nginx参考文档
Nginx开发从入门到精通
发现导航 - 精选实用导航网站
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构
MySQL数据库服务是一个完全托管的数据库服务,可使用世界上最受欢迎的开源数据库来部署云原生应用程序。 它是百分百由MySQL原厂开发,管理和提供支持
发现导航 - 精选实用导航网站
免费的编程中文书籍索引
Z-Library 项目部分. 全球最大的数字图书馆, 电子书
IT类技术书籍PDF
22种常用设计模式
发现导航 - 精选实用导航网站
Linux 常用命令参考手册
2020年成为网络开发人员的路线图
WEB开发速查表,mysql/go/java/js/bash/react/git...
Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集
正则表达式学习
命令行的艺术
Chrome浏览器命令参数参考手册
vim配置参考手册
Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要
在Y分钟内学习X
Vscode 扩展开发文档
YAML教程
谷歌浏览器扩展插件开发文档
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
提供了编程的基础技术教程, 介绍了HTML、CSS、Javascript、Python,Java,Ruby,C,PHP , MySQL等各种编程语言的基础知识。 同时本站中也提供了大量的在线实例,通过实例,您可以更好的学习编程
慕课网-程序员的梦工厂
致力于“让IT学习更有效”,以实战为特色,为注重自我提升的IT从业者提供高品质职业教育
腾讯课堂 - 专业的在线教育平台
【i春秋】-专注网络安全_信息安全_白帽子的在线学习_教育_培训平台
实验吧是国内最大的在线虚拟机实验IT教育平台
合天网安实验室是支持在线实验的信息安全学习的大型服务平台
网易云课堂 - 领先的实用技能学习平台
蓝桥是国内领先的IT在线编程及在线实训学习平台,专业导师提供精选的实践项目,创新的技术使得学习者无需配置繁琐的本地环境,随时在线流畅使用
编程狮,是一个专业的W3C前端开发及编程入门学习平台
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
提高你的编码技能,快速找到一份工作。这是扩展你知识和为下一次面试做好准备的最佳地方。
牛客网是互联网求职神器,C++、Java、前端、产品、运营技能学习/备考/求职题库
技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计、Java、Python、C++
数据结构和算法动态可视化
算法模板,最科学的刷题方式,最快速的刷题路径,你值得拥有~
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
WooYun是一个位于厂商和安全研究者之间的漏洞报告平台,注重尊重,进步,与意义
安全联盟 - 国内最大的第三方网络安全数据共享交换平台
为站长免费提供了网站漏洞检测、网站漏洞修复、网站后门检测、木马查杀,网址安全查询等服务
红黑联盟作为老牌的信息安全网站,致力于培训电脑技术高手.网站集网络安全,系统网络,编程开发,网站建设等频道于一体
知道创宇,网络空间安全专家,长期致力于为政府、企业类客户提供完善的云安全解决方案
关注安全资讯 专注资源共享
主要通过网络搜集国内被黑网站信息,统计分析数据,为部署安全型网络提供强有力的依据...
高质量的全球互联网安全媒体和技术平台,安全爱好者们交流与分享前沿安全技术的最佳社区
发现导航 - 精选实用导航网站
XSS-CTF 是一个练习和入门的XSS平台, 每一位WEB工程师都应具备的基础知识,提高网络安全意识
XSS小游戏
XSS CTF
发现导航 - 精选实用导航网站
Fiddler是一个用于HTTP调试的代理服务器应用程序
是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换
XSS平台是一个免费给白帽安全测试的平台
快速轻松地评估HTTP响应头的安全性
一款全能型的网站漏洞扫描器,内置1200+插件可对网站进行一次规模的检测,功能包括但不限于web指纹检测、端口指纹检测、网站结构分析、各种流行的漏洞检测、爬虫以及SQL注入检测、XSS检测...
xray 安全评估工具
md5在线解密破解,md5解密加密
自动SQL注入和数据库接管工具
nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端
编码/解码,Codz,探针
在线子域名查询
Web Pentesting Fuzz 字典
免费的BurpSuitePro版本
发现导航 - 精选实用导航网站
基于docker和docker-compose的漏洞环境集合...
工欲善其事,必先利其器,一些src挖掘奇技淫巧,国外新技术的学习网站分享
内网渗透TIPS
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
全球最大的中文网站流量分析平台,帮助企业收集网站访问数据,提供流量趋势、来源分析...
CNZZ数据专家是全球最大的中文网站统计分析平台,为各类网站提供免费、安全、稳定
百度搜索资源平台_让网站更具价值
免费使用问卷星创建问卷调查、在线考试、360度评估等应用
金数据是人人可用的在线表单工具,帮助用户收集和管理日常工作中的数据,提升工作效率
Google Analytics是一个收集数据并将其分析整理成实用报告的平台
腾讯移动分析是腾讯数据云,腾讯大数据战略的核心产品,提供app应用的移动统计分析,支持android/iOS平台,实现用户画像、数据可视化、数据挖掘、渠道效果分析等综合数据服务
Google Adsense
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
O2面向多终端技术体系,致力于构建沉淀与分享包括但不限于交互、页面制作技巧...
Web前端 腾讯IMWeb 团队社区
字节跳动技术博客
用技术为体验提供无限可能
有赞技术团队
发现导航 - 精选实用导航网站
阮一峰的网络日志
WEB Developer
当然我在扯淡
react作者的博客
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站
发现导航 - 精选实用导航网站