From afb23010f0f54b01215473aca89b4881b3f07412 Mon Sep 17 00:00:00 2001 From: mei Date: Sat, 16 Nov 2024 12:03:09 +0800 Subject: [PATCH] update --- .gitignore | 2 + _config.yml | 116 + db.json | 1 + package-lock.json | 4430 +++++++++++++++ package.json | 26 + scaffolds/draft.md | 4 + scaffolds/page.md | 4 + scaffolds/post.md | 5 + source/_data/AI-ASR.yml | 4 + source/_data/AI-TTS.yml | 12 + source/_data/AI-其它.yml | 24 + source/_data/AI-图像影音类.yml | 44 + source/_data/AI-大语言模型.yml | 20 + source/_data/MacOS.yml | 4 + source/_data/VSCode-PHP.yml | 0 source/_data/VSCode-others.yml | 16 + source/_data/VSCode-前端.yml | 24 + source/_data/blogs.yml | 12 + source/_data/linux.yml | 12 + source/_data/前端-Javascript库.yml | 36 + source/_data/前端-工具.yml | 48 + source/_data/图片设计.yml | 36 + source/_data/好玩的东西.yml | 16 + source/_data/工具-其它.yml | 132 + source/_data/工具-素材.yml | 8 + source/_data/工具-设计.yml | 28 + source/_data/文章.yml | 24 + source/_data/无人机.yml | 12 + source/_data/有趣的开源项目.yml | 108 + source/_data/编程.yml | 24 + source/_data/网络.yml | 12 + source/_data/视图文素材.yml | 44 + source/_data/运维.yml | 72 + source/_posts/hello-world.md | 38 + source/img/163music.ico | Bin 0 -> 4286 bytes source/img/1Panel.jfif | Bin 0 -> 1325 bytes source/img/APISQL.ico | Bin 0 -> 15406 bytes source/img/APISR.png | Bin 0 -> 34880 bytes source/img/AntiZhaPian.jpg | Bin 0 -> 46448 bytes source/img/Ban-Hacker-IP-Plan.jfif | Bin 0 -> 1227 bytes source/img/Bert-VITS2.png | Bin 0 -> 1116 bytes source/img/BewlyBewly.png | Bin 0 -> 2436 bytes source/img/BililiveRecorder.png | Bin 0 -> 2007 bytes source/img/Billfish.ico | Bin 0 -> 28861 bytes source/img/BroadcastChannel.png | Bin 0 -> 887 bytes source/img/CSSPeek.png | Bin 0 -> 142263 bytes source/img/CapsWriter.ico | Bin 0 -> 67646 bytes source/img/ChatGLM3.png | Bin 0 -> 4738 bytes source/img/ChatTTS.ico | Bin 0 -> 5238 bytes .../img/China-Internationally-connected.png | Bin 0 -> 2631 bytes source/img/Class-Widgets.png | Bin 0 -> 91624 bytes source/img/CogVideo.png | Bin 0 -> 64707 bytes source/img/ComfyUI.png | Bin 0 -> 5483 bytes source/img/CoolShell.png | Bin 0 -> 3012 bytes source/img/Coolify.png | Bin 0 -> 2156 bytes source/img/Digital_Life_Server.jfif | Bin 0 -> 1217 bytes source/img/DirectoryLister.png | Bin 0 -> 746 bytes source/img/DistroSea.ico | Bin 0 -> 34494 bytes source/img/Docker-OSX.png | Bin 0 -> 1859 bytes source/img/EarTrumpet.png | Bin 0 -> 6226 bytes source/img/EasySpider.jfif | Bin 0 -> 1390 bytes source/img/FileCodeBox.png | Bin 0 -> 42793 bytes source/img/FluentRead.jfif | Bin 0 -> 1040 bytes source/img/GLM-4.png | Bin 0 -> 4738 bytes source/img/GitLens.png | Bin 0 -> 19078 bytes source/img/Guovin.tv.png | Bin 0 -> 1663 bytes source/img/HTML👉JADEPUG.ico | Bin 0 -> 1886 bytes source/img/HivisionIDPhotos.jpeg | Bin 0 -> 1513 bytes source/img/IC-Light.jfif | Bin 0 -> 1251 bytes source/img/InternetTest Pro.png | Bin 0 -> 1064 bytes source/img/I❤️IMG.png | Bin 0 -> 549 bytes source/img/JavaScriptDebugger.png | Bin 0 -> 8192 bytes source/img/KasmVNC.jpg | Bin 0 -> 4927 bytes source/img/Linly-Dubbing.jfif | Bin 0 -> 1371 bytes source/img/LinuxMirors.png | Bin 0 -> 11532 bytes source/img/LivePortrait.png | Bin 0 -> 2413 bytes source/img/LiveServer.png | Bin 0 -> 2898 bytes source/img/LogoSponsorBlocker256px.png | Bin 0 -> 19636 bytes source/img/LookingGlass.jfif | Bin 0 -> 1824 bytes source/img/Marsview.png | Bin 0 -> 6090 bytes source/img/MegaEase.png | Bin 0 -> 14359 bytes source/img/MemFree.png | Bin 0 -> 2286 bytes .../Minecraft-Server-Ports-Scanner-GUI.png | Bin 0 -> 2124 bytes source/img/MinerU-logo.png | Bin 0 -> 221569 bytes source/img/MusicFree.png | Bin 0 -> 9673 bytes source/img/NETworkManager.svg | 1 + source/img/Nmap.png | Bin 0 -> 2402 bytes source/img/NotchDrop.png | Bin 0 -> 4504 bytes source/img/OpenGFW.png | Bin 0 -> 31516 bytes source/img/RTranslator.png | Bin 0 -> 11796 bytes source/img/Real-time-translation-typing.png | Bin 0 -> 2832 bytes source/img/RefAudioEmoTagger.jfif | Bin 0 -> 1190 bytes source/img/RegExr.png | Bin 0 -> 1164 bytes source/img/SBDJI.ico | Bin 0 -> 4286 bytes source/img/SQLYNX.svg | 64 + source/img/Swiper.ico | Bin 0 -> 1150 bytes source/img/Text Search Engine.png.jfif | Bin 0 -> 1582 bytes source/img/Vue-Official.png | Bin 0 -> 1224 bytes source/img/Vue3Snippets.jfif | Bin 0 -> 1627 bytes source/img/WebChat.png | Bin 0 -> 63596 bytes source/img/Xnapper-Studio.ico | Bin 0 -> 1150 bytes source/img/ZBProxy.png | Bin 0 -> 2516 bytes source/img/aide.svg | 1 + source/img/alternativeto.ico | Bin 0 -> 34494 bytes source/img/anti-baidu.jpg | Bin 0 -> 11710 bytes source/img/askmanyai.ico | Bin 0 -> 9662 bytes source/img/asmbb.png | Bin 0 -> 953 bytes source/img/atoolbox.png | Bin 0 -> 1232 bytes source/img/biezi.png | Bin 0 -> 41859 bytes source/img/bilibot.jfif | Bin 0 -> 1301 bytes source/img/bkywksjfrp.jfif | Bin 0 -> 1387 bytes source/img/china-operator-ip.jfif | Bin 0 -> 1503 bytes ...chinese-programmer-wrong-pronunciation.png | Bin 0 -> 1201 bytes source/img/cobalt.png | Bin 0 -> 14105 bytes source/img/code-box.png | Bin 0 -> 3825 bytes source/img/console-ninja.png | Bin 0 -> 11502 bytes source/img/css-inspiration.png | Bin 0 -> 30628 bytes source/img/css.ico | Bin 0 -> 4682 bytes source/img/ddns-go.jfif | Bin 0 -> 988 bytes source/img/debian-media-box.png | Bin 0 -> 82913 bytes source/img/deeplive.ico | Bin 0 -> 66636 bytes source/img/devzat.png | Bin 0 -> 39794 bytes source/img/docker_image_pusher.png | Bin 0 -> 3708 bytes source/img/dotwiki.ico | Bin 0 -> 15406 bytes source/img/driver.js.svg | 1 + source/img/easy-codesnap.png | Bin 0 -> 28385 bytes source/img/electerm.png | Bin 0 -> 16732 bytes source/img/ente.png | Bin 0 -> 1288 bytes source/img/facefusion.jfif | Bin 0 -> 1166 bytes source/img/favicon.im.png | Bin 0 -> 461 bytes source/img/firecrawl.png | Bin 0 -> 3338 bytes source/img/fluent-reader.png | Bin 0 -> 55309 bytes source/img/fontright.ico | Bin 0 -> 8895 bytes source/img/frpc-desktop.png | Bin 0 -> 11904 bytes source/img/fscan.jfif | Bin 0 -> 1502 bytes source/img/gemoo.ico | Bin 0 -> 4286 bytes source/img/hackingtool.png | Bin 0 -> 3796 bytes source/img/heyform.jfif | Bin 0 -> 1024 bytes source/img/html5up.ico | Bin 0 -> 3774 bytes source/img/iCSS.jpg | Bin 0 -> 17202 bytes source/img/iconfont.png | Bin 0 -> 1585 bytes source/img/icons8.svg | 5 + source/img/image-matting.png | Bin 0 -> 1279 bytes source/img/inter-knot.svg | 1 + source/img/jiuwa.png | Bin 0 -> 28640 bytes source/img/json4u.svg | 5 + source/img/jsongenerator.ico | Bin 0 -> 285478 bytes source/img/local-ISPs-to-CN.jfif | Bin 0 -> 1317 bytes source/img/logiops.png | Bin 0 -> 452 bytes source/img/my-tv.jfif | Bin 0 -> 1167 bytes source/img/ncmdump.png | Bin 0 -> 14584 bytes source/img/newredlens.png | Bin 0 -> 5145 bytes source/img/nsfwjs.jpg | Bin 0 -> 18234 bytes source/img/omnivore.png | Bin 0 -> 2752 bytes source/img/openalternative.ico | Bin 0 -> 15406 bytes source/img/page-replica.png | Bin 0 -> 287 bytes source/img/penpot.ico | Bin 0 -> 21662 bytes source/img/petercat.png | Bin 0 -> 1909 bytes source/img/porn-logo.png | Bin 0 -> 359 bytes source/img/public-apis.png | Bin 0 -> 5427 bytes source/img/pvetools.webp | Bin 0 -> 6448 bytes source/img/quicklink.png | Bin 0 -> 3074 bytes source/img/ruanyifeng.ico | Bin 0 -> 3638 bytes source/img/runoob.ico | Bin 0 -> 4286 bytes source/img/saucenao.ico | Bin 0 -> 822 bytes source/img/screenshot.rocks.ico | Bin 0 -> 15086 bytes source/img/shit-url.png | Bin 0 -> 904 bytes source/img/sitechecker.ico | Bin 0 -> 15406 bytes source/img/socialify.ico | Bin 0 -> 15406 bytes source/img/spark-app.ico | Bin 0 -> 77362 bytes source/img/squoosh.webp | Bin 0 -> 14032 bytes source/img/synctv.png | Bin 0 -> 1902 bytes source/img/telegraph.jfif | Bin 0 -> 1895 bytes source/img/terminal.png | Bin 0 -> 334 bytes source/img/tesseract.js.png | Bin 0 -> 1920 bytes source/img/todo-highlight.png | Bin 0 -> 8644 bytes source/img/uom.png | Bin 0 -> 5146 bytes source/img/vscan.gif | Bin 0 -> 9160 bytes source/img/www.screen.png | Bin 0 -> 77095 bytes source/img/xiaoju-survey.jpg | Bin 0 -> 11483 bytes source/img/xterminal.svg | 1 + source/img/zuiti.png | Bin 0 -> 55114 bytes source/img/中国网络防火长城简史.avif | Bin 0 -> 3368 bytes source/img/全球酷站.png | Bin 0 -> 392 bytes source/img/哪煮米.ico | Bin 0 -> 4286 bytes source/img/天空之城.png | Bin 0 -> 659 bytes source/img/影视飓风.png | Bin 0 -> 6081 bytes source/img/电脑星人.jpg | Bin 0 -> 23580 bytes source/img/科技爱好者周刊.jfif | Bin 0 -> 1570 bytes source/img/纪念陈皓(左耳朵耗子).webp | Bin 0 -> 10206 bytes source/img/退休计算器.ico | Bin 0 -> 15406 bytes themes/webstack/.gitignore | 3 + themes/webstack/.npmignore | 2 + themes/webstack/LICENSE | 21 + themes/webstack/_config.yml | 141 + themes/webstack/index.js | 2 + themes/webstack/layout/about.ejs | 63 + themes/webstack/layout/common/footer.ejs | 11 + themes/webstack/layout/common/group.ejs | 21 + themes/webstack/layout/common/head.ejs | 37 + themes/webstack/layout/common/header.ejs | 70 + themes/webstack/layout/font5.ejs | 156 + themes/webstack/layout/index.ejs | 83 + themes/webstack/layout/layout.ejs | 15 + themes/webstack/layout/page.ejs | 3 + themes/webstack/move_config.js | 13 + themes/webstack/package.json | 31 + themes/webstack/scripts/replace_config.js | 8 + themes/webstack/source/css/bootstrap.min.css | 1 + themes/webstack/source/css/custom.css | 456 ++ .../css/fonts/fontawesome/css/all.min.css | 5 + .../css/webfonts/fa-brands-400.eot | Bin 0 -> 133034 bytes .../css/webfonts/fa-brands-400.svg | 3570 ++++++++++++ .../css/webfonts/fa-brands-400.ttf | Bin 0 -> 132728 bytes .../css/webfonts/fa-brands-400.woff | Bin 0 -> 89824 bytes .../css/webfonts/fa-brands-400.woff2 | Bin 0 -> 76612 bytes .../css/webfonts/fa-regular-400.eot | Bin 0 -> 34390 bytes .../css/webfonts/fa-regular-400.svg | 803 +++ .../css/webfonts/fa-regular-400.ttf | Bin 0 -> 34092 bytes .../css/webfonts/fa-regular-400.woff | Bin 0 -> 16800 bytes .../css/webfonts/fa-regular-400.woff2 | Bin 0 -> 13584 bytes .../fontawesome/css/webfonts/fa-solid-900.eot | Bin 0 -> 202902 bytes .../fontawesome/css/webfonts/fa-solid-900.svg | 4938 +++++++++++++++++ .../fontawesome/css/webfonts/fa-solid-900.ttf | Bin 0 -> 202616 bytes .../css/webfonts/fa-solid-900.woff | Bin 0 -> 103300 bytes .../css/webfonts/fa-solid-900.woff2 | Bin 0 -> 79444 bytes .../fontawesome/webfonts/fa-brands-400.eot | Bin 0 -> 133034 bytes .../fontawesome/webfonts/fa-brands-400.svg | 3570 ++++++++++++ .../fontawesome/webfonts/fa-brands-400.ttf | Bin 0 -> 132728 bytes .../fontawesome/webfonts/fa-brands-400.woff | Bin 0 -> 89824 bytes .../fontawesome/webfonts/fa-brands-400.woff2 | Bin 0 -> 76612 bytes .../fontawesome/webfonts/fa-regular-400.eot | Bin 0 -> 34390 bytes .../fontawesome/webfonts/fa-regular-400.svg | 803 +++ .../fontawesome/webfonts/fa-regular-400.ttf | Bin 0 -> 34092 bytes .../fontawesome/webfonts/fa-regular-400.woff | Bin 0 -> 16800 bytes .../fontawesome/webfonts/fa-regular-400.woff2 | Bin 0 -> 13584 bytes .../fontawesome/webfonts/fa-solid-900.eot | Bin 0 -> 202902 bytes .../fontawesome/webfonts/fa-solid-900.svg | 4938 +++++++++++++++++ .../fontawesome/webfonts/fa-solid-900.ttf | Bin 0 -> 202616 bytes .../fontawesome/webfonts/fa-solid-900.woff | Bin 0 -> 103300 bytes .../fontawesome/webfonts/fa-solid-900.woff2 | Bin 0 -> 79444 bytes .../css/fonts/linecons/css/linecons-codes.css | 49 + .../fonts/linecons/css/linecons-embedded.css | 102 + .../fonts/linecons/css/linecons-ie7-codes.css | 49 + .../css/fonts/linecons/css/linecons-ie7.css | 60 + .../css/fonts/linecons/css/linecons.min.css | 1 + .../css/fonts/linecons/font/linecons.eot | Bin 0 -> 29372 bytes .../css/fonts/linecons/font/linecons.svg | 59 + .../css/fonts/linecons/font/linecons.ttf | Bin 0 -> 29204 bytes .../css/fonts/linecons/font/linecons.woff | Bin 0 -> 17548 bytes themes/webstack/source/css/hclonely.css | 419 ++ themes/webstack/source/css/nav.min.css | 1 + .../source/css/xenon-components.min.css | 1 + themes/webstack/source/css/xenon-core.min.css | 1 + .../webstack/source/css/xenon-forms.min.css | 18 + .../webstack/source/css/xenon-skins.min.css | 1 + themes/webstack/source/css/xenon.min.css | 18 + themes/webstack/source/js/TweenMax.min.js | 17 + themes/webstack/source/js/bootstrap.min.js | 7 + themes/webstack/source/js/custom.js | 69 + themes/webstack/source/js/footer.js | 93 + themes/webstack/source/js/header.js | 284 + themes/webstack/source/js/html5shiv.min.js | 4 + themes/webstack/source/js/joinable.js | 45 + .../webstack/source/js/jquery-1.11.1.min.js | 4 + themes/webstack/source/js/lozad.min.js | 1 + themes/webstack/source/js/resizeable.js | 122 + themes/webstack/source/js/resizeable.min.js | 1 + themes/webstack/source/js/respond.min.js | 5 + themes/webstack/source/js/wow_init.js | 23 + themes/webstack/source/js/xenon-api.min.js | 1 + themes/webstack/source/js/xenon-custom.min.js | 1 + .../webstack/source/js/xenon-toggles.min.js | 1 + 273 files changed, 26698 insertions(+) create mode 100644 .gitignore create mode 100644 _config.yml create mode 100644 db.json create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 scaffolds/draft.md create mode 100644 scaffolds/page.md create mode 100644 scaffolds/post.md create mode 100644 source/_data/AI-ASR.yml create mode 100644 source/_data/AI-TTS.yml create mode 100644 source/_data/AI-其它.yml create mode 100644 source/_data/AI-图像影音类.yml create mode 100644 source/_data/AI-大语言模型.yml create mode 100644 source/_data/MacOS.yml create mode 100644 source/_data/VSCode-PHP.yml create mode 100644 source/_data/VSCode-others.yml create mode 100644 source/_data/VSCode-前端.yml create mode 100644 source/_data/blogs.yml create mode 100644 source/_data/linux.yml create mode 100644 source/_data/前端-Javascript库.yml create mode 100644 source/_data/前端-工具.yml create mode 100644 source/_data/图片设计.yml create mode 100644 source/_data/好玩的东西.yml create mode 100644 source/_data/工具-其它.yml create mode 100644 source/_data/工具-素材.yml create mode 100644 source/_data/工具-设计.yml create mode 100644 source/_data/文章.yml create mode 100644 source/_data/无人机.yml create mode 100644 source/_data/有趣的开源项目.yml create mode 100644 source/_data/编程.yml create mode 100644 source/_data/网络.yml create mode 100644 source/_data/视图文素材.yml create mode 100644 source/_data/运维.yml create mode 100644 source/_posts/hello-world.md create mode 100644 source/img/163music.ico create mode 100644 source/img/1Panel.jfif create mode 100644 source/img/APISQL.ico create mode 100644 source/img/APISR.png create mode 100644 source/img/AntiZhaPian.jpg create mode 100644 source/img/Ban-Hacker-IP-Plan.jfif create mode 100644 source/img/Bert-VITS2.png create mode 100644 source/img/BewlyBewly.png create mode 100644 source/img/BililiveRecorder.png create mode 100644 source/img/Billfish.ico create mode 100644 source/img/BroadcastChannel.png create mode 100644 source/img/CSSPeek.png create mode 100644 source/img/CapsWriter.ico create mode 100644 source/img/ChatGLM3.png create mode 100644 source/img/ChatTTS.ico create mode 100644 source/img/China-Internationally-connected.png create mode 100644 source/img/Class-Widgets.png create mode 100644 source/img/CogVideo.png create mode 100644 source/img/ComfyUI.png create mode 100644 source/img/CoolShell.png create mode 100644 source/img/Coolify.png create mode 100644 source/img/Digital_Life_Server.jfif create mode 100644 source/img/DirectoryLister.png create mode 100644 source/img/DistroSea.ico create mode 100644 source/img/Docker-OSX.png create mode 100644 source/img/EarTrumpet.png create mode 100644 source/img/EasySpider.jfif create mode 100644 source/img/FileCodeBox.png create mode 100644 source/img/FluentRead.jfif create mode 100644 source/img/GLM-4.png create mode 100644 source/img/GitLens.png create mode 100644 source/img/Guovin.tv.png create mode 100644 source/img/HTML👉JADEPUG.ico create mode 100644 source/img/HivisionIDPhotos.jpeg create mode 100644 source/img/IC-Light.jfif create mode 100644 source/img/InternetTest Pro.png create mode 100644 source/img/I❤️IMG.png create mode 100644 source/img/JavaScriptDebugger.png create mode 100644 source/img/KasmVNC.jpg create mode 100644 source/img/Linly-Dubbing.jfif create mode 100644 source/img/LinuxMirors.png create mode 100644 source/img/LivePortrait.png create mode 100644 source/img/LiveServer.png create mode 100644 source/img/LogoSponsorBlocker256px.png create mode 100644 source/img/LookingGlass.jfif create mode 100644 source/img/Marsview.png create mode 100644 source/img/MegaEase.png create mode 100644 source/img/MemFree.png create mode 100644 source/img/Minecraft-Server-Ports-Scanner-GUI.png create mode 100644 source/img/MinerU-logo.png create mode 100644 source/img/MusicFree.png create mode 100644 source/img/NETworkManager.svg create mode 100644 source/img/Nmap.png create mode 100644 source/img/NotchDrop.png create mode 100644 source/img/OpenGFW.png create mode 100644 source/img/RTranslator.png create mode 100644 source/img/Real-time-translation-typing.png create mode 100644 source/img/RefAudioEmoTagger.jfif create mode 100644 source/img/RegExr.png create mode 100644 source/img/SBDJI.ico create mode 100644 source/img/SQLYNX.svg create mode 100644 source/img/Swiper.ico create mode 100644 source/img/Text Search Engine.png.jfif create mode 100644 source/img/Vue-Official.png create mode 100644 source/img/Vue3Snippets.jfif create mode 100644 source/img/WebChat.png create mode 100644 source/img/Xnapper-Studio.ico create mode 100644 source/img/ZBProxy.png create mode 100644 source/img/aide.svg create mode 100644 source/img/alternativeto.ico create mode 100644 source/img/anti-baidu.jpg create mode 100644 source/img/askmanyai.ico create mode 100644 source/img/asmbb.png create mode 100644 source/img/atoolbox.png create mode 100644 source/img/biezi.png create mode 100644 source/img/bilibot.jfif create mode 100644 source/img/bkywksjfrp.jfif create mode 100644 source/img/china-operator-ip.jfif create mode 100644 source/img/chinese-programmer-wrong-pronunciation.png create mode 100644 source/img/cobalt.png create mode 100644 source/img/code-box.png create mode 100644 source/img/console-ninja.png create mode 100644 source/img/css-inspiration.png create mode 100644 source/img/css.ico create mode 100644 source/img/ddns-go.jfif create mode 100644 source/img/debian-media-box.png create mode 100644 source/img/deeplive.ico create mode 100644 source/img/devzat.png create mode 100644 source/img/docker_image_pusher.png create mode 100644 source/img/dotwiki.ico create mode 100644 source/img/driver.js.svg create mode 100644 source/img/easy-codesnap.png create mode 100644 source/img/electerm.png create mode 100644 source/img/ente.png create mode 100644 source/img/facefusion.jfif create mode 100644 source/img/favicon.im.png create mode 100644 source/img/firecrawl.png create mode 100644 source/img/fluent-reader.png create mode 100644 source/img/fontright.ico create mode 100644 source/img/frpc-desktop.png create mode 100644 source/img/fscan.jfif create mode 100644 source/img/gemoo.ico create mode 100644 source/img/hackingtool.png create mode 100644 source/img/heyform.jfif create mode 100644 source/img/html5up.ico create mode 100644 source/img/iCSS.jpg create mode 100644 source/img/iconfont.png create mode 100644 source/img/icons8.svg create mode 100644 source/img/image-matting.png create mode 100644 source/img/inter-knot.svg create mode 100644 source/img/jiuwa.png create mode 100644 source/img/json4u.svg create mode 100644 source/img/jsongenerator.ico create mode 100644 source/img/local-ISPs-to-CN.jfif create mode 100644 source/img/logiops.png create mode 100644 source/img/my-tv.jfif create mode 100644 source/img/ncmdump.png create mode 100644 source/img/newredlens.png create mode 100644 source/img/nsfwjs.jpg create mode 100644 source/img/omnivore.png create mode 100644 source/img/openalternative.ico create mode 100644 source/img/page-replica.png create mode 100644 source/img/penpot.ico create mode 100644 source/img/petercat.png create mode 100644 source/img/porn-logo.png create mode 100644 source/img/public-apis.png create mode 100644 source/img/pvetools.webp create mode 100644 source/img/quicklink.png create mode 100644 source/img/ruanyifeng.ico create mode 100644 source/img/runoob.ico create mode 100644 source/img/saucenao.ico create mode 100644 source/img/screenshot.rocks.ico create mode 100644 source/img/shit-url.png create mode 100644 source/img/sitechecker.ico create mode 100644 source/img/socialify.ico create mode 100644 source/img/spark-app.ico create mode 100644 source/img/squoosh.webp create mode 100644 source/img/synctv.png create mode 100644 source/img/telegraph.jfif create mode 100644 source/img/terminal.png create mode 100644 source/img/tesseract.js.png create mode 100644 source/img/todo-highlight.png create mode 100644 source/img/uom.png create mode 100644 source/img/vscan.gif create mode 100644 source/img/www.screen.png create mode 100644 source/img/xiaoju-survey.jpg create mode 100644 source/img/xterminal.svg create mode 100644 source/img/zuiti.png create mode 100644 source/img/中国网络防火长城简史.avif create mode 100644 source/img/全球酷站.png create mode 100644 source/img/哪煮米.ico create mode 100644 source/img/天空之城.png create mode 100644 source/img/影视飓风.png create mode 100644 source/img/电脑星人.jpg create mode 100644 source/img/科技爱好者周刊.jfif create mode 100644 source/img/纪念陈皓(左耳朵耗子).webp create mode 100644 source/img/退休计算器.ico create mode 100644 themes/webstack/.gitignore create mode 100644 themes/webstack/.npmignore create mode 100644 themes/webstack/LICENSE create mode 100644 themes/webstack/_config.yml create mode 100644 themes/webstack/index.js create mode 100644 themes/webstack/layout/about.ejs create mode 100644 themes/webstack/layout/common/footer.ejs create mode 100644 themes/webstack/layout/common/group.ejs create mode 100644 themes/webstack/layout/common/head.ejs create mode 100644 themes/webstack/layout/common/header.ejs create mode 100644 themes/webstack/layout/font5.ejs create mode 100644 themes/webstack/layout/index.ejs create mode 100644 themes/webstack/layout/layout.ejs create mode 100644 themes/webstack/layout/page.ejs create mode 100644 themes/webstack/move_config.js create mode 100644 themes/webstack/package.json create mode 100644 themes/webstack/scripts/replace_config.js create mode 100644 themes/webstack/source/css/bootstrap.min.css create mode 100644 themes/webstack/source/css/custom.css create mode 100644 themes/webstack/source/css/fonts/fontawesome/css/all.min.css create mode 100644 themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-brands-400.eot create mode 100644 themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-brands-400.svg create mode 100644 themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-brands-400.ttf create mode 100644 themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-brands-400.woff create mode 100644 themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-brands-400.woff2 create mode 100644 themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-regular-400.eot create mode 100644 themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-regular-400.svg create mode 100644 themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-regular-400.ttf create mode 100644 themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-regular-400.woff create mode 100644 themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-regular-400.woff2 create mode 100644 themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-solid-900.eot create mode 100644 themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-solid-900.svg create mode 100644 themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-solid-900.ttf create mode 100644 themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-solid-900.woff create mode 100644 themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-solid-900.woff2 create mode 100644 themes/webstack/source/css/fonts/fontawesome/webfonts/fa-brands-400.eot create mode 100644 themes/webstack/source/css/fonts/fontawesome/webfonts/fa-brands-400.svg create mode 100644 themes/webstack/source/css/fonts/fontawesome/webfonts/fa-brands-400.ttf create mode 100644 themes/webstack/source/css/fonts/fontawesome/webfonts/fa-brands-400.woff create mode 100644 themes/webstack/source/css/fonts/fontawesome/webfonts/fa-brands-400.woff2 create mode 100644 themes/webstack/source/css/fonts/fontawesome/webfonts/fa-regular-400.eot create mode 100644 themes/webstack/source/css/fonts/fontawesome/webfonts/fa-regular-400.svg create mode 100644 themes/webstack/source/css/fonts/fontawesome/webfonts/fa-regular-400.ttf create mode 100644 themes/webstack/source/css/fonts/fontawesome/webfonts/fa-regular-400.woff create mode 100644 themes/webstack/source/css/fonts/fontawesome/webfonts/fa-regular-400.woff2 create mode 100644 themes/webstack/source/css/fonts/fontawesome/webfonts/fa-solid-900.eot create mode 100644 themes/webstack/source/css/fonts/fontawesome/webfonts/fa-solid-900.svg create mode 100644 themes/webstack/source/css/fonts/fontawesome/webfonts/fa-solid-900.ttf create mode 100644 themes/webstack/source/css/fonts/fontawesome/webfonts/fa-solid-900.woff create mode 100644 themes/webstack/source/css/fonts/fontawesome/webfonts/fa-solid-900.woff2 create mode 100644 themes/webstack/source/css/fonts/linecons/css/linecons-codes.css create mode 100644 themes/webstack/source/css/fonts/linecons/css/linecons-embedded.css create mode 100644 themes/webstack/source/css/fonts/linecons/css/linecons-ie7-codes.css create mode 100644 themes/webstack/source/css/fonts/linecons/css/linecons-ie7.css create mode 100644 themes/webstack/source/css/fonts/linecons/css/linecons.min.css create mode 100644 themes/webstack/source/css/fonts/linecons/font/linecons.eot create mode 100644 themes/webstack/source/css/fonts/linecons/font/linecons.svg create mode 100644 themes/webstack/source/css/fonts/linecons/font/linecons.ttf create mode 100644 themes/webstack/source/css/fonts/linecons/font/linecons.woff create mode 100644 themes/webstack/source/css/hclonely.css create mode 100644 themes/webstack/source/css/nav.min.css create mode 100644 themes/webstack/source/css/xenon-components.min.css create mode 100644 themes/webstack/source/css/xenon-core.min.css create mode 100644 themes/webstack/source/css/xenon-forms.min.css create mode 100644 themes/webstack/source/css/xenon-skins.min.css create mode 100644 themes/webstack/source/css/xenon.min.css create mode 100644 themes/webstack/source/js/TweenMax.min.js create mode 100644 themes/webstack/source/js/bootstrap.min.js create mode 100644 themes/webstack/source/js/custom.js create mode 100644 themes/webstack/source/js/footer.js create mode 100644 themes/webstack/source/js/header.js create mode 100644 themes/webstack/source/js/html5shiv.min.js create mode 100644 themes/webstack/source/js/joinable.js create mode 100644 themes/webstack/source/js/jquery-1.11.1.min.js create mode 100644 themes/webstack/source/js/lozad.min.js create mode 100644 themes/webstack/source/js/resizeable.js create mode 100644 themes/webstack/source/js/resizeable.min.js create mode 100644 themes/webstack/source/js/respond.min.js create mode 100644 themes/webstack/source/js/wow_init.js create mode 100644 themes/webstack/source/js/xenon-api.min.js create mode 100644 themes/webstack/source/js/xenon-custom.min.js create mode 100644 themes/webstack/source/js/xenon-toggles.min.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f402ad6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/node_modules +/public \ No newline at end of file diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..aa33441 --- /dev/null +++ b/_config.yml @@ -0,0 +1,116 @@ +# Hexo Configuration +## Docs: https://hexo.io/docs/configuration.html +## Source: https://github.com/hexojs/hexo/ + +# Site +title: APS NAV +subtitle: https://aps.icu +description: APS NAV +keywords: APS NAV,导航,APS,mei,linuxcat,linuxcat周刊,开源,软件,推荐,分享 +author: mei +language: zh_CN +timezone: "Asia/Shanghai" + +# URL +## If your site is put in a subdirectory, set url as 'http://example.com/child' and root as '/child/' +url: https://navi.harriswong.top +root: / +permalink: :title.html +permalink_defaults: +pretty_urls: + trailing_index: true # Set to false to remove trailing 'index.html' from permalinks + trailing_html: true # Set to false to remove trailing '.html' from permalinks + +# Directory +source_dir: source +public_dir: public +# tag_dir: +# archive_dir: +# category_dir: +code_dir: downloads/code +i18n_dir: :lang +skip_render: + +# Writing +new_post_name: :title.md # File name of new posts +default_layout: post +titlecase: false # Transform title into titlecase +external_link: + enable: true # Open external links in new tab + field: site # Apply to the whole site + exclude: "" +filename_case: 0 +render_drafts: false +post_asset_folder: false +relative_link: false +future: true +highlight: + enable: true + line_number: true + auto_detect: false + tab_replace: "" + wrap: true + hljs: false +prismjs: + enable: false + preprocess: true + line_number: true + tab_replace: "" + +# Home page setting +# path: Root path for your blogs index page. (default = '') +# per_page: Posts displayed per page. (0 = disable pagination) +# order_by: Posts order. (Order by date descending by default) +index_generator: + path: "" + per_page: 10 + order_by: -date + +# Category & Tag +default_category: uncategorized +category_map: +tag_map: + +# Metadata elements +## https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta +meta_generator: true + +# Date / Time format +## Hexo uses Moment.js to parse and display date +## You can customize the date format as defined in +## http://momentjs.com/docs/#/displaying/format/ +date_format: YYYY-MM-DD +time_format: HH:mm:ss +## updated_option supports 'mtime', 'date', 'empty' +updated_option: "mtime" + +# Pagination +## Set per_page to 0 to disable pagination +per_page: 10 +pagination_dir: page + +# Include / Exclude file(s) +## include:/exclude: options only apply to the 'source/' folder +include: +exclude: +ignore: + +# Extensions +## Plugins: https://hexo.io/plugins/ +## Themes: https://hexo.io/themes/ +theme: webstack + +# Deployment +## Docs: https://hexo.io/docs/one-command-deployment +deploy: + type: git + #type: baidu_url_submitter + repo: git@github.com:harrisblog/navigation.git + branch: main + +# 百度收录 +baidu_url_submit: + count: 100 # 提交最新的一个链接 + host: navi.harriswong.top # 在百度站长平台中注册的域名 + token: DWR6kIWxQCP9u9SW # 请注意这是您的秘钥, 所以请不要把博客源代码发布在公众仓库里! + path: baidu_urls.txt # 文本文档的地址, 新链接会保存在此文本文档里 diff --git a/db.json b/db.json new file mode 100644 index 0000000..f0436ef --- /dev/null +++ b/db.json @@ -0,0 +1 @@ +{"meta":{"version":1,"warehouse":"4.0.2"},"models":{"Asset":[{"_id":"source/img/1Panel.jfif","path":"img/1Panel.jfif","modified":1,"renderable":0},{"_id":"source/img/APISR.png","path":"img/APISR.png","modified":1,"renderable":0},{"_id":"source/img/163music.ico","path":"img/163music.ico","modified":1,"renderable":0},{"_id":"source/img/APISQL.ico","path":"img/APISQL.ico","modified":1,"renderable":0},{"_id":"source/img/AntiZhaPian.jpg","path":"img/AntiZhaPian.jpg","modified":1,"renderable":0},{"_id":"source/img/Ban-Hacker-IP-Plan.jfif","path":"img/Ban-Hacker-IP-Plan.jfif","modified":1,"renderable":0},{"_id":"source/img/Bert-VITS2.png","path":"img/Bert-VITS2.png","modified":1,"renderable":0},{"_id":"source/img/BewlyBewly.png","path":"img/BewlyBewly.png","modified":1,"renderable":0},{"_id":"source/img/BililiveRecorder.png","path":"img/BililiveRecorder.png","modified":1,"renderable":0},{"_id":"source/img/Billfish.ico","path":"img/Billfish.ico","modified":1,"renderable":0},{"_id":"source/img/CapsWriter.ico","path":"img/CapsWriter.ico","modified":1,"renderable":0},{"_id":"source/img/BroadcastChannel.png","path":"img/BroadcastChannel.png","modified":1,"renderable":0},{"_id":"source/img/CSSPeek.png","path":"img/CSSPeek.png","modified":1,"renderable":0},{"_id":"source/img/ChatGLM3.png","path":"img/ChatGLM3.png","modified":1,"renderable":0},{"_id":"source/img/ChatTTS.ico","path":"img/ChatTTS.ico","modified":1,"renderable":0},{"_id":"source/img/China-Internationally-connected.png","path":"img/China-Internationally-connected.png","modified":1,"renderable":0},{"_id":"source/img/Class-Widgets.png","path":"img/Class-Widgets.png","modified":1,"renderable":0},{"_id":"source/img/CogVideo.png","path":"img/CogVideo.png","modified":1,"renderable":0},{"_id":"source/img/ComfyUI.png","path":"img/ComfyUI.png","modified":1,"renderable":0},{"_id":"source/img/Digital_Life_Server.jfif","path":"img/Digital_Life_Server.jfif","modified":1,"renderable":0},{"_id":"source/img/CoolShell.png","path":"img/CoolShell.png","modified":1,"renderable":0},{"_id":"source/img/DirectoryLister.png","path":"img/DirectoryLister.png","modified":1,"renderable":0},{"_id":"source/img/Coolify.png","path":"img/Coolify.png","modified":1,"renderable":0},{"_id":"source/img/DistroSea.ico","path":"img/DistroSea.ico","modified":1,"renderable":0},{"_id":"source/img/Docker-OSX.png","path":"img/Docker-OSX.png","modified":1,"renderable":0},{"_id":"source/img/EarTrumpet.png","path":"img/EarTrumpet.png","modified":1,"renderable":0},{"_id":"source/img/FileCodeBox.png","path":"img/FileCodeBox.png","modified":1,"renderable":0},{"_id":"source/img/EasySpider.jfif","path":"img/EasySpider.jfif","modified":1,"renderable":0},{"_id":"source/img/FluentRead.jfif","path":"img/FluentRead.jfif","modified":1,"renderable":0},{"_id":"source/img/GLM-4.png","path":"img/GLM-4.png","modified":1,"renderable":0},{"_id":"source/img/GitLens.png","path":"img/GitLens.png","modified":1,"renderable":0},{"_id":"source/img/HivisionIDPhotos.jpeg","path":"img/HivisionIDPhotos.jpeg","modified":1,"renderable":0},{"_id":"source/img/IC-Light.jfif","path":"img/IC-Light.jfif","modified":1,"renderable":0},{"_id":"source/img/HTML👉JADEPUG.ico","path":"img/HTML👉JADEPUG.ico","modified":1,"renderable":0},{"_id":"source/img/InternetTest Pro.png","path":"img/InternetTest Pro.png","modified":1,"renderable":0},{"_id":"source/img/I❤️IMG.png","path":"img/I❤️IMG.png","modified":1,"renderable":0},{"_id":"source/img/JavaScriptDebugger.png","path":"img/JavaScriptDebugger.png","modified":1,"renderable":0},{"_id":"source/img/Linly-Dubbing.jfif","path":"img/Linly-Dubbing.jfif","modified":1,"renderable":0},{"_id":"source/img/LinuxMirors.png","path":"img/LinuxMirors.png","modified":1,"renderable":0},{"_id":"source/img/KasmVNC.jpg","path":"img/KasmVNC.jpg","modified":1,"renderable":0},{"_id":"source/img/LivePortrait.png","path":"img/LivePortrait.png","modified":1,"renderable":0},{"_id":"source/img/LiveServer.png","path":"img/LiveServer.png","modified":1,"renderable":0},{"_id":"source/img/LogoSponsorBlocker256px.png","path":"img/LogoSponsorBlocker256px.png","modified":1,"renderable":0},{"_id":"source/img/LookingGlass.jfif","path":"img/LookingGlass.jfif","modified":1,"renderable":0},{"_id":"source/img/Marsview.png","path":"img/Marsview.png","modified":1,"renderable":0},{"_id":"source/img/MemFree.png","path":"img/MemFree.png","modified":1,"renderable":0},{"_id":"source/img/MegaEase.png","path":"img/MegaEase.png","modified":1,"renderable":0},{"_id":"source/img/MinerU-logo.png","path":"img/MinerU-logo.png","modified":1,"renderable":0},{"_id":"source/img/Minecraft-Server-Ports-Scanner-GUI.png","path":"img/Minecraft-Server-Ports-Scanner-GUI.png","modified":1,"renderable":0},{"_id":"source/img/Nmap.png","path":"img/Nmap.png","modified":1,"renderable":0},{"_id":"source/img/NETworkManager.svg","path":"img/NETworkManager.svg","modified":1,"renderable":0},{"_id":"source/img/NotchDrop.png","path":"img/NotchDrop.png","modified":1,"renderable":0},{"_id":"source/img/RTranslator.png","path":"img/RTranslator.png","modified":1,"renderable":0},{"_id":"source/img/Real-time-translation-typing.png","path":"img/Real-time-translation-typing.png","modified":1,"renderable":0},{"_id":"source/img/OpenGFW.png","path":"img/OpenGFW.png","modified":1,"renderable":0},{"_id":"source/img/RefAudioEmoTagger.jfif","path":"img/RefAudioEmoTagger.jfif","modified":1,"renderable":0},{"_id":"source/img/RegExr.png","path":"img/RegExr.png","modified":1,"renderable":0},{"_id":"source/img/SBDJI.ico","path":"img/SBDJI.ico","modified":1,"renderable":0},{"_id":"source/img/SQLYNX.svg","path":"img/SQLYNX.svg","modified":1,"renderable":0},{"_id":"source/img/Swiper.ico","path":"img/Swiper.ico","modified":1,"renderable":0},{"_id":"source/img/Text Search Engine.png.jfif","path":"img/Text Search Engine.png.jfif","modified":1,"renderable":0},{"_id":"source/img/Vue-Official.png","path":"img/Vue-Official.png","modified":1,"renderable":0},{"_id":"source/img/WebChat.png","path":"img/WebChat.png","modified":1,"renderable":0},{"_id":"source/img/Xnapper-Studio.ico","path":"img/Xnapper-Studio.ico","modified":1,"renderable":0},{"_id":"source/img/ZBProxy.png","path":"img/ZBProxy.png","modified":1,"renderable":0},{"_id":"source/img/Vue3Snippets.jfif","path":"img/Vue3Snippets.jfif","modified":1,"renderable":0},{"_id":"source/img/aide.svg","path":"img/aide.svg","modified":1,"renderable":0},{"_id":"source/img/alternativeto.ico","path":"img/alternativeto.ico","modified":1,"renderable":0},{"_id":"source/img/anti-baidu.jpg","path":"img/anti-baidu.jpg","modified":1,"renderable":0},{"_id":"source/img/askmanyai.ico","path":"img/askmanyai.ico","modified":1,"renderable":0},{"_id":"source/img/asmbb.png","path":"img/asmbb.png","modified":1,"renderable":0},{"_id":"source/img/atoolbox.png","path":"img/atoolbox.png","modified":1,"renderable":0},{"_id":"source/img/biezi.png","path":"img/biezi.png","modified":1,"renderable":0},{"_id":"source/img/china-operator-ip.jfif","path":"img/china-operator-ip.jfif","modified":1,"renderable":0},{"_id":"source/img/bilibot.jfif","path":"img/bilibot.jfif","modified":1,"renderable":0},{"_id":"source/img/bkywksjfrp.jfif","path":"img/bkywksjfrp.jfif","modified":1,"renderable":0},{"_id":"source/img/chinese-programmer-wrong-pronunciation.png","path":"img/chinese-programmer-wrong-pronunciation.png","modified":1,"renderable":0},{"_id":"source/img/cobalt.png","path":"img/cobalt.png","modified":1,"renderable":0},{"_id":"source/img/console-ninja.png","path":"img/console-ninja.png","modified":1,"renderable":0},{"_id":"source/img/css-inspiration.png","path":"img/css-inspiration.png","modified":1,"renderable":0},{"_id":"source/img/code-box.png","path":"img/code-box.png","modified":1,"renderable":0},{"_id":"source/img/css.ico","path":"img/css.ico","modified":1,"renderable":0},{"_id":"source/img/ddns-go.jfif","path":"img/ddns-go.jfif","modified":1,"renderable":0},{"_id":"source/img/debian-media-box.png","path":"img/debian-media-box.png","modified":1,"renderable":0},{"_id":"source/img/devzat.png","path":"img/devzat.png","modified":1,"renderable":0},{"_id":"source/img/deeplive.ico","path":"img/deeplive.ico","modified":1,"renderable":0},{"_id":"source/img/dotwiki.ico","path":"img/dotwiki.ico","modified":1,"renderable":0},{"_id":"source/img/docker_image_pusher.png","path":"img/docker_image_pusher.png","modified":1,"renderable":0},{"_id":"source/img/driver.js.svg","path":"img/driver.js.svg","modified":1,"renderable":0},{"_id":"source/img/easy-codesnap.png","path":"img/easy-codesnap.png","modified":1,"renderable":0},{"_id":"source/img/electerm.png","path":"img/electerm.png","modified":1,"renderable":0},{"_id":"source/img/ente.png","path":"img/ente.png","modified":1,"renderable":0},{"_id":"source/img/facefusion.jfif","path":"img/facefusion.jfif","modified":1,"renderable":0},{"_id":"source/img/firecrawl.png","path":"img/firecrawl.png","modified":1,"renderable":0},{"_id":"source/img/fontright.ico","path":"img/fontright.ico","modified":1,"renderable":0},{"_id":"source/img/fluent-reader.png","path":"img/fluent-reader.png","modified":1,"renderable":0},{"_id":"source/img/frpc-desktop.png","path":"img/frpc-desktop.png","modified":1,"renderable":0},{"_id":"source/img/fscan.jfif","path":"img/fscan.jfif","modified":1,"renderable":0},{"_id":"source/img/gemoo.ico","path":"img/gemoo.ico","modified":1,"renderable":0},{"_id":"source/img/hackingtool.png","path":"img/hackingtool.png","modified":1,"renderable":0},{"_id":"source/img/heyform.jfif","path":"img/heyform.jfif","modified":1,"renderable":0},{"_id":"source/img/html5up.ico","path":"img/html5up.ico","modified":1,"renderable":0},{"_id":"source/img/iCSS.jpg","path":"img/iCSS.jpg","modified":1,"renderable":0},{"_id":"source/img/iconfont.png","path":"img/iconfont.png","modified":1,"renderable":0},{"_id":"source/img/image-matting.png","path":"img/image-matting.png","modified":1,"renderable":0},{"_id":"source/img/inter-knot.svg","path":"img/inter-knot.svg","modified":1,"renderable":0},{"_id":"source/img/favicon.im.png","path":"img/favicon.im.png","modified":1,"renderable":0},{"_id":"source/img/jiuwa.png","path":"img/jiuwa.png","modified":1,"renderable":0},{"_id":"source/img/json4u.svg","path":"img/json4u.svg","modified":1,"renderable":0},{"_id":"source/img/local-ISPs-to-CN.jfif","path":"img/local-ISPs-to-CN.jfif","modified":1,"renderable":0},{"_id":"source/img/jsongenerator.ico","path":"img/jsongenerator.ico","modified":1,"renderable":0},{"_id":"source/img/icons8.svg","path":"img/icons8.svg","modified":1,"renderable":0},{"_id":"source/img/my-tv.jfif","path":"img/my-tv.jfif","modified":1,"renderable":0},{"_id":"source/img/ncmdump.png","path":"img/ncmdump.png","modified":1,"renderable":0},{"_id":"source/img/nsfwjs.jpg","path":"img/nsfwjs.jpg","modified":1,"renderable":0},{"_id":"source/img/newredlens.png","path":"img/newredlens.png","modified":1,"renderable":0},{"_id":"source/img/openalternative.ico","path":"img/openalternative.ico","modified":1,"renderable":0},{"_id":"source/img/omnivore.png","path":"img/omnivore.png","modified":1,"renderable":0},{"_id":"source/img/logiops.png","path":"img/logiops.png","modified":1,"renderable":0},{"_id":"source/img/page-replica.png","path":"img/page-replica.png","modified":1,"renderable":0},{"_id":"source/img/penpot.ico","path":"img/penpot.ico","modified":1,"renderable":0},{"_id":"source/img/public-apis.png","path":"img/public-apis.png","modified":1,"renderable":0},{"_id":"source/img/petercat.png","path":"img/petercat.png","modified":1,"renderable":0},{"_id":"source/img/pvetools.webp","path":"img/pvetools.webp","modified":1,"renderable":0},{"_id":"source/img/quicklink.png","path":"img/quicklink.png","modified":1,"renderable":0},{"_id":"source/img/runoob.ico","path":"img/runoob.ico","modified":1,"renderable":0},{"_id":"source/img/ruanyifeng.ico","path":"img/ruanyifeng.ico","modified":1,"renderable":0},{"_id":"source/img/saucenao.ico","path":"img/saucenao.ico","modified":1,"renderable":0},{"_id":"source/img/screenshot.rocks.ico","path":"img/screenshot.rocks.ico","modified":1,"renderable":0},{"_id":"source/img/shit-url.png","path":"img/shit-url.png","modified":1,"renderable":0},{"_id":"source/img/sitechecker.ico","path":"img/sitechecker.ico","modified":1,"renderable":0},{"_id":"source/img/socialify.ico","path":"img/socialify.ico","modified":1,"renderable":0},{"_id":"source/img/porn-logo.png","path":"img/porn-logo.png","modified":1,"renderable":0},{"_id":"source/img/spark-app.ico","path":"img/spark-app.ico","modified":1,"renderable":0},{"_id":"source/img/squoosh.webp","path":"img/squoosh.webp","modified":1,"renderable":0},{"_id":"source/img/synctv.png","path":"img/synctv.png","modified":1,"renderable":0},{"_id":"source/img/terminal.png","path":"img/terminal.png","modified":1,"renderable":0},{"_id":"source/img/telegraph.jfif","path":"img/telegraph.jfif","modified":1,"renderable":0},{"_id":"source/img/tesseract.js.png","path":"img/tesseract.js.png","modified":1,"renderable":0},{"_id":"source/img/todo-highlight.png","path":"img/todo-highlight.png","modified":1,"renderable":0},{"_id":"source/img/uom.png","path":"img/uom.png","modified":1,"renderable":0},{"_id":"source/img/vscan.gif","path":"img/vscan.gif","modified":1,"renderable":0},{"_id":"source/img/www.screen.png","path":"img/www.screen.png","modified":1,"renderable":0},{"_id":"source/img/xiaoju-survey.jpg","path":"img/xiaoju-survey.jpg","modified":1,"renderable":0},{"_id":"source/img/xterminal.svg","path":"img/xterminal.svg","modified":1,"renderable":0},{"_id":"source/img/zuiti.png","path":"img/zuiti.png","modified":1,"renderable":0},{"_id":"source/img/中国网络防火长城简史.avif","path":"img/中国网络防火长城简史.avif","modified":1,"renderable":0},{"_id":"source/img/全球酷站.png","path":"img/全球酷站.png","modified":1,"renderable":0},{"_id":"source/img/哪煮米.ico","path":"img/哪煮米.ico","modified":1,"renderable":0},{"_id":"source/img/天空之城.png","path":"img/天空之城.png","modified":1,"renderable":0},{"_id":"source/img/影视飓风.png","path":"img/影视飓风.png","modified":1,"renderable":0},{"_id":"source/img/电脑星人.jpg","path":"img/电脑星人.jpg","modified":1,"renderable":0},{"_id":"source/img/纪念陈皓(左耳朵耗子).webp","path":"img/纪念陈皓(左耳朵耗子).webp","modified":1,"renderable":0},{"_id":"source/img/科技爱好者周刊.jfif","path":"img/科技爱好者周刊.jfif","modified":1,"renderable":0},{"_id":"source/img/退休计算器.ico","path":"img/退休计算器.ico","modified":1,"renderable":0},{"_id":"themes/webstack/source/css/bootstrap.min.css","path":"css/bootstrap.min.css","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/custom.css","path":"css/custom.css","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/hclonely.css","path":"css/hclonely.css","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/nav.min.css","path":"css/nav.min.css","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/xenon-components.min.css","path":"css/xenon-components.min.css","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/xenon-forms.min.css","path":"css/xenon-forms.min.css","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/xenon-skins.min.css","path":"css/xenon-skins.min.css","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/xenon.min.css","path":"css/xenon.min.css","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/xenon-core.min.css","path":"css/xenon-core.min.css","modified":1,"renderable":1},{"_id":"themes/webstack/source/js/TweenMax.min.js","path":"js/TweenMax.min.js","modified":1,"renderable":1},{"_id":"themes/webstack/source/js/bootstrap.min.js","path":"js/bootstrap.min.js","modified":1,"renderable":1},{"_id":"themes/webstack/source/js/custom.js","path":"js/custom.js","modified":1,"renderable":1},{"_id":"themes/webstack/source/js/header.js","path":"js/header.js","modified":1,"renderable":1},{"_id":"themes/webstack/source/js/html5shiv.min.js","path":"js/html5shiv.min.js","modified":1,"renderable":1},{"_id":"themes/webstack/source/js/footer.js","path":"js/footer.js","modified":1,"renderable":1},{"_id":"themes/webstack/source/js/joinable.js","path":"js/joinable.js","modified":1,"renderable":1},{"_id":"themes/webstack/source/js/jquery-1.11.1.min.js","path":"js/jquery-1.11.1.min.js","modified":1,"renderable":1},{"_id":"themes/webstack/source/js/lozad.min.js","path":"js/lozad.min.js","modified":1,"renderable":1},{"_id":"themes/webstack/source/js/resizeable.min.js","path":"js/resizeable.min.js","modified":1,"renderable":1},{"_id":"themes/webstack/source/js/respond.min.js","path":"js/respond.min.js","modified":1,"renderable":1},{"_id":"themes/webstack/source/js/resizeable.js","path":"js/resizeable.js","modified":1,"renderable":1},{"_id":"themes/webstack/source/js/wow_init.js","path":"js/wow_init.js","modified":1,"renderable":1},{"_id":"themes/webstack/source/js/xenon-api.min.js","path":"js/xenon-api.min.js","modified":1,"renderable":1},{"_id":"themes/webstack/source/js/xenon-custom.min.js","path":"js/xenon-custom.min.js","modified":1,"renderable":1},{"_id":"themes/webstack/source/js/xenon-toggles.min.js","path":"js/xenon-toggles.min.js","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-brands-400.eot","path":"css/fonts/fontawesome/webfonts/fa-brands-400.eot","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-brands-400.svg","path":"css/fonts/fontawesome/webfonts/fa-brands-400.svg","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-brands-400.ttf","path":"css/fonts/fontawesome/webfonts/fa-brands-400.ttf","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-brands-400.woff","path":"css/fonts/fontawesome/webfonts/fa-brands-400.woff","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-brands-400.woff2","path":"css/fonts/fontawesome/webfonts/fa-brands-400.woff2","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-regular-400.eot","path":"css/fonts/fontawesome/webfonts/fa-regular-400.eot","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-regular-400.svg","path":"css/fonts/fontawesome/webfonts/fa-regular-400.svg","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-regular-400.woff","path":"css/fonts/fontawesome/webfonts/fa-regular-400.woff","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-regular-400.woff2","path":"css/fonts/fontawesome/webfonts/fa-regular-400.woff2","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-regular-400.ttf","path":"css/fonts/fontawesome/webfonts/fa-regular-400.ttf","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-solid-900.svg","path":"css/fonts/fontawesome/webfonts/fa-solid-900.svg","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-solid-900.ttf","path":"css/fonts/fontawesome/webfonts/fa-solid-900.ttf","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-solid-900.eot","path":"css/fonts/fontawesome/webfonts/fa-solid-900.eot","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-solid-900.woff","path":"css/fonts/fontawesome/webfonts/fa-solid-900.woff","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-solid-900.woff2","path":"css/fonts/fontawesome/webfonts/fa-solid-900.woff2","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/all.min.css","path":"css/fonts/fontawesome/css/all.min.css","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/linecons/css/linecons-embedded.css","path":"css/fonts/linecons/css/linecons-embedded.css","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/linecons/css/linecons-ie7-codes.css","path":"css/fonts/linecons/css/linecons-ie7-codes.css","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/linecons/css/linecons-codes.css","path":"css/fonts/linecons/css/linecons-codes.css","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/linecons/css/linecons-ie7.css","path":"css/fonts/linecons/css/linecons-ie7.css","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/linecons/css/linecons.min.css","path":"css/fonts/linecons/css/linecons.min.css","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/linecons/font/linecons.eot","path":"css/fonts/linecons/font/linecons.eot","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/linecons/font/linecons.svg","path":"css/fonts/linecons/font/linecons.svg","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/linecons/font/linecons.ttf","path":"css/fonts/linecons/font/linecons.ttf","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/linecons/font/linecons.woff","path":"css/fonts/linecons/font/linecons.woff","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-brands-400.ttf","path":"css/fonts/fontawesome/css/webfonts/fa-brands-400.ttf","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-brands-400.eot","path":"css/fonts/fontawesome/css/webfonts/fa-brands-400.eot","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-brands-400.svg","path":"css/fonts/fontawesome/css/webfonts/fa-brands-400.svg","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-brands-400.woff","path":"css/fonts/fontawesome/css/webfonts/fa-brands-400.woff","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-brands-400.woff2","path":"css/fonts/fontawesome/css/webfonts/fa-brands-400.woff2","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-regular-400.eot","path":"css/fonts/fontawesome/css/webfonts/fa-regular-400.eot","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-regular-400.ttf","path":"css/fonts/fontawesome/css/webfonts/fa-regular-400.ttf","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-regular-400.svg","path":"css/fonts/fontawesome/css/webfonts/fa-regular-400.svg","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-regular-400.woff","path":"css/fonts/fontawesome/css/webfonts/fa-regular-400.woff","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-solid-900.eot","path":"css/fonts/fontawesome/css/webfonts/fa-solid-900.eot","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-solid-900.svg","path":"css/fonts/fontawesome/css/webfonts/fa-solid-900.svg","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-regular-400.woff2","path":"css/fonts/fontawesome/css/webfonts/fa-regular-400.woff2","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-solid-900.ttf","path":"css/fonts/fontawesome/css/webfonts/fa-solid-900.ttf","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-solid-900.woff","path":"css/fonts/fontawesome/css/webfonts/fa-solid-900.woff","modified":1,"renderable":1},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-solid-900.woff2","path":"css/fonts/fontawesome/css/webfonts/fa-solid-900.woff2","modified":1,"renderable":1},{"_id":"source/img/Guovin.tv.png","path":"img/Guovin.tv.png","modified":1,"renderable":0}],"Cache":[{"_id":"source/_data/VSCode-PHP.yml","hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709","modified":1727941020167},{"_id":"source/_data/MacOS.yml","hash":"58c4a689b60d6751405c79e37219809ceb6358ba","modified":1727941020167},{"_id":"source/_data/AI-ASR.yml","hash":"01346bad0534349434af47cb77fe4d9bd328e5da","modified":1727941020166},{"_id":"source/_data/AI-TTS.yml","hash":"abed08dd0ef2be407eb83c61adaa7a93c8a8530a","modified":1727941020166},{"_id":"source/_data/AI-图像影音类.yml","hash":"3961805c9179f887152964365654cfb9a95fc9bf","modified":1727941020167},{"_id":"source/_data/AI-其它.yml","hash":"30b346338f3ce3ce5cd1c1817afb7e70367ec60a","modified":1729337508109},{"_id":"source/_data/AI-大语言模型.yml","hash":"58af82d147b7221733cd87e4b804305a67c51c67","modified":1728006131281},{"_id":"source/_data/VSCode-others.yml","hash":"a61e4ed57ddc700255ba3617f33408232d1729a6","modified":1727941020167},{"_id":"source/_data/blogs.yml","hash":"12fbc276c7f3d04902f8138bf476f1803bb30157","modified":1727941020168},{"_id":"source/_data/VSCode-前端.yml","hash":"3d2760f1a5dd86354cb6bcde163936ef87114658","modified":1727941020167},{"_id":"source/_data/工具-素材.yml","hash":"546d16ea7fb493139499e2ab50b4bab60bbd609f","modified":1727941020169},{"_id":"source/_data/前端-工具.yml","hash":"98c912bfaeb6eec4403c6af19fe41973ae11973c","modified":1728011060929},{"_id":"source/_data/前端-Javascript库.yml","hash":"52b975b4adbf31a763fdd4a21d87a0ab0d6dc751","modified":1727941020168},{"_id":"source/_data/图片设计.yml","hash":"3700e2e18e07a212ec22e45812d4a20233334d6e","modified":1728007200676},{"_id":"source/_data/linux.yml","hash":"f505e2e2d836a478bc246b167e637a8ef60ab641","modified":1727941020168},{"_id":"source/_data/工具-其它.yml","hash":"0d05b5adddee95d0243caae90cfd0f5619bc7ec3","modified":1728007495895},{"_id":"source/_data/工具-设计.yml","hash":"739334adb2f628dc75f9dcd2a626475ec62e01eb","modified":1727941020169},{"_id":"source/_data/无人机.yml","hash":"539da028b962196bb34842196b64e44c944eb0cd","modified":1727941020169},{"_id":"source/_data/文章.yml","hash":"50245c273a87685813aa021c2741bdcf8a706400","modified":1727941020169},{"_id":"source/_data/有趣的开源项目.yml","hash":"4f6cd284489df4953ff85532a4c425dd6b37ab0a","modified":1729337424400},{"_id":"source/_data/网络.yml","hash":"31f2bd51359eff7817e9d685ad1da472e051c52e","modified":1727941020170},{"_id":"source/_data/好玩的东西.yml","hash":"cbd2a14511ce982ffd7bf16ed156f553644acf77","modified":1728006367175},{"_id":"source/_data/视图文素材.yml","hash":"344deb5aa5ddc631105741eb06c664aa8950b045","modified":1727941020170},{"_id":"source/_data/编程.yml","hash":"d33705b418c9713b6271f97d81e9cd673b5d27be","modified":1727941020170},{"_id":"source/_data/运维.yml","hash":"2fdbc648446e8c1a1faab1d12c6c26f470088c56","modified":1728006043048},{"_id":"source/_posts/hello-world.md","hash":"acad91ace80b80295b11a9b7ad4c29a2dcfdd8fb","modified":1727941020171},{"_id":"source/img/1Panel.jfif","hash":"f04bb7145aae3f1cd1c8111e2a22f1768dd41964","modified":1727941020171},{"_id":"source/img/163music.ico","hash":"f5cd7e69a86794f27fca4c978ef4e9b365f9c1eb","modified":1727941020171},{"_id":"source/img/APISR.png","hash":"23539b9f0e2261955ecc9d927511e6ab428891a1","modified":1727941020172},{"_id":"source/img/APISQL.ico","hash":"943292c7a25ba0d2e48e76cac1bb2f5ced9f54db","modified":1727941020171},{"_id":"source/img/Ban-Hacker-IP-Plan.jfif","hash":"af39a82f94484b2cd3d469fbfea93ee329ab5cef","modified":1727941020172},{"_id":"source/img/Bert-VITS2.png","hash":"7a2350233d7ade6c2bc04f231488b7d85811d5a7","modified":1727941020172},{"_id":"source/img/AntiZhaPian.jpg","hash":"2d6749c19fddd4db951c8107a59870c68a3680e0","modified":1727941020172},{"_id":"source/img/BewlyBewly.png","hash":"43d84915d447553633787ba95fc21bee073302c8","modified":1727941020173},{"_id":"source/img/BililiveRecorder.png","hash":"0c4d3eadf7b0915bdc735b8eae9cbca607a19063","modified":1727941020173},{"_id":"source/img/Billfish.ico","hash":"ff5bdab9aec0c29e0890f1fc322074d7f09ba180","modified":1727941020173},{"_id":"source/img/BroadcastChannel.png","hash":"bf446da80ae9529ab98052615957e760e07b2e23","modified":1727941020173},{"_id":"source/img/ChatTTS.ico","hash":"2f89cd8f7fc7a5e35c795740ae1354d5574a896e","modified":1727941020175},{"_id":"source/img/China-Internationally-connected.png","hash":"40e8444a637f5e86f9f2c894d48416a403230bbe","modified":1727941020175},{"_id":"source/img/ChatGLM3.png","hash":"a1284857d05b1fed1deefa3dcb3ef22238a39526","modified":1727941020175},{"_id":"source/img/ComfyUI.png","hash":"bc7a2b6b74f624d3f9316b4e4f86071ca1a3f296","modified":1727941020176},{"_id":"source/img/Digital_Life_Server.jfif","hash":"f5a0042e201d1706d9a390698a5ad55bc12e9e42","modified":1727941020177},{"_id":"source/img/DirectoryLister.png","hash":"4236b30318c3b11323efa81a174c12470b0cf141","modified":1727941020177},{"_id":"source/img/CoolShell.png","hash":"f0363cf05c543bcfb84e8ea36cf79a2bfeabad6e","modified":1727941020176},{"_id":"source/img/Coolify.png","hash":"f1702a2ca389d6d267885c39a8b0b4929b05a644","modified":1727941020177},{"_id":"source/img/EarTrumpet.png","hash":"dab9caecead5b6b7f2a885bffe81f1ec625c385f","modified":1727941020178},{"_id":"source/img/EasySpider.jfif","hash":"967cd01bf4c505c3c61524125ec857dabe5f2f4c","modified":1727941020178},{"_id":"source/img/CogVideo.png","hash":"7e052daca5cdc04c1dc025b174217c52df3587c3","modified":1727941020176},{"_id":"source/img/Docker-OSX.png","hash":"5eb3edbea04eaf85b1c7b6da8796828ab42ef719","modified":1727941020178},{"_id":"source/img/FluentRead.jfif","hash":"bb6eff66054b958986d810d6be7a3cb17b0de33d","modified":1727941020178},{"_id":"source/img/DistroSea.ico","hash":"7832d0077a6fc9736788d55d28125303e15d93f5","modified":1727941020177},{"_id":"source/img/HivisionIDPhotos.jpeg","hash":"1380e8f9023687c1e2b610e7c45f461ddb1f4842","modified":1727941020179},{"_id":"source/img/FileCodeBox.png","hash":"72cdde89e092b1a53cdb5843b1b78dce521c1a06","modified":1727941020178},{"_id":"source/img/GitLens.png","hash":"20cb62cd33e38febc56fbb07e4b9616d6c00cb92","modified":1727941020179},{"_id":"source/img/GLM-4.png","hash":"a1284857d05b1fed1deefa3dcb3ef22238a39526","modified":1727941020179},{"_id":"source/img/IC-Light.jfif","hash":"da871592eda6270ed414c55922a64a5f5fbc9bcd","modified":1727941020179},{"_id":"source/img/HTML👉JADEPUG.ico","hash":"c45ec5c6c18ba7aea90a8616ce0a82e2bc2d1d6d","modified":1727941020179},{"_id":"source/img/I❤️IMG.png","hash":"326fc5c3de35b8358bb08373b46836521fee1064","modified":1727941020179},{"_id":"source/img/InternetTest Pro.png","hash":"8ed186178d07bba9a4a5e98eb2187748da0cf062","modified":1727941020179},{"_id":"source/img/LinuxMirors.png","hash":"e61da8663f3598920ba740f27982436c81930df2","modified":1727941020180},{"_id":"source/img/Linly-Dubbing.jfif","hash":"c2d78f71f1f49c6c3d68c62ee9596f9aece9c13a","modified":1727941020180},{"_id":"source/img/LivePortrait.png","hash":"865f9a52dfe44aac91e99d90ec823b651f05335e","modified":1727941020180},{"_id":"source/img/JavaScriptDebugger.png","hash":"ef498526b7fed4862c92e2529ca3b63c4d6df829","modified":1727941020180},{"_id":"source/img/KasmVNC.jpg","hash":"21c3ce645372c3a3c4895c8e54ec2922c1c6b1f5","modified":1727941020180},{"_id":"source/img/LogoSponsorBlocker256px.png","hash":"575f4571b6d552b70f8a7dcf3805dfb290dd472e","modified":1727942074337},{"_id":"source/img/LookingGlass.jfif","hash":"9f6877b6844214770442a56e4b3c4bbfd8fca842","modified":1727941020181},{"_id":"source/img/LiveServer.png","hash":"4abeb41b666a9ad2c398a8819266551fe6ee41dc","modified":1727941020181},{"_id":"source/img/MemFree.png","hash":"0979a5465d18da4f9e3b25773bd669949061457a","modified":1727941020181},{"_id":"source/img/Minecraft-Server-Ports-Scanner-GUI.png","hash":"8f23318c9570d4f1d150b55ab40cba96ad6a8975","modified":1727941020181},{"_id":"source/img/Marsview.png","hash":"d567131df1a7102e3b64a12c6b0c9419ab605cfa","modified":1727941020181},{"_id":"source/img/MegaEase.png","hash":"52b329521785f9c27536d85cd3bef21cba9732ba","modified":1727941020181},{"_id":"source/img/Nmap.png","hash":"9f13cf9c8357280036cc9596d5c7892b5f214983","modified":1727941020183},{"_id":"source/img/NETworkManager.svg","hash":"c190701d5b83e88763ff704aed0cdd47c25d0f6f","modified":1727941020183},{"_id":"source/img/Real-time-translation-typing.png","hash":"65f13e32279e222e4f622ced9417f7c8d64fba7e","modified":1727941020184},{"_id":"source/img/OpenGFW.png","hash":"f0a135c2e480c650a7011e7f6510a1a98d63f51d","modified":1727941020184},{"_id":"source/img/RefAudioEmoTagger.jfif","hash":"ba4b7e75223394019b0c5a6b37487825b2a9a2fe","modified":1727941020184},{"_id":"source/img/RTranslator.png","hash":"3cec4e148710a8516d3ced33a38609aeb1549944","modified":1727941020184},{"_id":"source/img/NotchDrop.png","hash":"3382a735718bb965280362764a97de61e56f8912","modified":1727941020183},{"_id":"source/img/RegExr.png","hash":"9193bab0e7fded4a711edbe1c5b8bec1f81e5402","modified":1727941020185},{"_id":"source/img/Text Search Engine.png.jfif","hash":"00274597ab7d7b77ab3c5d3cdc495a10b06f3e2a","modified":1727941020185},{"_id":"source/img/Swiper.ico","hash":"81f689934af9c5276af9eafddc92404eae5ec3f2","modified":1727941020185},{"_id":"source/img/SBDJI.ico","hash":"f70d822641b98e04b043f1a0232620590e032179","modified":1727941020185},{"_id":"source/img/SQLYNX.svg","hash":"b159eacc0c5f9e336a73f8d9419292af00497ec0","modified":1727941020185},{"_id":"source/img/Vue-Official.png","hash":"f5bcbd897fe3e2fdb99bc04dcd1ffe8ce599f05a","modified":1727941020186},{"_id":"source/img/ZBProxy.png","hash":"2afec1a48b7424a34951d90eaf735be199c6da6a","modified":1727941020186},{"_id":"source/img/Xnapper-Studio.ico","hash":"5cb1171522f078c683a42a1149faee276469fea9","modified":1728007181621},{"_id":"source/img/Vue3Snippets.jfif","hash":"7ad810c2c5e4fbf5c91ca7dca3bb0f1e0f9a4e27","modified":1727941020186},{"_id":"source/img/WebChat.png","hash":"a61e13acd9cb269a672cba6dd5caeb5691973ad2","modified":1729337420548},{"_id":"source/img/anti-baidu.jpg","hash":"c7e3ae3f21b37ff228996fd2b98c986fb5fcace2","modified":1727941020187},{"_id":"source/img/aide.svg","hash":"706be2d251b0a347f0b638c63827d1f99b2fa200","modified":1727941020186},{"_id":"source/img/asmbb.png","hash":"3ffeac625779f67df0093a43d2069b1aa9e8031a","modified":1727941020187},{"_id":"source/img/alternativeto.ico","hash":"947859214b5a48ba3478b9c59cf52777f00a9f68","modified":1727941020187},{"_id":"source/img/askmanyai.ico","hash":"f634be9a33d151dc45cdd52138a5f1d6a1e58548","modified":1727941020187},{"_id":"source/img/china-operator-ip.jfif","hash":"c2ad5379f0146a72f196d93f493bce87316525b4","modified":1727941020188},{"_id":"source/img/bilibot.jfif","hash":"38208dfd44b9da02cff3041b1efa863ecf25082f","modified":1727941020188},{"_id":"source/img/atoolbox.png","hash":"87d6fa7c689e6ac5dcd29183deec138c08c38f72","modified":1727941020187},{"_id":"source/img/bkywksjfrp.jfif","hash":"46770de66bcd1108e30509f699c3b6fd806bb8c7","modified":1727941020188},{"_id":"source/img/chinese-programmer-wrong-pronunciation.png","hash":"7d617583c0d82963e6899d4be0a19537890d7fcb","modified":1727941020189},{"_id":"source/img/biezi.png","hash":"923c95badae48ffbe601a7759ed4c52ad57f6de7","modified":1727941020188},{"_id":"source/img/console-ninja.png","hash":"22aed065c7ad05177f26cee411ab999a52591f22","modified":1727941020189},{"_id":"source/img/cobalt.png","hash":"9d3f96e3e7dd24061e929a77947992f390dcee33","modified":1727941020189},{"_id":"source/img/code-box.png","hash":"d9707ca55c7b9a414fa29b0c6aba93d3e46ae6d2","modified":1727941020189},{"_id":"source/img/css-inspiration.png","hash":"fca09da8303d57e848926af8b97cbff73e8bc257","modified":1727941020189},{"_id":"source/img/css.ico","hash":"b4c271e66390ea25aafbbc27c228e7a669f81e01","modified":1727941020190},{"_id":"source/img/dotwiki.ico","hash":"f416017bb96aaf660595dfdaf68c285e6061cc96","modified":1727941020192},{"_id":"source/img/ddns-go.jfif","hash":"d95e2ae7b935e87928139a52f484d9f0a19e0400","modified":1727941020190},{"_id":"source/img/docker_image_pusher.png","hash":"c58bb9c9eedbc30e5f600b4ddd12335f7f597cd9","modified":1727941020191},{"_id":"source/img/devzat.png","hash":"55ba53a56336730a41b79bcb0f0d686f1693d3da","modified":1727941020191},{"_id":"source/img/driver.js.svg","hash":"ac24b615e32d8ab4dafeb300edad99d326d48fb5","modified":1727941020192},{"_id":"source/img/electerm.png","hash":"473e9f977a402f3144416af44cd47f95f258e171","modified":1727941020192},{"_id":"source/img/easy-codesnap.png","hash":"db83a21677c63e32d48261f091edaeecde705781","modified":1727941020192},{"_id":"source/img/ente.png","hash":"a8dc213905cf118651e5649311001b6063bffb80","modified":1727941020193},{"_id":"source/img/facefusion.jfif","hash":"691115350408122168cf97ce192d918674853463","modified":1727941020193},{"_id":"source/img/firecrawl.png","hash":"0a0a94db7d13b44d3579f507278d49bc0f85938c","modified":1727941020193},{"_id":"source/img/fontright.ico","hash":"c5679f1cba92fa7293282c86d63a247cc8142879","modified":1727941020194},{"_id":"source/img/fluent-reader.png","hash":"8e2bfcc7ad23205e2b5939cbf8d88fddd3cacd44","modified":1727941020193},{"_id":"source/img/frpc-desktop.png","hash":"93c7ae20334aece1153f0ca9fb39d9febb25c9df","modified":1727941020194},{"_id":"source/img/fscan.jfif","hash":"e2cf15de5c96cdc0bf431e19ff333f91b859c227","modified":1727941020194},{"_id":"source/img/hackingtool.png","hash":"5db9436a2791628b5d0495969e476a14144476bc","modified":1727941020194},{"_id":"source/img/gemoo.ico","hash":"147188243cf2186379226ca0aa6637718cacbf9f","modified":1727941020194},{"_id":"source/img/heyform.jfif","hash":"a933f4a550ce7d20924a5bb12accd4e0a948f722","modified":1727941020194},{"_id":"source/img/html5up.ico","hash":"a1247aac4e43fafa21a08f48a43e306ea38d5cc0","modified":1727941020194},{"_id":"source/img/iCSS.jpg","hash":"3be0f58d4780b5ef2e467c9326cfb952653eb834","modified":1727941020195},{"_id":"source/img/iconfont.png","hash":"6b6bc35bdca2a4b5c041107210d5239c25ded0e7","modified":1727941020195},{"_id":"source/img/image-matting.png","hash":"0daf6cc5545ab23417bb8de941184ad2e89a84fa","modified":1727941020195},{"_id":"source/img/inter-knot.svg","hash":"1a289a102b7abeec99a19d73ede4dbc533ebcde7","modified":1727941020195},{"_id":"source/img/json4u.svg","hash":"6cc53621b380367adabc8d4043d4ed9d588a77cb","modified":1728011025820},{"_id":"source/img/favicon.im.png","hash":"340b367e60216a77478bca3947fddaaea508fe0f","modified":1727941020193},{"_id":"source/img/icons8.svg","hash":"ce368dcc68cf365560910d5ba73537bc304b4563","modified":1727941020195},{"_id":"source/img/jiuwa.png","hash":"6ae6fa6bb0b06b70ea1277a7c32271dbb7808bd2","modified":1727941020196},{"_id":"source/img/local-ISPs-to-CN.jfif","hash":"bb9faeb85ec9536e5029fd02cbc77cdfaae5e7ae","modified":1727941020196},{"_id":"source/img/my-tv.jfif","hash":"5a6f912ff1342b64982fe022cadf02fc2c4a967f","modified":1727941020196},{"_id":"source/img/ncmdump.png","hash":"955d3d7f3b24595274bd9671e7212efcff6715da","modified":1727941020196},{"_id":"source/img/newredlens.png","hash":"cc1fe40755d9c29093c1346cc1fa9034f8af9266","modified":1727941020196},{"_id":"source/img/nsfwjs.jpg","hash":"a404b9fa944409d78b41c1ac443d90e1d96a79d2","modified":1727941020197},{"_id":"source/img/openalternative.ico","hash":"69b9dc03fca3c840318307f35f4c147f2825b0c5","modified":1727941020197},{"_id":"source/img/page-replica.png","hash":"41b70d92ee79aea54899b9e073cf45619917e4a1","modified":1727941020197},{"_id":"source/img/omnivore.png","hash":"73aad2616740c5527bb98b812b94c08ee76c3857","modified":1728007481568},{"_id":"source/img/logiops.png","hash":"6c6dfa052df13b7e0d703d44e4ac2108f396a12b","modified":1727941020196},{"_id":"source/img/public-apis.png","hash":"0da5359b9d5b14107edc7f0f713823983a21636b","modified":1727941020198},{"_id":"source/img/petercat.png","hash":"29cba16c79decaf498cee880a8f3379e151295f3","modified":1728006101868},{"_id":"source/img/penpot.ico","hash":"9bb543005ac0822ce93590fce0d66d6bfbfa0da7","modified":1727941020197},{"_id":"source/img/quicklink.png","hash":"65860fc3a5ac4b9f2d172db782bed58d590073c6","modified":1727941020198},{"_id":"source/img/pvetools.webp","hash":"3269e4d6d690e5f37bb6c55101c5f7ea06aa2a05","modified":1727942074337},{"_id":"source/img/runoob.ico","hash":"9ea938e4dd46d17c3e4b09aa650386edb2db77a0","modified":1727941020198},{"_id":"source/img/ruanyifeng.ico","hash":"a9f9a115f6d5af138ace628cde4769165a45ef03","modified":1727941020198},{"_id":"source/img/saucenao.ico","hash":"045613d0db8bc074e7d047db6a9f1974e166a8e1","modified":1727941020198},{"_id":"source/img/screenshot.rocks.ico","hash":"66acecaf3ea95a8ba7afd66ed243559a4cc236dd","modified":1727941020198},{"_id":"source/img/sitechecker.ico","hash":"f837bde6c38073ba575b433508fbb21783bc767c","modified":1727941020199},{"_id":"source/img/shit-url.png","hash":"37c00a874f751f03d1adbec9c7df70566855bec2","modified":1727941020198},{"_id":"source/img/porn-logo.png","hash":"faa4317a293b0c5e75ed52c1dbc2c19fff378ed1","modified":1727941020197},{"_id":"source/img/socialify.ico","hash":"da5434f62552351908b43587b5217350d3f43569","modified":1728007678006},{"_id":"source/img/squoosh.webp","hash":"300aff6d7ce47bf8afd2010ab042e29e3c1acf44","modified":1727941020200},{"_id":"source/img/synctv.png","hash":"c5b419433c30ee64ce11779f56628bfdc1d590b2","modified":1727941020200},{"_id":"source/img/terminal.png","hash":"dc35b0d142e9708564fe8e0b6b829427ba2a7616","modified":1727941020200},{"_id":"source/img/telegraph.jfif","hash":"164dd20d4b00c6ae39110de69a7696237cea4378","modified":1727941020200},{"_id":"source/img/tesseract.js.png","hash":"9b994a6307bf392a568c1488e1da6b8890f284f5","modified":1727941020200},{"_id":"source/img/todo-highlight.png","hash":"f05a53b14851dda349f2373ca86f034921f04d20","modified":1727941020200},{"_id":"source/img/uom.png","hash":"475a89a348d5364c10c5f446450a80acb6e56bba","modified":1727941020201},{"_id":"source/img/vscan.gif","hash":"12e1a4d1ecb66ead80594033c983e3934f3a740c","modified":1727941020201},{"_id":"source/img/xiaoju-survey.jpg","hash":"85afa24c5e49171f9fc5237931ed553b8f9c083e","modified":1727941020202},{"_id":"source/img/全球酷站.png","hash":"39168fc47828631b8b140666dec9cb3c7aacb568","modified":1727941020203},{"_id":"source/img/xterminal.svg","hash":"252839783287624f32982c2570714ad23caf2fab","modified":1727941020203},{"_id":"source/img/zuiti.png","hash":"76f9fd2fd8e1a302e29a9d054168d094b8b82ea1","modified":1727941020203},{"_id":"source/img/哪煮米.ico","hash":"fe4118c94874ffb58ae411d3b28cac9323b75bab","modified":1727941020203},{"_id":"source/img/中国网络防火长城简史.avif","hash":"02d44bfade3021c7a94c220d3367fdc27a20b614","modified":1727941020203},{"_id":"source/img/天空之城.png","hash":"09ac12857ce9428c11124dab17e363e9f51a2891","modified":1727941020204},{"_id":"source/img/影视飓风.png","hash":"4fcae29abc0304d6b83219ebbb4ffabbe54dddf2","modified":1727941020204},{"_id":"source/img/科技爱好者周刊.jfif","hash":"2806393c128aae0346abc5e27b2a9a5e4e4ec69c","modified":1727941020204},{"_id":"source/img/电脑星人.jpg","hash":"a02f76181bd4b974627ccf0fa189afe04205bac3","modified":1727941020204},{"_id":"source/img/纪念陈皓(左耳朵耗子).webp","hash":"07e43f1f1f90eb62159b986725b221b7b983c261","modified":1727941020205},{"_id":"source/img/退休计算器.ico","hash":"742e6df713e1b2198d6b22f10d9ac7e2b5e1dfbd","modified":1728006345391},{"_id":"source/img/CapsWriter.ico","hash":"bd26725774137857b22f5f41a02fee025f696962","modified":1727941020175},{"_id":"source/img/Class-Widgets.png","hash":"2aae492ee6bfaee2cd133dc23bdcf8088784ad4e","modified":1727941020176},{"_id":"source/img/debian-media-box.png","hash":"d8f1c30b321eccd32c4746099816a9f7a20d4f15","modified":1727941020190},{"_id":"source/img/deeplive.ico","hash":"abd49b6f046fc35897d0d995878fd30bb8830d04","modified":1727941020191},{"_id":"source/img/spark-app.ico","hash":"9f0bc64f63a8f6e0178584fec895687b327cf550","modified":1727941020199},{"_id":"source/img/www.screen.png","hash":"79d43759439fb61b0bab688079df62a0b76a058a","modified":1727941020202},{"_id":"source/img/CSSPeek.png","hash":"bd2975f79e3be8d6a0a9e2b73155ab46d3a9ad50","modified":1727941020174},{"_id":"source/img/MinerU-logo.png","hash":"92d72da74f01553ae4df5f646347b594fe58960e","modified":1727941020183},{"_id":"source/img/jsongenerator.ico","hash":"07a727f156e82d880fd6e14405dc1e70a35f05b1","modified":1728007588967},{"_id":"themes/webstack/.gitignore","hash":"2a6e73546cfcc5ac757c6b60e4d67198a4bf1d18","modified":1727941020205},{"_id":"themes/webstack/.npmignore","hash":"0241b6757a8c74de1133523bda592a34dffc0eb1","modified":1727941020205},{"_id":"themes/webstack/index.js","hash":"3b35a075a534f60e546184fb98d5e7f91daf285c","modified":1727941020205},{"_id":"themes/webstack/move_config.js","hash":"36359add71fcd1d266480c47d3bcb938595d3aef","modified":1727941020208},{"_id":"themes/webstack/LICENSE","hash":"f48d33e1be27a8b811e669d79699b6f6f425fb4d","modified":1727941020205},{"_id":"themes/webstack/_config.yml","hash":"c709b6c0b02d78cb0e688424e4446e3d7fd73cd9","modified":1727941020205},{"_id":"themes/webstack/package.json","hash":"f77e912f2e9cd0528a9ae0b8ff83cbefd64ff8c8","modified":1727941020208},{"_id":"themes/webstack/scripts/replace_config.js","hash":"d279bb431b079239e8f49f4fdfab21ba24a75a2a","modified":1727941020208},{"_id":"themes/webstack/layout/about.ejs","hash":"e9ab558b301f5b61d2819086a64260cc4e286c6e","modified":1727941020206},{"_id":"themes/webstack/layout/page.ejs","hash":"8b7ae6cd4e0b3abefb426fdb0f1365a29916eead","modified":1727941020207},{"_id":"themes/webstack/layout/font5.ejs","hash":"b56af9449f09905b7cae1a7f9b46b20813268c90","modified":1727941020207},{"_id":"themes/webstack/layout/common/footer.ejs","hash":"a7e57aaefa6be230b73a51705fdd5b0d5f16f47c","modified":1727941020206},{"_id":"themes/webstack/layout/index.ejs","hash":"130dd693e0c7fa54ce01d0260fecb6261be6d217","modified":1727941020207},{"_id":"themes/webstack/layout/common/group.ejs","hash":"69b3da94a2eb46ae9a64a8e80d6cc3153c0c9e1e","modified":1727941020206},{"_id":"themes/webstack/layout/common/head.ejs","hash":"a8b8b5bc3a83a5b6d143f076687e2018a20feabb","modified":1727941020206},{"_id":"themes/webstack/layout/layout.ejs","hash":"49b1a1d07388f0533fa9fd027f67ac8a9fc8dd22","modified":1727941020207},{"_id":"themes/webstack/layout/common/header.ejs","hash":"0976ad60a0db70781269cdc4fdd1b4ae6c96d82e","modified":1727941020207},{"_id":"themes/webstack/source/css/custom.css","hash":"813a6d95c2476fbea8f485246e1ed7da51eec942","modified":1727941020209},{"_id":"themes/webstack/source/css/hclonely.css","hash":"e7a28d23c0c1b70bb57c3c1b3e1ae6683b7a8460","modified":1727941020254},{"_id":"themes/webstack/source/css/nav.min.css","hash":"1ada5a622ed29eddecd43bfbd9f984e32da783fa","modified":1727941020254},{"_id":"themes/webstack/source/css/xenon-forms.min.css","hash":"74892afbbd410c8938b8f3d7e3215ed59d5fa6ca","modified":1727941020257},{"_id":"themes/webstack/source/js/custom.js","hash":"5870df14609a2a7d3bdcd8e3983cfa8d69d6b8d4","modified":1727941020260},{"_id":"themes/webstack/source/js/bootstrap.min.js","hash":"aa2153e19e7ad26523720c66ac7b16c921c25425","modified":1727941020259},{"_id":"themes/webstack/source/js/header.js","hash":"1ffa8914e8323819f6ea957b2259dde68b928897","modified":1727941020260},{"_id":"themes/webstack/source/js/html5shiv.min.js","hash":"c6a4cb6f94c76f9d053ef330247358ebdb2d3149","modified":1727941020260},{"_id":"themes/webstack/source/js/footer.js","hash":"a34b3bec4bc1a4ca3d36ed64737ee836e6361460","modified":1727941020260},{"_id":"themes/webstack/source/js/joinable.js","hash":"7a8ab0b01106e85df37403a85aab774711a236bb","modified":1727941020260},{"_id":"themes/webstack/source/js/lozad.min.js","hash":"62355b6a678876b7c07756f38def2c00834ba8e5","modified":1727941020261},{"_id":"themes/webstack/source/js/resizeable.min.js","hash":"72bbe339971744ea58493acdf75f4c914d6713f7","modified":1727941020261},{"_id":"themes/webstack/source/js/resizeable.js","hash":"40bd12a5c91401da8d614e8876ee4024d326ac3d","modified":1727941020261},{"_id":"themes/webstack/source/js/wow_init.js","hash":"a856ea04f863a112b9c1d1ddda360b965165a7a0","modified":1727941020262},{"_id":"themes/webstack/source/js/respond.min.js","hash":"4ea901a86ea32d7168a735cf293ca0d82e63c9dd","modified":1727941020262},{"_id":"themes/webstack/source/js/xenon-custom.min.js","hash":"26f99ac1b20a22bc143193f0229e1cbd68864a6c","modified":1727941020262},{"_id":"themes/webstack/source/js/xenon-api.min.js","hash":"9aa8d673ad16e0e48554379faa40e4bca52f6fc0","modified":1727941020262},{"_id":"themes/webstack/source/js/xenon-toggles.min.js","hash":"600bc269b21df659158a278f12b5f240f943eb5d","modified":1727941020262},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-regular-400.woff2","hash":"260bb01acd44d88dcb7f501a238ab968f86bef9e","modified":1727941020241},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-regular-400.eot","hash":"6299f0e32575f73d8d897f87ce899827f99e20fe","modified":1727941020239},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-regular-400.woff","hash":"8469cb3d9c8189fea64f60aef2753509d770b8df","modified":1727941020240},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-regular-400.ttf","hash":"00f569f7d8ac2497a43b25dc4d3b32213bcea31b","modified":1727941020240},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/all.min.css","hash":"82e34d28f8a1169b20b60101d5bb0446deba3514","modified":1727941020210},{"_id":"themes/webstack/source/css/fonts/linecons/css/linecons-ie7-codes.css","hash":"746196d9621bcd63179cc3ec4898253f47044242","modified":1727941020251},{"_id":"themes/webstack/source/css/fonts/linecons/css/linecons-ie7.css","hash":"886ebcf71a648961eb612b17719ca13cec56b8af","modified":1727941020252},{"_id":"themes/webstack/source/css/fonts/linecons/css/linecons.min.css","hash":"b5e88c2c91edab019d6b62583fdc653373e47dbc","modified":1727941020252},{"_id":"themes/webstack/source/css/fonts/linecons/font/linecons.eot","hash":"8908cf47e02208c6fed06c962d93bfbe07db5b31","modified":1727941020252},{"_id":"themes/webstack/source/css/fonts/linecons/css/linecons-codes.css","hash":"f5ff1609719e3aa0512def0523619224323ea772","modified":1727941020250},{"_id":"themes/webstack/source/css/fonts/linecons/font/linecons.ttf","hash":"d64c9418761c67f04f39d317a576646c8ea0e409","modified":1727941020253},{"_id":"themes/webstack/source/css/fonts/linecons/font/linecons.svg","hash":"efd7cad72937cbba76235eb0198e9fcf7549c829","modified":1727941020253},{"_id":"themes/webstack/source/css/fonts/linecons/font/linecons.woff","hash":"2e8a5eb52a2fe2651c9f354923628ee2c2e34e55","modified":1727941020254},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-regular-400.eot","hash":"6299f0e32575f73d8d897f87ce899827f99e20fe","modified":1727941020219},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-regular-400.ttf","hash":"00f569f7d8ac2497a43b25dc4d3b32213bcea31b","modified":1727941020221},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-regular-400.woff","hash":"8469cb3d9c8189fea64f60aef2753509d770b8df","modified":1727941020221},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-regular-400.woff2","hash":"260bb01acd44d88dcb7f501a238ab968f86bef9e","modified":1727941020221},{"_id":"themes/webstack/source/css/bootstrap.min.css","hash":"0bf7528af8e920de634d24e4395aca3487cec0f8","modified":1727941020209},{"_id":"themes/webstack/source/js/TweenMax.min.js","hash":"0b7bcdcde8591c4e6051c95144b1a6cf4c718a7c","modified":1727941020259},{"_id":"themes/webstack/source/js/jquery-1.11.1.min.js","hash":"4fbe0563917d6f6289e4e1b4a0a8758e4e43bda9","modified":1727941020261},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-brands-400.woff","hash":"8436788e76679c0485b62c80eb7512c6c2e34e88","modified":1727941020237},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-brands-400.woff2","hash":"509988477da79c146cb93fb728405f18e923c2de","modified":1727941020238},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-solid-900.woff2","hash":"75a88815c47a249eadb5f0edc1675957f860cca7","modified":1727941020250},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-solid-900.woff","hash":"15c52209092ce0fb7210e40e2a01acc8b4a5c494","modified":1727941020249},{"_id":"themes/webstack/source/css/fonts/linecons/css/linecons-embedded.css","hash":"6de2634ce2ac47ff775c7ec4dd23ca0448a4b532","modified":1727941020251},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-brands-400.woff","hash":"8436788e76679c0485b62c80eb7512c6c2e34e88","modified":1727941020218},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-brands-400.woff2","hash":"509988477da79c146cb93fb728405f18e923c2de","modified":1727941020219},{"_id":"themes/webstack/source/css/xenon-components.min.css","hash":"a3e78c3b736a2545aa44afc20868ebdf5e100925","modified":1727941020255},{"_id":"themes/webstack/source/css/xenon-core.min.css","hash":"aeab3ae8042437113797e6a9cabc6a965e40af87","modified":1727941020256},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-brands-400.eot","hash":"a17db2a5a355befd089bb6e7d53c3d501bf9e827","modified":1727941020232},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-brands-400.ttf","hash":"66c86edfd13e63e0e981ce853335c28bc2d20cec","modified":1727941020237},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-regular-400.svg","hash":"324e5922675aa645a83b18a1d09d0443d5f8efb0","modified":1727941020240},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-brands-400.eot","hash":"a17db2a5a355befd089bb6e7d53c3d501bf9e827","modified":1727941020212},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-brands-400.ttf","hash":"66c86edfd13e63e0e981ce853335c28bc2d20cec","modified":1727941020218},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-regular-400.svg","hash":"324e5922675aa645a83b18a1d09d0443d5f8efb0","modified":1727941020220},{"_id":"themes/webstack/source/css/xenon-skins.min.css","hash":"19968cbe55e947e585ff8f66d495aeefdd844190","modified":1727941020257},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-solid-900.woff","hash":"15c52209092ce0fb7210e40e2a01acc8b4a5c494","modified":1727941020230},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-solid-900.woff2","hash":"75a88815c47a249eadb5f0edc1675957f860cca7","modified":1727941020230},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-solid-900.eot","hash":"5be5944a17e8b32589a12fdc2b8a8570c9081db4","modified":1727941020243},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-solid-900.ttf","hash":"ff8f37dfad105796bd924d0db0d37a4ff252618c","modified":1727941020249},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-solid-900.eot","hash":"5be5944a17e8b32589a12fdc2b8a8570c9081db4","modified":1727941020223},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-solid-900.ttf","hash":"ff8f37dfad105796bd924d0db0d37a4ff252618c","modified":1727941020229},{"_id":"themes/webstack/source/css/xenon.min.css","hash":"c4be2464a76c084fb4e3ac1fefeefa29bccc96be","modified":1727941020258},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-brands-400.svg","hash":"ab87747b8843ea283c4ee20614e2395ea469f351","modified":1727941020235},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-brands-400.svg","hash":"ab87747b8843ea283c4ee20614e2395ea469f351","modified":1727941020216},{"_id":"themes/webstack/source/css/fonts/fontawesome/webfonts/fa-solid-900.svg","hash":"dd83d2628c2d6b1a4d482a919fd50b06c8be79e7","modified":1727941020246},{"_id":"themes/webstack/source/css/fonts/fontawesome/css/webfonts/fa-solid-900.svg","hash":"dd83d2628c2d6b1a4d482a919fd50b06c8be79e7","modified":1727941020227}],"Category":[],"Data":[{"_id":"AI-ASR","data":[{"name":"CapsWriter","url":"https://github.com/HaujetZhao/CapsWriter","img":"/img/CapsWriter.ico","description":"一款电脑语音输入工具,也可以用来添加字幕"}]},{"_id":"AI-其它","data":[{"name":"MemFree","url":"https://github.com/memfreeme/memfree","img":"/img/MemFree.png","description":"一个混合 AI 搜索引擎,代码开源,可以自托管"},{"name":"数字生命","url":"https://github.com/zixiiu/Digital_Life_Server","img":"/img/Digital_Life_Server.jfif","description":"极客湾的数字生命项目"},{"name":"firecrawl","url":"https://github.com/mendableai/firecrawl","img":"/img/firecrawl.png","description":"将网站自动转换为LLM数据"},{"name":"Real-time-translation-typing","url":"https://github.com/sxzxs/Real-time-translation-typing","img":"/img/Real-time-translation-typing.png","description":"实时打字翻译助手"},{"name":"RefAudioEmoTagger","url":"https://github.com/Alexw1111/RefAudioEmoTagger","img":"/img/RefAudioEmoTagger.jfif","description":"一种基于Emotion2Vec的批量音频情感自动标注脚本"},{"name":"Crawl4AI","url":"https://github.com/unclecode/crawl4ai","img":"/img/RefAudioEmoTagger.jfif","description":"开源AI网络爬虫工具,可以直接用于大语言模型和AI应用。性能快,还能输出适合大语言模型的格式,比如JSON、清理过的HTML和markdown。它还支持同时爬取多个网址,能提取所有媒体标签(图片、音频、视频),以及所有内外部链接。可以自定义用户代理,还能给网页截图,甚至在爬取之前执行自定义JavaScript。"}]},{"_id":"AI-TTS","data":[{"name":"ChatTTS","url":"https://github.com/2noise/ChatTTS","img":"/img/ChatTTS.ico","description":"一款适用于日常对话的生成式语音模型"},{"name":"GPT-SoVITS","url":"https://github.com/RVC-Boss/GPT-SoVITS","img":null,"description":"强大的少样本语音转换与语音合成Web用户界面"},{"name":"Bert-VITS2","url":"https://github.com/2noise/ChatTTS","img":"/img/Bert-VITS2.png","description":"强大的开源TTS模型"}]},{"_id":"MacOS","data":[{"name":"NotchDrop","url":"https://github.com/Lakr233/NotchDrop/","img":"/img/NotchDrop.png","description":"将 MacBook 刘海变成一个文件传输和暂存区域"}]},{"_id":"AI-图像影音类","data":[{"name":"IC-Light","url":"https://github.com/lllyasviel/IC-Light","img":"/img/IC-Light.jfif","description":"为图像重新打光和更换背景"},{"name":"APISR","url":"https://github.com/Kiteretsu77/APISR","img":"/img/APISR.png","description":"开源的图像超分辨率模型"},{"name":"ComfyUI","url":"https://github.com/comfyanonymous/ComfyUI","img":"/img/ComfyUI.png","description":"一个强大的、模块化的 Stable Diffusion GUI,具有图形/节点界面"},{"name":"LivePortrait","url":"https://github.com/KwaiVGI/LivePortrait","img":"/img/LivePortrait.png","description":"控制图像的面部表情和动作"},{"name":"CogVideo","url":"https://github.com/THUDM/CogVideo","img":"/img/CogVideo.png","description":"质谱开源的文生视频模型"},{"name":"metahuman-stream","url":"https://github.com/lipku/metahuman-stream","img":null,"description":"实时交互流式数字人项目"},{"name":"image-matting","url":"https://github.com/pangxiaobin/image-matting","img":"/img/image-matting.png","description":"本地桌面AI抠图软件"},{"name":"Deep Live Cam","url":"https://deeplive.cam/zh","img":"/img/deeplive.ico","description":"只需一张图片,就可实现视频的人脸替换"},{"name":"Linly-Dubbing","url":"https://github.com/Kedreamix/Linly-Dubbing","img":"/img/Linly-Dubbing.jfif","description":"AI 视频配音的开源工具,自动将外语视频改成中文配音"},{"name":"HivisionIDPhotos","url":"https://github.com/Zeyi-Lin/HivisionIDPhotos","img":"/img/HivisionIDPhotos.jpeg","description":"一个轻量级的AI证件照制作算法"},{"name":"facefusion","url":"https://github.com/facefusion/facefusion","img":"/img/facefusion.jfif","description":"AI 换脸工具"}]},{"_id":"AI-大语言模型","data":[{"name":"bilibot","url":"https://github.com/linyiLYi/bilibot","img":"/img/bilibot.jfif","description":"由哔哩哔哩用户评论微调训练而成的本地聊天机器人"},{"name":"ChatGLM3","url":"https://github.com/THUDM/ChatGLM3","img":"/img/ChatGLM3.png","description":"开源双语对话语言模型,智谱AI和清华大学 KEG 实验室联合发布"},{"name":"GLM-4","url":"https://github.com/THUDM/GLM-4","img":"/img/GLM-4.png","description":"开源多语言多模态对话模型,智谱 AI 推出"},{"name":"Ask Many AI","url":"https://www.askmanyai.cn/","img":"/img/askmanyai.ico","description":"同时向多种模型提问"},{"name":"petercat","url":"https://github.com/petercat-ai/petercat","img":"/img/petercat.png","description":"为自己的 GitHub 仓库一键创建智能答疑机器人"}]},{"_id":"VSCode-others","data":[{"name":"aide","url":"https://github.com/nicepkg/aide","img":"/img/aide.svg","description":"在 VSCode 中征服任何代码:一键注释、转换、UI 图生成代码、AI 批量处理文件"},{"name":"GitLens","url":"https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens","img":"/img/GitLens.png","description":"在 VS Code 中增强 Git"},{"name":"Easy CodeSnap","url":"https://marketplace.visualstudio.com/items?itemName=ArthurLobo.easy-codesnap","img":"/img/easy-codesnap.png","description":"生成美观的代码截图"},{"name":"TODO Highlight","url":"https://marketplace.visualstudio.com/items?itemName=wayou.vscode-todo-highlight","img":"/img/todo-highlight.png","description":"高亮 TODO、FIXME 等关键词,注视"}]},{"_id":"VSCode-前端","data":[{"name":"Vue 3 Snippets","url":"https://marketplace.visualstudio.com/items?itemName=hollowtree.vue-snippets","img":"/img/Vue3Snippets.jfif","description":"Vue.js 3 和 Vue.js 2 代码片段扩展"},{"name":"Vue - Official","url":"https://marketplace.visualstudio.com/items?itemName=Vue.volar","img":"/img/Vue-Official.png","description":"Vue 代码补全和检查"},{"name":"JavaScript Debugger","url":"https://marketplace.visualstudio.com/items?itemName=ms-vscode.js-debug","img":"/img/JavaScriptDebugger.png","description":"将断点映射到浏览器中"},{"name":"Live Server","url":"https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer","img":"/img/LiveServer.png","description":"启动一个本地 WEB 服务器"},{"name":"CSS Peek","url":"https://marketplace.visualstudio.com/items?itemName=pranaygp.vscode-css-peek","img":"/img/CSSPeek.png","description":"根据 css 类和 id 定位到对应的文件中"},{"name":"Console Ninja","url":"https://marketplace.visualstudio.com/items?itemName=WallabyJs.console-ninja","img":"/img/console-ninja.png","description":"将 console.log 的打印显示在代码右侧"}]},{"_id":"blogs","data":[{"name":"酷壳 – CoolShell.cn","url":"https://coolshell.cn/","img":"/img/CoolShell.png","description":"纪念陈皓"},{"name":"阮一峰的个人网站","url":"https://www.ruanyifeng.com/","img":"/img/ruanyifeng.ico","description":"阮一峰的个人网站 - Ruan YiFeng's Personal Website"},{"name":"电脑星人","url":"https://imkero.net/","img":"/img/电脑星人.jpg","description":"让此刻不会老"}]},{"_id":"前端-工具","data":[{"name":"CSS可视化","url":"https://css.bqrdh.com/","img":"/img/css.ico","description":"CSS可视化"},{"name":"CSS灵感","url":"https://csscoco.com/inspiration/#/","img":"/img/css-inspiration.png","description":"可以让你寻找到使用或者是学习 CSS 的灵感"},{"name":"iCSS","url":"https://github.com/chokcoco/iCSS","img":"/img/iCSS.jpg","description":"围绕 CSS/Web动画 展开,谈一些有趣的话题"},{"name":"icons8","url":"https://icons8.com/","img":"/img/icons8.svg","description":"免费图标工具"},{"name":"fontright","url":"https://js.design/fontright?source=OMG&plan=bz","img":"/img/fontright.ico","description":"字体版权工具"},{"name":"HTML5 UP","url":"https://html5up.net/","img":"/img/html5up.ico","description":"大量好看的免费 HTML 模板"},{"name":"ConvertFast UI","url":"https://ui.convertfa.st/","img":null,"description":"一个快速生成落地页的工具,可以选择落地页的常见模块"},{"name":"favicon.im","url":"https://favicon.im/","img":"/img/favicon.im.png","description":"下载或在网页中插入其他网站的 Favicon 图片,可以放大显示"},{"name":"Porn Logo Maker","url":"https://porn-logo.com/","img":"/img/porn-logo.png","description":"定制拼色 Logo 的在线工具"},{"name":"Penpot","url":"https://penpot.app/","img":"/img/penpot.ico","description":"一个基于 Web 的开源设计工具,Figma 的替代品"},{"name":"jsongenerator","url":"https://www.jsongenerator.io/","img":"/img/jsongenerator.ico","description":"生成符合要求的 Json 伪数据"},{"name":"JSON For You","url":"https://github.com/loggerhead/json4u/","img":"/img/json4u.svg","description":"开源的 JSON 数据的在线可视化、处理工具"}]},{"_id":"前端-Javascript库","data":[{"name":"anti-baidu","url":"https://github.com/lurongkai/anti-baidu","img":"/img/anti-baidu.jpg","description":"如果有人通过百度搜索访问您的网站,就会弹出一个反百度对话框"},{"name":"Toastr","url":"https://github.com/CodeSeven/toastr","img":null,"description":"简单的 javascript Toast 通知"},{"name":"Swiper","url":"https://www.swiper.com.cn/","img":"/img/Swiper.ico","description":"目前应用较广泛的移动端网页触摸内容滑动js插件"},{"name":"tesseract.js","url":"https://github.com/naptha/tesseract.js","img":"/img/tesseract.js.png","description":"适用于 100 多种语言的纯 Javascript OCR"},{"name":"nsfwjs","url":"https://github.com/infinitered/nsfwjs","img":"/img/nsfwjs.jpg","description":"鉴黄JS"},{"name":"driver.js","url":"https://github.com/kamranahmedse/driver.js","img":"/img/driver.js.svg","description":"精美,轻量的用户引导JS"},{"name":"quicklink","url":"https://github.com/GoogleChromeLabs/quicklink","img":"/img/quicklink.png","description":"在空闲时间预加载视口内链接,会增加带宽负担"},{"name":"Text Search Engine","url":"https://github.com/cjinhuo/text-search-engine","img":"/img/Text Search Engine.png.jfif","description":"模糊搜索库,具有中文拼音的模糊搜索等多种功能"},{"name":"fakeCAPTCHA","url":"https://github.com/fucklinux/fakeCAPTCHA","img":"/img/Text Search Engine.png.jfif","description":"假的人机验证组件,可自定义显示内容"}]},{"_id":"图片设计","data":[{"name":"Canva - 可画 🔥","url":"https://www.canva.cn/","img":"https://static.canva.cn/static/images/favicon.ico","description":"封面制作网站"},{"name":"Figma 🔥","url":"https://www.figma.com/","img":"https://static.figma.com/app/icon/1/favicon.png","description":"软件原型设计网站"},{"name":"爱设计","url":"https://www.isheji.com/","img":"https://www.isheji.com/isheji_favicon.ico","description":"在线封面设计神器"},{"name":"Photopea 🔥","url":"https://www.photopea.com/","img":"https://www.photopea.com/promo/icon512.png","description":"网页版PhotoShop"},{"name":"Brandmark","url":"https://app.brandmark.io/v3/","img":"https://app.brandmark.io/favicon32.gif","description":"Logo制作网站"},{"name":"绘图 Diagram","url":"https://app.diagrams.net","img":"https://app.diagrams.net/favicon.ico","description":"在线绘图网站"},{"name":"ProcessOn","url":"https://www.processon.com/","img":"https://www.processon.com/favicon.ico","description":"免费在线作图,思维导图,流程图,实时协作"},{"name":"Bilibili封面提取","url":"https://bilicover.magecorn.com/","img":"https://www.bilibili.com/favicon.ico","description":"通过输入B站视频链接即可在线获取封面地址"},{"name":"Xnapper Studio","url":"https://xnapper.com/app","img":"/img/Xnapper-Studio.ico","description":"截图美化工具"}]},{"_id":"工具-其它","data":[{"name":"BewlyBewly","url":"https://github.com/hakadao/BewlyBewly/","img":"/img/BewlyBewly.png","description":"重新设计 BiliBili 用户界面来提升用户体验"},{"name":"terminal","url":"https://github.com/microsoft/terminal","img":"/img/terminal.png","description":"好看且好用的终端,微软出品"},{"name":"DistroSea","url":"https://distrosea.com/","img":"/img/DistroSea.ico","description":"在线试用各种 Linux 发行版,它会分配一个虚拟机,浏览器里连接桌面"},{"name":"错别字检测","url":"http://www.biezi.com/","img":"/img/biezi.png","description":"为文章检查错别字"},{"name":"特殊英文字体生成器","url":"https://www.jiuwa.net/ywzm/","img":"/img/jiuwa.png","description":"可用在一些社交平台的昵称和简介里"},{"name":"RTranslator","url":"https://github.com/niedev/RTranslator","img":"/img/RTranslator.png","description":"在本地运行的适用于 Android 的开源实时翻译应用程序"},{"name":"xiaoju-survey","url":"https://github.com/didi/xiaoju-survey","img":"/img/xiaoju-survey.jpg","description":"提供企业级调研服务,「快速」打造「专属」问卷系统, 让调研「更轻松」"},{"name":"ncmdump","url":"https://github.com/taurusxin/ncmdump","img":"/img/ncmdump.png","description":"转换网易云音乐 ncm 到 mp3 / flac"},{"name":"EasySpider","url":"https://github.com/NaiboWang/EasySpider","img":"/img/EasySpider.jfif","description":"一个可视化浏览器自动化测试/数据采集/爬虫软件"},{"name":"FluentRead","url":"https://github.com/Bistutu/FluentRead","img":"/img/FluentRead.jfif","description":"拥有基于上下文语境的人工智能翻译引擎,为网站提供更加友好的翻译,让所有人都能够拥有基于母语般的阅读体验"},{"name":"my-tv","url":"https://github.com/lizongying/my-tv","img":"/img/my-tv.jfif","description":"电视直播软件,安装即可使用"},{"name":"EarTrumpet","url":"https://github.com/File-New-Project/EarTrumpet","img":"/img/EarTrumpet.png","description":"在 Windows 上调整每个应用的音量"},{"name":"Fluent Reader","url":"https://github.com/yang991178/fluent-reader","img":"/img/fluent-reader.png","description":"现代桌面 RSS 阅读器"},{"name":"域名百科","url":"https://dotwiki.com/","img":"/img/dotwiki.ico","description":"域名百科"},{"name":"哪煮米","url":"https://www.nazhumi.com/","img":"/img/哪煮米.ico","description":"全网域名,一站比价"},{"name":"cobalt","url":"https://github.com/imputnet/cobalt","img":"/img/cobalt.png","description":"音视频资源下载器,支持国内外几乎所有网站"},{"name":"SQLYNX","url":"https://www.sqlynx.com/","img":"/img/SQLYNX.svg","description":"WEB 和桌面 SQL 编辑器"},{"name":"KasmVNC","url":"https://github.com/kasmtech/KasmVNC","img":"/img/KasmVNC.jpg","description":"一个远程桌面的 VNC 软件,不需要客户端,只要服务器安装后,就可以通过浏览器访问"},{"name":"openalternative","url":"https://openalternative.co/","img":"/img/openalternative.ico","description":"查询软件的开源平替"},{"name":"alternativeto","url":"https://alternativeto.net/","img":"/img/alternativeto.ico","description":"查询软件的替代品,与上一个类似"},{"name":"mikufans录播姬","url":"https://github.com/BililiveRecorder/BililiveRecorder","img":"/img/BililiveRecorder.png","description":"录播姬 | mikufans 生放送录制"},{"name":"biliup","url":"https://github.com/biliup/biliup","img":null,"description":"全自动录播、直播录制、分p投稿工具,支持twitch、ytb频道搬运"},{"name":"Ente Auth","url":"https://ente.io/auth/","img":"/img/ente.png","description":"一个开源的双因素认证码管理器"},{"name":"图片盲水印查看器","url":"http://www.atoolbox.net/Tool.php?Id=1052","img":"/img/atoolbox.png","description":"查看图片各通道的最低位(LSB)信息"},{"name":"screen studio","url":"https://www.screen.studio/","img":"/img/www.screen.png","description":"录制演示录屏工具(Mac)"},{"name":"Focusee","url":"https://gemoo.com/focusee/","img":"/img/gemoo.ico","description":"录制演示录屏工具(Win)"},{"name":"MinerU","url":"https://github.com/opendatalab/MinerU","img":"/img/MinerU-logo.png","description":"强大的数据提取工具,将PDF,DOC等格式转换为Markdown"},{"name":"B站空降助手","url":"https://github.com/hanydd/BilibiliSponsorBlock","img":"/img/LogoSponsorBlocker256px.png","description":"一款跳过B站视频中恰饭片段的浏览器插件"},{"name":"DawnLauncher","url":"https://github.com/fanchenio/DawnLauncher","img":null,"description":"Windows快捷启动工具,帮助您整理杂乱无章的桌面,分门别类管理您的桌面快捷方式,让您的桌面保持干净整洁"},{"name":"omnivore","url":"https://github.com/omnivore-app/omnivore","img":"/img/omnivore.png","description":"一个稍后阅读文章工具"},{"name":"Inbox Zero","url":"https://github.com/elie222/inbox-zero","img":null,"description":"借助AI整理收件箱 保持零邮件"},{"name":"screenshot-to-code","url":"https://github.com/liseami/screenshot-to-code","img":null,"description":"一个简单的工具,可使用 AI 将屏幕截图、模型和 Figma 设计转换为干净、实用的代码。现在支持 Claude Sonnet 3.5 和 GPT-4o"}]},{"_id":"工具-素材","data":[{"name":"影视飓风","url":"https://www.ysjf.com/materialLibrary","img":"/img/影视飓风.png","description":"影视飓风拍摄的大量可免费商用素材"},{"name":"Video file compressor","url":"https://tools.rotato.app/compress","img":null,"description":"强大的视频压缩工具"}]},{"_id":"工具-设计","data":[{"name":"Squoosh","url":"https://github.com/GoogleChromeLabs/squoosh","img":"/img/squoosh.webp","description":"直接在浏览器中使用一流的编解码器缩小图像,Google出品"},{"name":"screenshot.rocks","url":"https://screenshot.rocks/","img":"/img/screenshot.rocks.ico","description":"一个在线工具,可以为网页截图加上浏览器边框"},{"name":"HTML👉JADE/PUG","url":"http://html2jade.org/","img":"/img/HTML👉JADEPUG.ico","description":"HTML👉JADE/PUG 实时在线转换网站"},{"name":"I❤️IMG","url":"https://www.iloveimg.com/zh-cn","img":"/img/I❤️IMG.png","description":"免费批量编辑图片工具(包括透明图片裁剪)"},{"name":"iconfont-阿里巴巴矢量图标库","url":"https://www.iconfont.cn/","img":"/img/iconfont.png","description":"阿里巴巴矢量图标库"},{"name":"Billfish素材管家","url":"https://www.billfish.cn/","img":"/img/Billfish.ico","description":"专为设计师打造的图片素材管理工具,所有功能全部免费"},{"name":"全球酷站","url":"https://matrixflip.com/discoveries/page/1","img":"/img/全球酷站.png","description":"收录了大量设计惊艳的网站"}]},{"_id":"文章","data":[{"name":"中国网络防火长城简史","url":"https://blog.tsingjyujing.com/spam/gfw-history","img":"/img/中国网络防火长城简史.avif","description":"中国网络防火长城简史"},{"name":"科技爱好者周刊","url":"https://github.com/ruanyf/weekly","img":"/img/科技爱好者周刊.jfif","description":"科技爱好者周刊,每周五发布"},{"name":"纪念陈皓(左耳朵耗子)","url":"https://www.cnblogs.com/Solstice/p/haoel.html","img":"/img/纪念陈皓(左耳朵耗子).webp","description":"纪念陈皓(左耳朵耗子)"},{"name":"戒鸡瘾的办法","url":"https://www.nodeseek.com/post-113191-1","img":null,"description":"pve快速配置IPv6+nat教程 && Lxc评测脚本发布,评测宿主机系统"},{"name":"quicklink:实现原理与给前端的启发","url":"https://www.jianshu.com/p/7dc94efe7e2e","img":null,"description":"【性能优化】quicklink:实现原理与给前端的启发"},{"name":"秒开的艺术:Hexo 博客首屏耗时优化实践","url":"https://imkero.net/posts/hexo-page-performance/","img":null,"description":"秒开的艺术:Hexo 博客首屏耗时优化实践"}]},{"_id":"无人机","data":[{"name":"SBDJI","url":"https://sbdji.cc/","img":"/img/SBDJI.ico","description":"全球无人机资讯汇总"},{"name":"天空之城","url":"https://www.skypixel.com/","img":"/img/天空之城.png","description":"小偷模拟器,获取各景点保安的详细活动轨迹和性格"},{"name":"民用无人驾驶航空器综合管理平台","url":"https://uom.caac.gov.cn/","img":"/img/uom.png","description":"国家无人驾驶航空器一体化综合监管服务平台(民用无人驾驶航空器综合管理平台)"}]},{"_id":"linux","data":[{"name":"星火应用商店","url":"https://www.spark-app.store/","img":"/img/spark-app.ico","description":"专注Linux应用适配的应用商店"},{"name":"网易云音乐-linux","url":"https://d1.music.126.net/dmusic/netease-cloud-music_1.2.1_amd64_ubuntu_20190428.deb","img":"/img/163music.ico","description":"Linux 版本的网易云音乐,2019年与 Deepin 联合开发,已停更"},{"name":"logiops","url":"https://github.com/PixlOne/logiops","img":"/img/logiops.png","description":"适用于 HID++ Logitech 设备的非官方用户空间驱动程序"}]},{"_id":"有趣的开源项目","data":[{"name":"telegraph","url":"https://github.com/0-RTT/telegraph","img":"/img/telegraph.jfif","description":"基于telegraph的图床,图片大于5MB自动压缩"},{"name":"newredlens","url":"https://github.com/CQUPTMirror/newredlens","img":"/img/newredlens.png","description":"好看的开源软件镜像站前端"},{"name":"LookingGlass","url":"https://github.com/telephone/LookingGlass","img":"/img/LookingGlass.jfif","description":"适合云服务商展示服务器线路的PHP项目"},{"name":"Page Replica","url":"https://github.com/Page-Replica/page-replica","img":"/img/page-replica.png","description":"架设一个缓存网站,可以抓取其他网站和网页,建立一个缓存版本,通过它来中介访问"},{"name":"DirectoryLister","url":"https://github.com/DirectoryLister/DirectoryLister","img":"/img/DirectoryLister.png","description":"一个Web文件浏览器,功能极其丰富"},{"name":"AntiZhaPian","url":"https://github.com/XJP-GIT/AntiZhaPian","img":"/img/AntiZhaPian.jpg","description":"假的国家反诈中心"},{"name":"shit-url","url":"https://llili.li/","img":"/img/shit-url.png","description":"屑链生成,最屑的短链接生成站"},{"name":"BroadcastChannel","url":"https://github.com/ccbikai/BroadcastChannel","img":"/img/BroadcastChannel.png","description":"把你的Telegram频道变成一个微博,无需服务器"},{"name":"debian-media-box","url":"https://github.com/moesoha/debian-media-box","img":"/img/debian-media-box.png","description":"“Debian 小药盒”,一个用来包装 Debian 安装介质的盒子设计和介绍用的说明书。"},{"name":"OpenGFW","url":"https://github.com/apernet/OpenGFW","img":"/img/OpenGFW.png","description":"可以部署在家用路由器上的网络主权 - 你也能是老大哥"},{"name":"heyform","url":"https://github.com/heyform/heyform","img":"/img/heyform.jfif","description":"一个开源表单构建器,允许任何人为调查、问卷、测验和民意调查创建引人入胜的对话表单"},{"name":"Minecraft-Server-Ports-Scanner-GUI","url":"https://github.com/hite4044/Minecraft-Server-Ports-Scanner-GUI","img":"/img/Minecraft-Server-Ports-Scanner-GUI.png","description":"扫描服务器上所有的MC服务器,并使用GUI显示几乎所有信息"},{"name":"ente","url":"https://github.com/ente-io/ente","img":"/img/ente.png","description":"完全开源,端到端加密的Google照片和Apple Photos替代品"},{"name":"文件快递柜","url":"https://github.com/vastsa/FileCodeBox","img":"/img/FileCodeBox.png","description":"匿名口令分享文本,文件,像拿快递一样取文件"},{"name":"Docker-OSX","url":"https://github.com/sickcodes/Docker-OSX","img":"/img/Docker-OSX.png","description":"快速使用 Docker 启动一个 MacOS"},{"name":"devzat","url":"https://github.com/quackduck/devzat","img":"/img/devzat.png","description":"程序员专属 SSH 聊天室"},{"name":"synctv","url":"https://github.com/synctv-org/synctv","img":"/img/synctv.png","description":"一个可以远程一起看电影/直播的程序,目前存在严重的xss注入漏洞"},{"name":"inter-knot","url":"https://github.com/share121/inter-knot","img":"/img/inter-knot.svg","description":"绳网"},{"name":"frp内网穿透全端口映射方案","url":"https://github.com/bkywksj/frp","img":"/img/bkywksjfrp.jfif","description":"frp内网穿透全端口映射方案(支持ssh、http、https)"},{"name":"frpc-desktop","url":"https://github.com/luckjiawei/frpc-desktop","img":"/img/frpc-desktop.png","description":"一个frpc桌面客户端"},{"name":"AsmBB","url":"https://asmbb.org/","img":"/img/asmbb.png","description":"一个使用汇编语言写的论坛应用,性能很强,对机器配置的要求很低"},{"name":"Coolify","url":"https://github.com/coollabsio/coolify","img":"/img/Coolify.png","description":"开源的应用运行平台,相当于自己搭建一个 Heroku / Netlify / Vercel 替代品,各种应用可以轻松在上面运行"},{"name":"Marsview","url":"https://github.com/JackySoft/marsview","img":"/img/Marsview.png","description":"一款面向后台的低代码可视化搭建平台,快速搭建中后台管理系统"},{"name":"Class-Widgets","url":"https://github.com/RinLit-233-shiroko/Class-Widgets","img":"/img/Class-Widgets.png","description":"提供了易用课程表编辑和美观的桌面组件"},{"name":"socialify","url":"https://github.com/wei/socialify","img":"/img/socialify.ico","description":"以图片展示 Github 项目的数据"},{"name":"WebChat","url":"https://github.com/molvqingtai/WebChat","img":"/img/WebChat.png","description":"一个去中心化、无服务器的匿名聊天浏览器扩展程序"},{"name":"IPTV电视直播源更新工具","url":"https://github.com/Guovin/TV","img":"/img/Guovin.tv.png","description":"自定义频道菜单,根据模板频道,自动获取并更新最新的直播源接口,测速校验后生成可用的接口文件"}]},{"_id":"编程","data":[{"name":"chinese-programmer-wrong-pronunciation","url":"https://github.com/shimohq/chinese-programmer-wrong-pronunciation","img":"/img/chinese-programmer-wrong-pronunciation.png","description":"中国程序员容易发音错误的单词"},{"name":"code-box","url":"https://github.com/027xiguapi/code-box","img":"/img/code-box.png","description":"用来解除 CSDN/知乎/脚本之家等网站的限制(比如要求登录)的开源的浏览器插件"},{"name":"菜鸟教程","url":"https://www.runoob.com/","img":"/img/runoob.ico","description":"供了编程的基础技术教程, 介绍了HTML、CSS、Javascript、Python,Java,Ruby,C,PHP , MySQL等各种编程语言的基础知识。 同时本站中也提供了大量的在线实例,通过实例,您可以更好的学习编程"},{"name":"RegExr","url":"https://regexr.com/","img":"/img/RegExr.png","description":"学习,测试正则表达式"},{"name":"APISQL","url":"https://apisql.cn/","img":"/img/APISQL.ico","description":"轻松将内网数据库的增删改查,发布为外网可访问的HTTPS API"},{"name":"public-apis","url":"https://github.com/public-apis/public-apis","img":"/img/public-apis.png","description":"收集了大量公开API,有好用的,也有好玩的"}]},{"_id":"网络","data":[{"name":"local-ISPs-to-CN","url":"https://github.com/sjlleo/local-ISPs-to-CN/blob/cd760ca23cc9d1e4981af8993ab42a67885cc2f6/report_zh_CN.md","img":"/img/local-ISPs-to-CN.jfif","description":"国内/国际互联线路知识"},{"name":"ZBProxy","url":"https://github.com/layou233/ZBProxy/","img":"/img/ZBProxy.png","description":"一个简单、快速、高性能的多用途 TCP 中继,主要为搭建 Hypixel 加速 IP 而开发。"},{"name":"China Internationally-connected","url":"https://github.com/china-net/Internationally-connected","img":"/img/China-Internationally-connected.png","description":"中国的国际网络互联状态介绍"}]},{"_id":"好玩的东西","data":[{"name":"AI 嘴替","url":"https://zuiti.app/","img":"/img/zuiti.png","description":"对指定的微博用户进行人格分析"},{"name":"similar-websites","url":"https://sitechecker.pro/similar-websites/","img":"/img/sitechecker.ico","description":"查找相似的网站"},{"name":"saucenao.com","url":"https://saucenao.com/","img":"/img/saucenao.ico","description":"强大的以图搜图,尤其是 pixiv 上的图片"},{"name":"退休计算器","url":"https://daojishi.fun/","img":"/img/退休计算器.ico","description":"退休计算器,人生找乐子"}]},{"_id":"运维","data":[{"name":"Ban-Hacker-IP-Plan","url":"https://github.com/Aabyss-Team/Ban-Hacker-IP-Plan","img":"/img/Ban-Hacker-IP-Plan.jfif","description":"国内恶意IP封禁计划,还赛博空间一片朗朗乾坤"},{"name":"LinuxMirors","url":"https://linuxmirrors.cn/","img":"/img/LinuxMirors.png","description":"GNU/Linux 更换系统软件源脚本及 Docker 安装脚本"},{"name":"lxc-toolkit","url":"https://github.com/no-passwd/lxc-toolkit","img":null,"description":"lxc系统检测工具,用于获取lxc宿主信息"},{"name":"docker_image_pusher","url":"https://github.com/tech-shrimp/docker_image_pusher","img":"/img/docker_image_pusher.png","description":"使用Github Action将国外的Docker镜像转存到阿里云私有仓库,供国内服务器使用,免费易用"},{"name":"fscan","url":"https://github.com/shadow1ng/fscan","img":"/img/fscan.jfif","description":"一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描"},{"name":"vscan","url":"https://github.com/veo/vscan","img":"/img/vscan.gif","description":"网站漏洞扫描工具,帮助您快速检测网站安全隐患"},{"name":"china-operator-ip","url":"https://github.com/gaoyifan/china-operator-ip","img":"/img/china-operator-ip.jfif","description":"中国运营商IPv4/IPv6地址库-每日更新"},{"name":"1Panel","url":"https://github.com/1Panel-dev/1Panel","img":"/img/1Panel.jfif","description":"现代化、开源的 Linux 服务器运维管理面板"},{"name":"ddns-go","url":"https://github.com/jeessy2/ddns-go","img":"/img/ddns-go.jfif","description":"简单易用的DDNS"},{"name":"electerm","url":"https://github.com/electerm/electerm","img":"/img/electerm.png","description":"开源终端/ssh/telnet/serialport/RDP/VNC/sftp客户端"},{"name":"xterminal","url":"https://www.xterminal.cn/","img":"/img/xterminal.svg","description":"不仅是强大的SSH工具,更提供本地控制台"},{"name":"MegaEase","url":"https://megaease.cn/","img":"/img/MegaEase.png","description":"开源、自主可控、低成本、高可用 Cloud Native 平台"},{"name":"NETworkManager","url":"https://github.com/BornToBeRoot/NETworkManager","img":"/img/NETworkManager.svg","description":"开源的强大网管工具"},{"name":"Nmap","url":"https://github.com/nmap/nmap","img":"/img/Nmap.png","description":"网络扫描神器"},{"name":"hackingtool","url":"https://github.com/Z4nzu/hackingtool","img":"/img/hackingtool.png","description":"融合了各类漏洞扫描和攻击工具"},{"name":"InternetTest Pro","url":"https://github.com/Leo-Corporation/InternetTest","img":"/img/InternetTest Pro.png","description":"一款Windows连接工具,功能强大"},{"name":"pvetools","url":"https://github.com/ivanhao/pvetools","img":"/img/pvetools.webp","description":"Proxmox VE Tools 脚本(Debian 9+ 可以使用)。包括电子邮件、samba、NFS set zfs max ram、嵌套虚拟化、docker、pci passthrough等"},{"name":"cloud_dns_exporter","url":"https://github.com/eryajf/cloud_dns_exporter","img":null,"description":"自动获取DNS提供商的域名及解析列表,同时自动获取每个域名解析的证书信息,并导出为Prometheus Metrics。"}]},{"_id":"视图文素材","data":[{"name":"阿里巴巴矢量图标库 iconfont 🔥","url":"https://www.iconfont.cn/","img":"https://img.alicdn.com/imgextra/i2/O1CN01ZyAlrn1MwaMhqz36G_!!6000000001499-73-tps-64-64.ico","description":"国内功能很强大且图标内容很丰富的矢量图标库"},{"name":"OfficePLUS 🔥","url":"https://www.officeplus.cn/","img":"https://fe.officeplus.cn/favicon.ico","description":"微软官方Office免费模板服务平台"},{"name":"优品 PPT","url":"https://www.ypppt.com/","img":"https://cdn.jsdelivr.net/npm/hassan-assets/navi/alphabet/Letter_Y.png","description":"一个有情怀的免费PPT模板下载网站!"},{"name":"Wallpaper ABYSS","url":"https://wall.alphacoders.com","img":"https://wall.alphacoders.com/favicon.ico","description":"壁纸的聚集地"},{"name":"Pexels","url":"https://www.pexels.com/","img":"https://www.pexels.com/favicon.ico","description":"才华横溢的摄影作者在这里免费分享最精彩的素材图片和视频"},{"name":"Font Awesome","url":"https://fontawesome.dashgame.com/","img":"https://cdn.jsdelivr.net/npm/hassan-assets/navi/logos/Font_Awesome.png","description":"一套绝佳的图标字体库和CSS框架"},{"name":"鸠摩搜索 Jiumo Search","url":"https://www.jiumodiary.com/","img":"https://www.jiumodiary.com/images/favicon.png","description":"免费书籍下载"},{"name":"LoreFree 电子书","url":"https://ebook2.lorefree.com/","img":"https://ebook2.lorefree.com/favicon.ico","description":"免费电子书共享社区"},{"name":"LoreFree 学术文库","url":"http://paper.lorefree.com/","img":"https://ebook2.lorefree.com/favicon.ico","description":"学术共享,资源共建,让知识自由传播"},{"name":"第一字体转换器","url":"http://www.diyiziti.com/","img":"http://www.diyiziti.com/favicon.ico","description":"字体转换器在线转换,艺术字体在线生成器"},{"name":"字体家","url":"https://www.zitijia.com/","img":"https://www.zitijia.com/static/img/favicon.ico","description":"一家开发书法字体网站,内含正版付费、免费字体下载,另有字体在线转换程序"}]}],"Page":[],"Post":[{"title":"Hello World","_content":"Welcome to [Hexo](https://hexo.io/)! This is your very first post. Check [documentation](https://hexo.io/docs/) for more info. If you get any problems when using Hexo, you can find the answer in [troubleshooting](https://hexo.io/docs/troubleshooting.html) or you can ask me on [GitHub](https://github.com/hexojs/hexo/issues).\n\n## Quick Start\n\n### Create a new post\n\n``` bash\n$ hexo new \"My New Post\"\n```\n\nMore info: [Writing](https://hexo.io/docs/writing.html)\n\n### Run server\n\n``` bash\n$ hexo server\n```\n\nMore info: [Server](https://hexo.io/docs/server.html)\n\n### Generate static files\n\n``` bash\n$ hexo generate\n```\n\nMore info: [Generating](https://hexo.io/docs/generating.html)\n\n### Deploy to remote sites\n\n``` bash\n$ hexo deploy\n```\n\nMore info: [Deployment](https://hexo.io/docs/one-command-deployment.html)\n","source":"_posts/hello-world.md","raw":"---\ntitle: Hello World\n---\nWelcome to [Hexo](https://hexo.io/)! This is your very first post. Check [documentation](https://hexo.io/docs/) for more info. If you get any problems when using Hexo, you can find the answer in [troubleshooting](https://hexo.io/docs/troubleshooting.html) or you can ask me on [GitHub](https://github.com/hexojs/hexo/issues).\n\n## Quick Start\n\n### Create a new post\n\n``` bash\n$ hexo new \"My New Post\"\n```\n\nMore info: [Writing](https://hexo.io/docs/writing.html)\n\n### Run server\n\n``` bash\n$ hexo server\n```\n\nMore info: [Server](https://hexo.io/docs/server.html)\n\n### Generate static files\n\n``` bash\n$ hexo generate\n```\n\nMore info: [Generating](https://hexo.io/docs/generating.html)\n\n### Deploy to remote sites\n\n``` bash\n$ hexo deploy\n```\n\nMore info: [Deployment](https://hexo.io/docs/one-command-deployment.html)\n","slug":"hello-world","published":1,"date":"2024-10-03T07:37:00.171Z","updated":"2024-10-03T07:37:00.171Z","comments":1,"layout":"post","photos":[],"link":"","_id":"cm2zs0v4d0000zkubcjq2881l","content":"
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
\n1 | $ hexo new "My New Post" |
More info: Writing
\n1 | $ hexo server |
More info: Server
\n1 | $ hexo generate |
More info: Generating
\n1 | $ hexo deploy |
More info: Deployment
\n","site":{"data":{"AI-ASR":[{"name":"CapsWriter","url":"https://github.com/HaujetZhao/CapsWriter","img":"/img/CapsWriter.ico","description":"一款电脑语音输入工具,也可以用来添加字幕"}],"AI-其它":[{"name":"MemFree","url":"https://github.com/memfreeme/memfree","img":"/img/MemFree.png","description":"一个混合 AI 搜索引擎,代码开源,可以自托管"},{"name":"数字生命","url":"https://github.com/zixiiu/Digital_Life_Server","img":"/img/Digital_Life_Server.jfif","description":"极客湾的数字生命项目"},{"name":"firecrawl","url":"https://github.com/mendableai/firecrawl","img":"/img/firecrawl.png","description":"将网站自动转换为LLM数据"},{"name":"Real-time-translation-typing","url":"https://github.com/sxzxs/Real-time-translation-typing","img":"/img/Real-time-translation-typing.png","description":"实时打字翻译助手"},{"name":"RefAudioEmoTagger","url":"https://github.com/Alexw1111/RefAudioEmoTagger","img":"/img/RefAudioEmoTagger.jfif","description":"一种基于Emotion2Vec的批量音频情感自动标注脚本"},{"name":"Crawl4AI","url":"https://github.com/unclecode/crawl4ai","img":"/img/RefAudioEmoTagger.jfif","description":"开源AI网络爬虫工具,可以直接用于大语言模型和AI应用。性能快,还能输出适合大语言模型的格式,比如JSON、清理过的HTML和markdown。它还支持同时爬取多个网址,能提取所有媒体标签(图片、音频、视频),以及所有内外部链接。可以自定义用户代理,还能给网页截图,甚至在爬取之前执行自定义JavaScript。"}],"AI-TTS":[{"name":"ChatTTS","url":"https://github.com/2noise/ChatTTS","img":"/img/ChatTTS.ico","description":"一款适用于日常对话的生成式语音模型"},{"name":"GPT-SoVITS","url":"https://github.com/RVC-Boss/GPT-SoVITS","img":null,"description":"强大的少样本语音转换与语音合成Web用户界面"},{"name":"Bert-VITS2","url":"https://github.com/2noise/ChatTTS","img":"/img/Bert-VITS2.png","description":"强大的开源TTS模型"}],"MacOS":[{"name":"NotchDrop","url":"https://github.com/Lakr233/NotchDrop/","img":"/img/NotchDrop.png","description":"将 MacBook 刘海变成一个文件传输和暂存区域"}],"AI-图像影音类":[{"name":"IC-Light","url":"https://github.com/lllyasviel/IC-Light","img":"/img/IC-Light.jfif","description":"为图像重新打光和更换背景"},{"name":"APISR","url":"https://github.com/Kiteretsu77/APISR","img":"/img/APISR.png","description":"开源的图像超分辨率模型"},{"name":"ComfyUI","url":"https://github.com/comfyanonymous/ComfyUI","img":"/img/ComfyUI.png","description":"一个强大的、模块化的 Stable Diffusion GUI,具有图形/节点界面"},{"name":"LivePortrait","url":"https://github.com/KwaiVGI/LivePortrait","img":"/img/LivePortrait.png","description":"控制图像的面部表情和动作"},{"name":"CogVideo","url":"https://github.com/THUDM/CogVideo","img":"/img/CogVideo.png","description":"质谱开源的文生视频模型"},{"name":"metahuman-stream","url":"https://github.com/lipku/metahuman-stream","img":null,"description":"实时交互流式数字人项目"},{"name":"image-matting","url":"https://github.com/pangxiaobin/image-matting","img":"/img/image-matting.png","description":"本地桌面AI抠图软件"},{"name":"Deep Live Cam","url":"https://deeplive.cam/zh","img":"/img/deeplive.ico","description":"只需一张图片,就可实现视频的人脸替换"},{"name":"Linly-Dubbing","url":"https://github.com/Kedreamix/Linly-Dubbing","img":"/img/Linly-Dubbing.jfif","description":"AI 视频配音的开源工具,自动将外语视频改成中文配音"},{"name":"HivisionIDPhotos","url":"https://github.com/Zeyi-Lin/HivisionIDPhotos","img":"/img/HivisionIDPhotos.jpeg","description":"一个轻量级的AI证件照制作算法"},{"name":"facefusion","url":"https://github.com/facefusion/facefusion","img":"/img/facefusion.jfif","description":"AI 换脸工具"}],"AI-大语言模型":[{"name":"bilibot","url":"https://github.com/linyiLYi/bilibot","img":"/img/bilibot.jfif","description":"由哔哩哔哩用户评论微调训练而成的本地聊天机器人"},{"name":"ChatGLM3","url":"https://github.com/THUDM/ChatGLM3","img":"/img/ChatGLM3.png","description":"开源双语对话语言模型,智谱AI和清华大学 KEG 实验室联合发布"},{"name":"GLM-4","url":"https://github.com/THUDM/GLM-4","img":"/img/GLM-4.png","description":"开源多语言多模态对话模型,智谱 AI 推出"},{"name":"Ask Many AI","url":"https://www.askmanyai.cn/","img":"/img/askmanyai.ico","description":"同时向多种模型提问"},{"name":"petercat","url":"https://github.com/petercat-ai/petercat","img":"/img/petercat.png","description":"为自己的 GitHub 仓库一键创建智能答疑机器人"}],"VSCode-others":[{"name":"aide","url":"https://github.com/nicepkg/aide","img":"/img/aide.svg","description":"在 VSCode 中征服任何代码:一键注释、转换、UI 图生成代码、AI 批量处理文件"},{"name":"GitLens","url":"https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens","img":"/img/GitLens.png","description":"在 VS Code 中增强 Git"},{"name":"Easy CodeSnap","url":"https://marketplace.visualstudio.com/items?itemName=ArthurLobo.easy-codesnap","img":"/img/easy-codesnap.png","description":"生成美观的代码截图"},{"name":"TODO Highlight","url":"https://marketplace.visualstudio.com/items?itemName=wayou.vscode-todo-highlight","img":"/img/todo-highlight.png","description":"高亮 TODO、FIXME 等关键词,注视"}],"VSCode-前端":[{"name":"Vue 3 Snippets","url":"https://marketplace.visualstudio.com/items?itemName=hollowtree.vue-snippets","img":"/img/Vue3Snippets.jfif","description":"Vue.js 3 和 Vue.js 2 代码片段扩展"},{"name":"Vue - Official","url":"https://marketplace.visualstudio.com/items?itemName=Vue.volar","img":"/img/Vue-Official.png","description":"Vue 代码补全和检查"},{"name":"JavaScript Debugger","url":"https://marketplace.visualstudio.com/items?itemName=ms-vscode.js-debug","img":"/img/JavaScriptDebugger.png","description":"将断点映射到浏览器中"},{"name":"Live Server","url":"https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer","img":"/img/LiveServer.png","description":"启动一个本地 WEB 服务器"},{"name":"CSS Peek","url":"https://marketplace.visualstudio.com/items?itemName=pranaygp.vscode-css-peek","img":"/img/CSSPeek.png","description":"根据 css 类和 id 定位到对应的文件中"},{"name":"Console Ninja","url":"https://marketplace.visualstudio.com/items?itemName=WallabyJs.console-ninja","img":"/img/console-ninja.png","description":"将 console.log 的打印显示在代码右侧"}],"blogs":[{"name":"酷壳 – CoolShell.cn","url":"https://coolshell.cn/","img":"/img/CoolShell.png","description":"纪念陈皓"},{"name":"阮一峰的个人网站","url":"https://www.ruanyifeng.com/","img":"/img/ruanyifeng.ico","description":"阮一峰的个人网站 - Ruan YiFeng's Personal Website"},{"name":"电脑星人","url":"https://imkero.net/","img":"/img/电脑星人.jpg","description":"让此刻不会老"}],"前端-工具":[{"name":"CSS可视化","url":"https://css.bqrdh.com/","img":"/img/css.ico","description":"CSS可视化"},{"name":"CSS灵感","url":"https://csscoco.com/inspiration/#/","img":"/img/css-inspiration.png","description":"可以让你寻找到使用或者是学习 CSS 的灵感"},{"name":"iCSS","url":"https://github.com/chokcoco/iCSS","img":"/img/iCSS.jpg","description":"围绕 CSS/Web动画 展开,谈一些有趣的话题"},{"name":"icons8","url":"https://icons8.com/","img":"/img/icons8.svg","description":"免费图标工具"},{"name":"fontright","url":"https://js.design/fontright?source=OMG&plan=bz","img":"/img/fontright.ico","description":"字体版权工具"},{"name":"HTML5 UP","url":"https://html5up.net/","img":"/img/html5up.ico","description":"大量好看的免费 HTML 模板"},{"name":"ConvertFast UI","url":"https://ui.convertfa.st/","img":null,"description":"一个快速生成落地页的工具,可以选择落地页的常见模块"},{"name":"favicon.im","url":"https://favicon.im/","img":"/img/favicon.im.png","description":"下载或在网页中插入其他网站的 Favicon 图片,可以放大显示"},{"name":"Porn Logo Maker","url":"https://porn-logo.com/","img":"/img/porn-logo.png","description":"定制拼色 Logo 的在线工具"},{"name":"Penpot","url":"https://penpot.app/","img":"/img/penpot.ico","description":"一个基于 Web 的开源设计工具,Figma 的替代品"},{"name":"jsongenerator","url":"https://www.jsongenerator.io/","img":"/img/jsongenerator.ico","description":"生成符合要求的 Json 伪数据"},{"name":"JSON For You","url":"https://github.com/loggerhead/json4u/","img":"/img/json4u.svg","description":"开源的 JSON 数据的在线可视化、处理工具"}],"前端-Javascript库":[{"name":"anti-baidu","url":"https://github.com/lurongkai/anti-baidu","img":"/img/anti-baidu.jpg","description":"如果有人通过百度搜索访问您的网站,就会弹出一个反百度对话框"},{"name":"Toastr","url":"https://github.com/CodeSeven/toastr","img":null,"description":"简单的 javascript Toast 通知"},{"name":"Swiper","url":"https://www.swiper.com.cn/","img":"/img/Swiper.ico","description":"目前应用较广泛的移动端网页触摸内容滑动js插件"},{"name":"tesseract.js","url":"https://github.com/naptha/tesseract.js","img":"/img/tesseract.js.png","description":"适用于 100 多种语言的纯 Javascript OCR"},{"name":"nsfwjs","url":"https://github.com/infinitered/nsfwjs","img":"/img/nsfwjs.jpg","description":"鉴黄JS"},{"name":"driver.js","url":"https://github.com/kamranahmedse/driver.js","img":"/img/driver.js.svg","description":"精美,轻量的用户引导JS"},{"name":"quicklink","url":"https://github.com/GoogleChromeLabs/quicklink","img":"/img/quicklink.png","description":"在空闲时间预加载视口内链接,会增加带宽负担"},{"name":"Text Search Engine","url":"https://github.com/cjinhuo/text-search-engine","img":"/img/Text Search Engine.png.jfif","description":"模糊搜索库,具有中文拼音的模糊搜索等多种功能"},{"name":"fakeCAPTCHA","url":"https://github.com/fucklinux/fakeCAPTCHA","img":"/img/Text Search Engine.png.jfif","description":"假的人机验证组件,可自定义显示内容"}],"图片设计":[{"name":"Canva - 可画 🔥","url":"https://www.canva.cn/","img":"https://static.canva.cn/static/images/favicon.ico","description":"封面制作网站"},{"name":"Figma 🔥","url":"https://www.figma.com/","img":"https://static.figma.com/app/icon/1/favicon.png","description":"软件原型设计网站"},{"name":"爱设计","url":"https://www.isheji.com/","img":"https://www.isheji.com/isheji_favicon.ico","description":"在线封面设计神器"},{"name":"Photopea 🔥","url":"https://www.photopea.com/","img":"https://www.photopea.com/promo/icon512.png","description":"网页版PhotoShop"},{"name":"Brandmark","url":"https://app.brandmark.io/v3/","img":"https://app.brandmark.io/favicon32.gif","description":"Logo制作网站"},{"name":"绘图 Diagram","url":"https://app.diagrams.net","img":"https://app.diagrams.net/favicon.ico","description":"在线绘图网站"},{"name":"ProcessOn","url":"https://www.processon.com/","img":"https://www.processon.com/favicon.ico","description":"免费在线作图,思维导图,流程图,实时协作"},{"name":"Bilibili封面提取","url":"https://bilicover.magecorn.com/","img":"https://www.bilibili.com/favicon.ico","description":"通过输入B站视频链接即可在线获取封面地址"},{"name":"Xnapper Studio","url":"https://xnapper.com/app","img":"/img/Xnapper-Studio.ico","description":"截图美化工具"}],"工具-其它":[{"name":"BewlyBewly","url":"https://github.com/hakadao/BewlyBewly/","img":"/img/BewlyBewly.png","description":"重新设计 BiliBili 用户界面来提升用户体验"},{"name":"terminal","url":"https://github.com/microsoft/terminal","img":"/img/terminal.png","description":"好看且好用的终端,微软出品"},{"name":"DistroSea","url":"https://distrosea.com/","img":"/img/DistroSea.ico","description":"在线试用各种 Linux 发行版,它会分配一个虚拟机,浏览器里连接桌面"},{"name":"错别字检测","url":"http://www.biezi.com/","img":"/img/biezi.png","description":"为文章检查错别字"},{"name":"特殊英文字体生成器","url":"https://www.jiuwa.net/ywzm/","img":"/img/jiuwa.png","description":"可用在一些社交平台的昵称和简介里"},{"name":"RTranslator","url":"https://github.com/niedev/RTranslator","img":"/img/RTranslator.png","description":"在本地运行的适用于 Android 的开源实时翻译应用程序"},{"name":"xiaoju-survey","url":"https://github.com/didi/xiaoju-survey","img":"/img/xiaoju-survey.jpg","description":"提供企业级调研服务,「快速」打造「专属」问卷系统, 让调研「更轻松」"},{"name":"ncmdump","url":"https://github.com/taurusxin/ncmdump","img":"/img/ncmdump.png","description":"转换网易云音乐 ncm 到 mp3 / flac"},{"name":"EasySpider","url":"https://github.com/NaiboWang/EasySpider","img":"/img/EasySpider.jfif","description":"一个可视化浏览器自动化测试/数据采集/爬虫软件"},{"name":"FluentRead","url":"https://github.com/Bistutu/FluentRead","img":"/img/FluentRead.jfif","description":"拥有基于上下文语境的人工智能翻译引擎,为网站提供更加友好的翻译,让所有人都能够拥有基于母语般的阅读体验"},{"name":"my-tv","url":"https://github.com/lizongying/my-tv","img":"/img/my-tv.jfif","description":"电视直播软件,安装即可使用"},{"name":"EarTrumpet","url":"https://github.com/File-New-Project/EarTrumpet","img":"/img/EarTrumpet.png","description":"在 Windows 上调整每个应用的音量"},{"name":"Fluent Reader","url":"https://github.com/yang991178/fluent-reader","img":"/img/fluent-reader.png","description":"现代桌面 RSS 阅读器"},{"name":"域名百科","url":"https://dotwiki.com/","img":"/img/dotwiki.ico","description":"域名百科"},{"name":"哪煮米","url":"https://www.nazhumi.com/","img":"/img/哪煮米.ico","description":"全网域名,一站比价"},{"name":"cobalt","url":"https://github.com/imputnet/cobalt","img":"/img/cobalt.png","description":"音视频资源下载器,支持国内外几乎所有网站"},{"name":"SQLYNX","url":"https://www.sqlynx.com/","img":"/img/SQLYNX.svg","description":"WEB 和桌面 SQL 编辑器"},{"name":"KasmVNC","url":"https://github.com/kasmtech/KasmVNC","img":"/img/KasmVNC.jpg","description":"一个远程桌面的 VNC 软件,不需要客户端,只要服务器安装后,就可以通过浏览器访问"},{"name":"openalternative","url":"https://openalternative.co/","img":"/img/openalternative.ico","description":"查询软件的开源平替"},{"name":"alternativeto","url":"https://alternativeto.net/","img":"/img/alternativeto.ico","description":"查询软件的替代品,与上一个类似"},{"name":"mikufans录播姬","url":"https://github.com/BililiveRecorder/BililiveRecorder","img":"/img/BililiveRecorder.png","description":"录播姬 | mikufans 生放送录制"},{"name":"biliup","url":"https://github.com/biliup/biliup","img":null,"description":"全自动录播、直播录制、分p投稿工具,支持twitch、ytb频道搬运"},{"name":"Ente Auth","url":"https://ente.io/auth/","img":"/img/ente.png","description":"一个开源的双因素认证码管理器"},{"name":"图片盲水印查看器","url":"http://www.atoolbox.net/Tool.php?Id=1052","img":"/img/atoolbox.png","description":"查看图片各通道的最低位(LSB)信息"},{"name":"screen studio","url":"https://www.screen.studio/","img":"/img/www.screen.png","description":"录制演示录屏工具(Mac)"},{"name":"Focusee","url":"https://gemoo.com/focusee/","img":"/img/gemoo.ico","description":"录制演示录屏工具(Win)"},{"name":"MinerU","url":"https://github.com/opendatalab/MinerU","img":"/img/MinerU-logo.png","description":"强大的数据提取工具,将PDF,DOC等格式转换为Markdown"},{"name":"B站空降助手","url":"https://github.com/hanydd/BilibiliSponsorBlock","img":"/img/LogoSponsorBlocker256px.png","description":"一款跳过B站视频中恰饭片段的浏览器插件"},{"name":"DawnLauncher","url":"https://github.com/fanchenio/DawnLauncher","img":null,"description":"Windows快捷启动工具,帮助您整理杂乱无章的桌面,分门别类管理您的桌面快捷方式,让您的桌面保持干净整洁"},{"name":"omnivore","url":"https://github.com/omnivore-app/omnivore","img":"/img/omnivore.png","description":"一个稍后阅读文章工具"}],"工具-素材":[{"name":"影视飓风","url":"https://www.ysjf.com/materialLibrary","img":"/img/影视飓风.png","description":"影视飓风拍摄的大量可免费商用素材"},{"name":"Video file compressor","url":"https://tools.rotato.app/compress","img":null,"description":"强大的视频压缩工具"}],"工具-设计":[{"name":"Squoosh","url":"https://github.com/GoogleChromeLabs/squoosh","img":"/img/squoosh.webp","description":"直接在浏览器中使用一流的编解码器缩小图像,Google出品"},{"name":"screenshot.rocks","url":"https://screenshot.rocks/","img":"/img/screenshot.rocks.ico","description":"一个在线工具,可以为网页截图加上浏览器边框"},{"name":"HTML👉JADE/PUG","url":"http://html2jade.org/","img":"/img/HTML👉JADEPUG.ico","description":"HTML👉JADE/PUG 实时在线转换网站"},{"name":"I❤️IMG","url":"https://www.iloveimg.com/zh-cn","img":"/img/I❤️IMG.png","description":"免费批量编辑图片工具(包括透明图片裁剪)"},{"name":"iconfont-阿里巴巴矢量图标库","url":"https://www.iconfont.cn/","img":"/img/iconfont.png","description":"阿里巴巴矢量图标库"},{"name":"Billfish素材管家","url":"https://www.billfish.cn/","img":"/img/Billfish.ico","description":"专为设计师打造的图片素材管理工具,所有功能全部免费"},{"name":"全球酷站","url":"https://matrixflip.com/discoveries/page/1","img":"/img/全球酷站.png","description":"收录了大量设计惊艳的网站"}],"文章":[{"name":"中国网络防火长城简史","url":"https://blog.tsingjyujing.com/spam/gfw-history","img":"/img/中国网络防火长城简史.avif","description":"中国网络防火长城简史"},{"name":"科技爱好者周刊","url":"https://github.com/ruanyf/weekly","img":"/img/科技爱好者周刊.jfif","description":"科技爱好者周刊,每周五发布"},{"name":"纪念陈皓(左耳朵耗子)","url":"https://www.cnblogs.com/Solstice/p/haoel.html","img":"/img/纪念陈皓(左耳朵耗子).webp","description":"纪念陈皓(左耳朵耗子)"},{"name":"戒鸡瘾的办法","url":"https://www.nodeseek.com/post-113191-1","img":null,"description":"pve快速配置IPv6+nat教程 && Lxc评测脚本发布,评测宿主机系统"},{"name":"quicklink:实现原理与给前端的启发","url":"https://www.jianshu.com/p/7dc94efe7e2e","img":null,"description":"【性能优化】quicklink:实现原理与给前端的启发"},{"name":"秒开的艺术:Hexo 博客首屏耗时优化实践","url":"https://imkero.net/posts/hexo-page-performance/","img":null,"description":"秒开的艺术:Hexo 博客首屏耗时优化实践"}],"无人机":[{"name":"SBDJI","url":"https://sbdji.cc/","img":"/img/SBDJI.ico","description":"全球无人机资讯汇总"},{"name":"天空之城","url":"https://www.skypixel.com/","img":"/img/天空之城.png","description":"小偷模拟器,获取各景点保安的详细活动轨迹和性格"},{"name":"民用无人驾驶航空器综合管理平台","url":"https://uom.caac.gov.cn/","img":"/img/uom.png","description":"国家无人驾驶航空器一体化综合监管服务平台(民用无人驾驶航空器综合管理平台)"}],"linux":[{"name":"星火应用商店","url":"https://www.spark-app.store/","img":"/img/spark-app.ico","description":"专注Linux应用适配的应用商店"},{"name":"网易云音乐-linux","url":"https://d1.music.126.net/dmusic/netease-cloud-music_1.2.1_amd64_ubuntu_20190428.deb","img":"/img/163music.ico","description":"Linux 版本的网易云音乐,2019年与 Deepin 联合开发,已停更"},{"name":"logiops","url":"https://github.com/PixlOne/logiops","img":"/img/logiops.png","description":"适用于 HID++ Logitech 设备的非官方用户空间驱动程序"}],"有趣的开源项目":[{"name":"telegraph","url":"https://github.com/0-RTT/telegraph","img":"/img/telegraph.jfif","description":"基于telegraph的图床,图片大于5MB自动压缩"},{"name":"newredlens","url":"https://github.com/CQUPTMirror/newredlens","img":"/img/newredlens.png","description":"好看的开源软件镜像站前端"},{"name":"LookingGlass","url":"https://github.com/telephone/LookingGlass","img":"/img/LookingGlass.jfif","description":"适合云服务商展示服务器线路的PHP项目"},{"name":"Page Replica","url":"https://github.com/Page-Replica/page-replica","img":"/img/page-replica.png","description":"架设一个缓存网站,可以抓取其他网站和网页,建立一个缓存版本,通过它来中介访问"},{"name":"DirectoryLister","url":"https://github.com/DirectoryLister/DirectoryLister","img":"/img/DirectoryLister.png","description":"一个Web文件浏览器,功能极其丰富"},{"name":"AntiZhaPian","url":"https://github.com/XJP-GIT/AntiZhaPian","img":"/img/AntiZhaPian.jpg","description":"假的国家反诈中心"},{"name":"shit-url","url":"https://llili.li/","img":"/img/shit-url.png","description":"屑链生成,最屑的短链接生成站"},{"name":"BroadcastChannel","url":"https://github.com/ccbikai/BroadcastChannel","img":"/img/BroadcastChannel.png","description":"把你的Telegram频道变成一个微博,无需服务器"},{"name":"debian-media-box","url":"https://github.com/moesoha/debian-media-box","img":"/img/debian-media-box.png","description":"“Debian 小药盒”,一个用来包装 Debian 安装介质的盒子设计和介绍用的说明书。"},{"name":"OpenGFW","url":"https://github.com/apernet/OpenGFW","img":"/img/OpenGFW.png","description":"可以部署在家用路由器上的网络主权 - 你也能是老大哥"},{"name":"heyform","url":"https://github.com/heyform/heyform","img":"/img/heyform.jfif","description":"一个开源表单构建器,允许任何人为调查、问卷、测验和民意调查创建引人入胜的对话表单"},{"name":"Minecraft-Server-Ports-Scanner-GUI","url":"https://github.com/hite4044/Minecraft-Server-Ports-Scanner-GUI","img":"/img/Minecraft-Server-Ports-Scanner-GUI.png","description":"扫描服务器上所有的MC服务器,并使用GUI显示几乎所有信息"},{"name":"ente","url":"https://github.com/ente-io/ente","img":"/img/ente.png","description":"完全开源,端到端加密的Google照片和Apple Photos替代品"},{"name":"文件快递柜","url":"https://github.com/vastsa/FileCodeBox","img":"/img/FileCodeBox.png","description":"匿名口令分享文本,文件,像拿快递一样取文件"},{"name":"Docker-OSX","url":"https://github.com/sickcodes/Docker-OSX","img":"/img/Docker-OSX.png","description":"快速使用 Docker 启动一个 MacOS"},{"name":"devzat","url":"https://github.com/quackduck/devzat","img":"/img/devzat.png","description":"程序员专属 SSH 聊天室"},{"name":"synctv","url":"https://github.com/synctv-org/synctv","img":"/img/synctv.png","description":"一个可以远程一起看电影/直播的程序,目前存在严重的xss注入漏洞"},{"name":"inter-knot","url":"https://github.com/share121/inter-knot","img":"/img/inter-knot.svg","description":"绳网"},{"name":"frp内网穿透全端口映射方案","url":"https://github.com/bkywksj/frp","img":"/img/bkywksjfrp.jfif","description":"frp内网穿透全端口映射方案(支持ssh、http、https)"},{"name":"frpc-desktop","url":"https://github.com/luckjiawei/frpc-desktop","img":"/img/frpc-desktop.png","description":"一个frpc桌面客户端"},{"name":"AsmBB","url":"https://asmbb.org/","img":"/img/asmbb.png","description":"一个使用汇编语言写的论坛应用,性能很强,对机器配置的要求很低"},{"name":"Coolify","url":"https://github.com/coollabsio/coolify","img":"/img/Coolify.png","description":"开源的应用运行平台,相当于自己搭建一个 Heroku / Netlify / Vercel 替代品,各种应用可以轻松在上面运行"},{"name":"Marsview","url":"https://github.com/JackySoft/marsview","img":"/img/Marsview.png","description":"一款面向后台的低代码可视化搭建平台,快速搭建中后台管理系统"},{"name":"Class-Widgets","url":"https://github.com/RinLit-233-shiroko/Class-Widgets","img":"/img/Class-Widgets.png","description":"提供了易用课程表编辑和美观的桌面组件"},{"name":"socialify","url":"https://github.com/wei/socialify","img":"/img/socialify.ico","description":"以图片展示 Github 项目的数据"},{"name":"WebChat","url":"https://github.com/molvqingtai/WebChat","img":"/img/WebChat.png","description":"一个去中心化、无服务器的匿名聊天浏览器扩展程序"}],"编程":[{"name":"chinese-programmer-wrong-pronunciation","url":"https://github.com/shimohq/chinese-programmer-wrong-pronunciation","img":"/img/chinese-programmer-wrong-pronunciation.png","description":"中国程序员容易发音错误的单词"},{"name":"code-box","url":"https://github.com/027xiguapi/code-box","img":"/img/code-box.png","description":"用来解除 CSDN/知乎/脚本之家等网站的限制(比如要求登录)的开源的浏览器插件"},{"name":"菜鸟教程","url":"https://www.runoob.com/","img":"/img/runoob.ico","description":"供了编程的基础技术教程, 介绍了HTML、CSS、Javascript、Python,Java,Ruby,C,PHP , MySQL等各种编程语言的基础知识。 同时本站中也提供了大量的在线实例,通过实例,您可以更好的学习编程"},{"name":"RegExr","url":"https://regexr.com/","img":"/img/RegExr.png","description":"学习,测试正则表达式"},{"name":"APISQL","url":"https://apisql.cn/","img":"/img/APISQL.ico","description":"轻松将内网数据库的增删改查,发布为外网可访问的HTTPS API"},{"name":"public-apis","url":"https://github.com/public-apis/public-apis","img":"/img/public-apis.png","description":"收集了大量公开API,有好用的,也有好玩的"}],"网络":[{"name":"local-ISPs-to-CN","url":"https://github.com/sjlleo/local-ISPs-to-CN/blob/cd760ca23cc9d1e4981af8993ab42a67885cc2f6/report_zh_CN.md","img":"/img/local-ISPs-to-CN.jfif","description":"国内/国际互联线路知识"},{"name":"ZBProxy","url":"https://github.com/layou233/ZBProxy/","img":"/img/ZBProxy.png","description":"一个简单、快速、高性能的多用途 TCP 中继,主要为搭建 Hypixel 加速 IP 而开发。"},{"name":"China Internationally-connected","url":"https://github.com/china-net/Internationally-connected","img":"/img/China-Internationally-connected.png","description":"中国的国际网络互联状态介绍"}],"好玩的东西":[{"name":"AI 嘴替","url":"https://zuiti.app/","img":"/img/zuiti.png","description":"对指定的微博用户进行人格分析"},{"name":"similar-websites","url":"https://sitechecker.pro/similar-websites/","img":"/img/sitechecker.ico","description":"查找相似的网站"},{"name":"saucenao.com","url":"https://saucenao.com/","img":"/img/saucenao.ico","description":"强大的以图搜图,尤其是 pixiv 上的图片"},{"name":"退休计算器","url":"https://daojishi.fun/","img":"/img/退休计算器.ico","description":"退休计算器,人生找乐子"}],"运维":[{"name":"Ban-Hacker-IP-Plan","url":"https://github.com/Aabyss-Team/Ban-Hacker-IP-Plan","img":"/img/Ban-Hacker-IP-Plan.jfif","description":"国内恶意IP封禁计划,还赛博空间一片朗朗乾坤"},{"name":"LinuxMirors","url":"https://linuxmirrors.cn/","img":"/img/LinuxMirors.png","description":"GNU/Linux 更换系统软件源脚本及 Docker 安装脚本"},{"name":"lxc-toolkit","url":"https://github.com/no-passwd/lxc-toolkit","img":null,"description":"lxc系统检测工具,用于获取lxc宿主信息"},{"name":"docker_image_pusher","url":"https://github.com/tech-shrimp/docker_image_pusher","img":"/img/docker_image_pusher.png","description":"使用Github Action将国外的Docker镜像转存到阿里云私有仓库,供国内服务器使用,免费易用"},{"name":"fscan","url":"https://github.com/shadow1ng/fscan","img":"/img/fscan.jfif","description":"一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描"},{"name":"vscan","url":"https://github.com/veo/vscan","img":"/img/vscan.gif","description":"网站漏洞扫描工具,帮助您快速检测网站安全隐患"},{"name":"china-operator-ip","url":"https://github.com/gaoyifan/china-operator-ip","img":"/img/china-operator-ip.jfif","description":"中国运营商IPv4/IPv6地址库-每日更新"},{"name":"1Panel","url":"https://github.com/1Panel-dev/1Panel","img":"/img/1Panel.jfif","description":"现代化、开源的 Linux 服务器运维管理面板"},{"name":"ddns-go","url":"https://github.com/jeessy2/ddns-go","img":"/img/ddns-go.jfif","description":"简单易用的DDNS"},{"name":"electerm","url":"https://github.com/electerm/electerm","img":"/img/electerm.png","description":"开源终端/ssh/telnet/serialport/RDP/VNC/sftp客户端"},{"name":"xterminal","url":"https://www.xterminal.cn/","img":"/img/xterminal.svg","description":"不仅是强大的SSH工具,更提供本地控制台"},{"name":"MegaEase","url":"https://megaease.cn/","img":"/img/MegaEase.png","description":"开源、自主可控、低成本、高可用 Cloud Native 平台"},{"name":"NETworkManager","url":"https://github.com/BornToBeRoot/NETworkManager","img":"/img/NETworkManager.svg","description":"开源的强大网管工具"},{"name":"Nmap","url":"https://github.com/nmap/nmap","img":"/img/Nmap.png","description":"网络扫描神器"},{"name":"hackingtool","url":"https://github.com/Z4nzu/hackingtool","img":"/img/hackingtool.png","description":"融合了各类漏洞扫描和攻击工具"},{"name":"InternetTest Pro","url":"https://github.com/Leo-Corporation/InternetTest","img":"/img/InternetTest Pro.png","description":"一款Windows连接工具,功能强大"},{"name":"pvetools","url":"https://github.com/ivanhao/pvetools","img":"/img/pvetools.webp","description":"Proxmox VE Tools 脚本(Debian 9+ 可以使用)。包括电子邮件、samba、NFS set zfs max ram、嵌套虚拟化、docker、pci passthrough等"},{"name":"cloud_dns_exporter","url":"https://github.com/eryajf/cloud_dns_exporter","img":null,"description":"自动获取DNS提供商的域名及解析列表,同时自动获取每个域名解析的证书信息,并导出为Prometheus Metrics。"}],"视图文素材":[{"name":"阿里巴巴矢量图标库 iconfont 🔥","url":"https://www.iconfont.cn/","img":"https://img.alicdn.com/imgextra/i2/O1CN01ZyAlrn1MwaMhqz36G_!!6000000001499-73-tps-64-64.ico","description":"国内功能很强大且图标内容很丰富的矢量图标库"},{"name":"OfficePLUS 🔥","url":"https://www.officeplus.cn/","img":"https://fe.officeplus.cn/favicon.ico","description":"微软官方Office免费模板服务平台"},{"name":"优品 PPT","url":"https://www.ypppt.com/","img":"https://cdn.jsdelivr.net/npm/hassan-assets/navi/alphabet/Letter_Y.png","description":"一个有情怀的免费PPT模板下载网站!"},{"name":"Wallpaper ABYSS","url":"https://wall.alphacoders.com","img":"https://wall.alphacoders.com/favicon.ico","description":"壁纸的聚集地"},{"name":"Pexels","url":"https://www.pexels.com/","img":"https://www.pexels.com/favicon.ico","description":"才华横溢的摄影作者在这里免费分享最精彩的素材图片和视频"},{"name":"Font Awesome","url":"https://fontawesome.dashgame.com/","img":"https://cdn.jsdelivr.net/npm/hassan-assets/navi/logos/Font_Awesome.png","description":"一套绝佳的图标字体库和CSS框架"},{"name":"鸠摩搜索 Jiumo Search","url":"https://www.jiumodiary.com/","img":"https://www.jiumodiary.com/images/favicon.png","description":"免费书籍下载"},{"name":"LoreFree 电子书","url":"https://ebook2.lorefree.com/","img":"https://ebook2.lorefree.com/favicon.ico","description":"免费电子书共享社区"},{"name":"LoreFree 学术文库","url":"http://paper.lorefree.com/","img":"https://ebook2.lorefree.com/favicon.ico","description":"学术共享,资源共建,让知识自由传播"},{"name":"第一字体转换器","url":"http://www.diyiziti.com/","img":"http://www.diyiziti.com/favicon.ico","description":"字体转换器在线转换,艺术字体在线生成器"},{"name":"字体家","url":"https://www.zitijia.com/","img":"https://www.zitijia.com/static/img/favicon.ico","description":"一家开发书法字体网站,内含正版付费、免费字体下载,另有字体在线转换程序"}]}},"excerpt":"","more":"Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
\n1 | $ hexo new "My New Post" |
More info: Writing
\n1 | $ hexo server |
More info: Server
\n1 | $ hexo generate |
More info: Generating
\n1 | $ hexo deploy |
More info: Deployment
\n"}],"PostAsset":[],"PostCategory":[],"PostTag":[],"Tag":[]}} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..1234aad --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4430 @@ +{ + "name": "hexo-site", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "hexo-site", + "version": "0.0.0", + "dependencies": { + "hexo": "^6.3.0", + "hexo-generator-archive": "^2.0.0", + "hexo-generator-category": "^2.0.0", + "hexo-generator-index": "^3.0.0", + "hexo-generator-tag": "^2.0.0", + "hexo-renderer-ejs": "^2.0.0", + "hexo-renderer-marked": "^6.0.0", + "hexo-renderer-stylus": "^2.1.0", + "hexo-server": "^3.0.0", + "hexo-theme-landscape": "^1.0.0" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/a-sync-waterfall": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", + "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==" + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead" + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "dependencies": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agent-base/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/agent-base/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmmirror.com/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/basic-auth/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmmirror.com/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.5", + "resolved": "https://registry.npmmirror.com/compression/-/compression-1.7.5.tgz", + "integrity": "sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.0.2", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmmirror.com/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "dependencies": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + } + }, + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "node_modules/cuid": { + "version": "2.1.8", + "resolved": "https://registry.npmmirror.com/cuid/-/cuid-2.1.8.tgz", + "integrity": "sha512-xiEMER6E7TlTPnDxrM4eRiC6TRgjNX9xzEZ5U/Se2YJKr7Mq4pJn/2XEHjl3STcSh96GmkHPcBXLES8M29wyyg==", + "deprecated": "Cuid and other k-sortable and non-cryptographic ids (Ulid, ObjectId, KSUID, all UUIDs) are all insecure. Use @paralleldrive/cuid2 instead." + }, + "node_modules/data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "deprecated": "Use your platform's native DOMException instead", + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/dompurify": { + "version": "3.1.7", + "resolved": "https://registry.npmmirror.com/dompurify/-/dompurify-3.1.7.tgz", + "integrity": "sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==" + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "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/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmmirror.com/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fast-equals": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/fast-equals/-/fast-equals-3.0.3.tgz", + "integrity": "sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg==" + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "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/form-data": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hexo": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/hexo/-/hexo-6.3.0.tgz", + "integrity": "sha512-4Jq+rWd8sYvR1YdIQyndN/9WboQ/Mqm6eax8CjrjO+ePFm2oMVafSOx9WEyJ42wcLOHjfyMfnlQhnUuNmJIpPg==", + "dependencies": { + "abbrev": "^1.1.1", + "archy": "^1.0.0", + "bluebird": "^3.7.2", + "hexo-cli": "^4.3.0", + "hexo-front-matter": "^3.0.0", + "hexo-fs": "^3.1.0", + "hexo-i18n": "^1.0.0", + "hexo-log": "^3.2.0", + "hexo-util": "^2.7.0", + "js-yaml": "^4.1.0", + "js-yaml-js-types": "^1.0.0", + "micromatch": "^4.0.4", + "moize": "^6.1.0", + "moment": "^2.29.1", + "moment-timezone": "^0.5.34", + "nunjucks": "^3.2.3", + "picocolors": "^1.0.0", + "pretty-hrtime": "^1.0.3", + "resolve": "^1.22.0", + "strip-ansi": "^6.0.0", + "text-table": "^0.2.0", + "tildify": "^2.0.0", + "titlecase": "^1.1.3", + "warehouse": "^4.0.2" + }, + "bin": { + "hexo": "bin/hexo" + }, + "engines": { + "node": ">=12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/hexo" + } + }, + "node_modules/hexo-cli": { + "version": "4.3.2", + "resolved": "https://registry.npmmirror.com/hexo-cli/-/hexo-cli-4.3.2.tgz", + "integrity": "sha512-druJeBgLpG9ncDS5AhBHdAXk0G4CFj8Qes09pApyZ6bR+nJW1JYiDMuilhudaKDdq+1l49jWXVTidkcb7p0Jbw==", + "dependencies": { + "abbrev": "^2.0.0", + "bluebird": "^3.7.2", + "command-exists": "^1.2.9", + "hexo-fs": "^4.1.1", + "hexo-log": "^4.0.1", + "hexo-util": "^3.3.0", + "minimist": "^1.2.5", + "picocolors": "^1.0.0", + "resolve": "^1.20.0", + "tildify": "^2.0.0" + }, + "bin": { + "hexo": "bin/hexo" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/hexo-cli/node_modules/abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/hexo-cli/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/hexo-cli/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/hexo-cli/node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/hexo-cli/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/hexo-cli/node_modules/hexo-fs": { + "version": "4.1.3", + "resolved": "https://registry.npmmirror.com/hexo-fs/-/hexo-fs-4.1.3.tgz", + "integrity": "sha512-Q92zQ5PlVDouvSWFLXQoFSTLIUIODikUJs2BfAXQglyOEjN1dOQn1Z5Nimk/7GHof17R5h/uObCQLnZAjzI2tg==", + "dependencies": { + "bluebird": "^3.7.2", + "chokidar": "^3.5.3", + "graceful-fs": "^4.2.10", + "hexo-util": "^3.0.1" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/hexo-cli/node_modules/hexo-log": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/hexo-log/-/hexo-log-4.1.0.tgz", + "integrity": "sha512-i2Sgxk8Cgx5viSjq5qW5N/rBFfwoCKQcH8qnnW1fawCapcdEAhIsq+Y3vbrs9bssyDlyU6Vqm4oQmosREaNI7Q==", + "dependencies": { + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/hexo-cli/node_modules/hexo-util": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/hexo-util/-/hexo-util-3.3.0.tgz", + "integrity": "sha512-YvGngXijE2muEh5L/VI4Fmjqb+/yAkmY+VuyhWVoRwQu1X7bmWodsfYRXX7CUYhi5LqsvH8FAe/yBW1+f6ZX4Q==", + "hasInstallScript": true, + "dependencies": { + "camel-case": "^4.1.2", + "cross-spawn": "^7.0.3", + "deepmerge": "^4.2.2", + "highlight.js": "^11.6.0", + "htmlparser2": "^9.0.0", + "prismjs": "^1.29.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/hexo-cli/node_modules/htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" + } + }, + "node_modules/hexo-front-matter": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/hexo-front-matter/-/hexo-front-matter-3.0.0.tgz", + "integrity": "sha512-hSQTPUmB/BCe1BFYmXRkPyLk8rqbBqHCQq+rjwwOJuEfOADrFaVK2VPZb90tJzPyXE1xSxpgCxE/AZq0CyTVwg==", + "dependencies": { + "js-yaml": "^4.1.0" + }, + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/hexo-fs": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/hexo-fs/-/hexo-fs-3.1.0.tgz", + "integrity": "sha512-SfoDH7zlU9Iop+bAfEONXezbNIkpVX1QqjNCBYpapilZR+xVOCfTEdlNixanrKBbLGPb2fXqrdDBFgrKuiVGQQ==", + "dependencies": { + "bluebird": "^3.5.1", + "chokidar": "^3.0.0", + "graceful-fs": "^4.1.11", + "hexo-util": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/hexo-generator-archive": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/hexo-generator-archive/-/hexo-generator-archive-2.0.0.tgz", + "integrity": "sha512-KikJk7dGFbtNHOgqtLFGf5T/S8n1paGp+Gy0KfVDz+HKYhGbXOouyiZkmc3O9KrYt6ja14rmkMhq7KKGtvfehw==", + "dependencies": { + "hexo-pagination": "3.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/hexo-generator-category": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/hexo-generator-category/-/hexo-generator-category-2.0.0.tgz", + "integrity": "sha512-9OduRBf3WeRDa4BR0kAfRjOVHur7v3fm0NKAwbjUiqULigAdNZVZPO3cHKW2MlBbl/lI5PuWdhQ9zZ99CCCAgQ==", + "dependencies": { + "hexo-pagination": "3.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/hexo-generator-index": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/hexo-generator-index/-/hexo-generator-index-3.0.0.tgz", + "integrity": "sha512-83AuNN4cWdLVi//3ugR8E3kR6rrOwhXZt+hOCm1IjtIGj353/GlrtpMHpqZHU5kqipzj4miy9dweVdukXglVWw==", + "dependencies": { + "hexo-pagination": "3.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/hexo-generator-tag": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/hexo-generator-tag/-/hexo-generator-tag-2.0.0.tgz", + "integrity": "sha512-1px/hF3veEohWDN8jjzchQhaiz+uOStUvvMaBJC9vWOlALh30UFcapL8IrvAwwJZjFRVA+WqGgDRqoQ8+yaaFw==", + "dependencies": { + "hexo-pagination": "3.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/hexo-i18n": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/hexo-i18n/-/hexo-i18n-1.0.0.tgz", + "integrity": "sha512-yw90JHr7ybUHN/QOkpHmlWJj1luVk5/v8CUU5NRA0n4TFp6av8NT7ujZ10GDawgnQEdMHnN5PUfAbNIVGR6axg==", + "dependencies": { + "sprintf-js": "^1.0.3" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/hexo-log": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/hexo-log/-/hexo-log-3.2.0.tgz", + "integrity": "sha512-fk7jOW3hvKiAv4Q/d8UxaQlARwcv+5KjGcnxexUrqBqyWbMCLmw7jhMHTSRLNNQpaoTlF5ff+kQkPi4yhp9iag==", + "dependencies": { + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/hexo-pagination": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/hexo-pagination/-/hexo-pagination-3.0.0.tgz", + "integrity": "sha512-8oo1iozloZo7TojPVYg4IxL3SJKCBdSJ908fTlIxIK7TWJIKdYnQlW31+12DBJ0NhVZA/lZisPObGF08wT8fKw==", + "engines": { + "node": ">=14" + } + }, + "node_modules/hexo-renderer-ejs": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/hexo-renderer-ejs/-/hexo-renderer-ejs-2.0.0.tgz", + "integrity": "sha512-qCjE1IdwgDgv65qyb0KMVCwCdSVAkH0vwAe9XihjvaKWkmb9dtt8DgErOdqCXn0HReSyWiEVP2BrLRj3gyHwOQ==", + "dependencies": { + "ejs": "^3.1.6" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/hexo-renderer-marked": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/hexo-renderer-marked/-/hexo-renderer-marked-6.3.0.tgz", + "integrity": "sha512-V/ATcJ+tZHkTJSbScPzzHKmrwVMohU8i9MfuX9jp07Un/NpPtaTP821unP3JPu+O1nNLWMi+3xRbFRdm+8vajw==", + "dependencies": { + "dompurify": "^3.0.3", + "hexo-util": "^3.1.0", + "jsdom": "^20.0.1", + "marked": "^4.3.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/hexo-renderer-marked/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/hexo-renderer-marked/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/hexo-renderer-marked/node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/hexo-renderer-marked/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/hexo-renderer-marked/node_modules/hexo-util": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/hexo-util/-/hexo-util-3.3.0.tgz", + "integrity": "sha512-YvGngXijE2muEh5L/VI4Fmjqb+/yAkmY+VuyhWVoRwQu1X7bmWodsfYRXX7CUYhi5LqsvH8FAe/yBW1+f6ZX4Q==", + "hasInstallScript": true, + "dependencies": { + "camel-case": "^4.1.2", + "cross-spawn": "^7.0.3", + "deepmerge": "^4.2.2", + "highlight.js": "^11.6.0", + "htmlparser2": "^9.0.0", + "prismjs": "^1.29.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/hexo-renderer-marked/node_modules/htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" + } + }, + "node_modules/hexo-renderer-stylus": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/hexo-renderer-stylus/-/hexo-renderer-stylus-2.1.0.tgz", + "integrity": "sha512-Nef4YCr7JX8jaRaByhzXMSsWnDed+RgJj6aU/ARnYu3Bn5xz/qRz52VJG7KqD0Xuysxa9TIBdVUgNzBrSFn3DQ==", + "dependencies": { + "nib": "^1.2.0", + "stylus": "^0.57.0" + }, + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/hexo-server": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/hexo-server/-/hexo-server-3.0.0.tgz", + "integrity": "sha512-u4s0ty9Aew6jV+a9oMrXBwhrRpUQ0U8PWM/88a5aHgDru58VY81mVrxOFxs788NAsWQ8OvsJtF5m7mnXoRnSIA==", + "dependencies": { + "bluebird": "^3.5.5", + "compression": "^1.7.4", + "connect": "^3.7.0", + "mime": "^3.0.0", + "morgan": "^1.9.1", + "open": "^8.0.9", + "picocolors": "^1.0.0", + "serve-static": "^1.14.1" + }, + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/hexo-theme-landscape": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/hexo-theme-landscape/-/hexo-theme-landscape-1.0.0.tgz", + "integrity": "sha512-bWQJWMqQI78wWiJPQZq5pJBH20TM442ShCaHGRetuEgMraxH0OKxB3NTupJzNEkzEk8DV2yrdizkXdKN6i501A==" + }, + "node_modules/hexo-util": { + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/hexo-util/-/hexo-util-2.7.0.tgz", + "integrity": "sha512-hQM3h34nhDg0bSe/Tg1lnpODvNkz7h2u0+lZGzlKL0Oufp+5KCAEUX9wal7/xC7ax3/cwEn8IuoU75kNpZLpJQ==", + "dependencies": { + "bluebird": "^3.5.2", + "camel-case": "^4.0.0", + "cross-spawn": "^7.0.0", + "deepmerge": "^4.2.2", + "highlight.js": "^11.0.1", + "htmlparser2": "^7.0.0", + "prismjs": "^1.17.1", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/highlight.js": { + "version": "11.10.0", + "resolved": "https://registry.npmmirror.com/highlight.js/-/highlight.js-11.10.0.tgz", + "integrity": "sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/htmlparser2": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-agent/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/http-proxy-agent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/jake": { + "version": "10.9.2", + "resolved": "https://registry.npmmirror.com/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/js-yaml-js-types": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/js-yaml-js-types/-/js-yaml-js-types-1.0.1.tgz", + "integrity": "sha512-5tpfyORs8OQ43alNERbWfYRCtWgykvzYgY46fUhrQi2+kS7N0NuuFYLZ/IrfmVm5muLTndeMublgraXiFRjEPw==", + "dependencies": { + "esprima": "^4.0.1" + }, + "peerDependencies": { + "js-yaml": "4.x" + } + }, + "node_modules/jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmmirror.com/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "dependencies": { + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.2", + "parse5": "^7.1.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/micro-memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/micro-memoize/-/micro-memoize-4.1.2.tgz", + "integrity": "sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g==" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.53.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.53.0.tgz", + "integrity": "sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/moize": { + "version": "6.1.6", + "resolved": "https://registry.npmmirror.com/moize/-/moize-6.1.6.tgz", + "integrity": "sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q==", + "dependencies": { + "fast-equals": "^3.0.1", + "micro-memoize": "^4.1.2" + } + }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "engines": { + "node": "*" + } + }, + "node_modules/moment-timezone": { + "version": "0.5.46", + "resolved": "https://registry.npmmirror.com/moment-timezone/-/moment-timezone-0.5.46.tgz", + "integrity": "sha512-ZXm9b36esbe7OmdABqIWJuBBiLLwAjrN7CE+7sYdCCx82Nabt1wHDj8TVseS59QIlfFPbOoiBPm6ca9BioG4hw==", + "dependencies": { + "moment": "^2.29.4" + }, + "engines": { + "node": "*" + } + }, + "node_modules/morgan": { + "version": "1.10.0", + "resolved": "https://registry.npmmirror.com/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", + "dependencies": { + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/nib": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/nib/-/nib-1.2.0.tgz", + "integrity": "sha512-7HgrnMl/3yOmWykueO8/D0q+0iWwe7Z+CK2Eaq/xQV8w1hK80WN1oReRQkfkrztbAAnp/nTHkUSl5EcVkor6JQ==", + "engines": { + "node": "*" + }, + "peerDependencies": { + "stylus": "*" + } + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nunjucks": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/nunjucks/-/nunjucks-3.2.4.tgz", + "integrity": "sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==", + "dependencies": { + "a-sync-waterfall": "^1.0.0", + "asap": "^2.0.3", + "commander": "^5.1.0" + }, + "bin": { + "nunjucks-precompile": "bin/precompile" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "chokidar": "^3.3.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/nwsapi": { + "version": "2.2.13", + "resolved": "https://registry.npmmirror.com/nwsapi/-/nwsapi-2.2.13.tgz", + "integrity": "sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==" + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmmirror.com/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "7.2.1", + "resolved": "https://registry.npmmirror.com/parse5/-/parse5-7.2.1.tgz", + "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", + "dependencies": { + "entities": "^4.5.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmmirror.com/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==" + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmmirror.com/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-static/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylus": { + "version": "0.57.0", + "resolved": "https://registry.npmmirror.com/stylus/-/stylus-0.57.0.tgz", + "integrity": "sha512-yOI6G8WYfr0q8v8rRvE91wbxFU+rJPo760Va4MF6K0I6BZjO4r+xSynkvyPBP9tV1CIEUeRsiidjIs2rzb1CnQ==", + "dependencies": { + "css": "^3.0.0", + "debug": "^4.3.2", + "glob": "^7.1.6", + "safer-buffer": "^2.1.2", + "sax": "~1.2.4", + "source-map": "^0.7.3" + }, + "bin": { + "stylus": "bin/stylus" + }, + "engines": { + "node": "*" + } + }, + "node_modules/stylus/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/stylus/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/stylus/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/tildify": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/tildify/-/tildify-2.0.0.tgz", + "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/titlecase": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/titlecase/-/titlecase-1.1.3.tgz", + "integrity": "sha512-pQX4oiemzjBEELPqgK4WE+q0yhAqjp/yzusGtlSJsOuiDys0RQxggepYmo0BuegIDppYS3b3cpdegRwkpyN3hw==", + "bin": { + "to-title-case": "bin.js" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmmirror.com/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/warehouse": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/warehouse/-/warehouse-4.0.2.tgz", + "integrity": "sha512-GixS7SolBGu81rnxYM6bScxdElLM97Jx/kr0a6B6PGBWFqvHeuWFj7QbgEX1YWZSxiJt/aR6dBVQKC/PvvihdQ==", + "dependencies": { + "bluebird": "^3.2.2", + "cuid": "^2.1.4", + "graceful-fs": "^4.1.3", + "hexo-log": "^3.0.0", + "is-plain-object": "^5.0.0", + "jsonparse": "^1.3.1", + "rfdc": "^1.1.4", + "through2": "^4.0.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmmirror.com/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + } + }, + "dependencies": { + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==" + }, + "a-sync-waterfall": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", + "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==" + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==" + }, + "acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "requires": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, + "acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "requires": { + "acorn": "^8.11.0" + } + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.7", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "requires": { + "ms": "^2.1.3" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==" + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "async": { + "version": "3.2.6", + "resolved": "https://registry.npmmirror.com/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "requires": { + "safe-buffer": "5.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==" + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "requires": { + "fill-range": "^7.1.1" + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmmirror.com/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.5", + "resolved": "https://registry.npmmirror.com/compression/-/compression-1.7.5.tgz", + "integrity": "sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==", + "requires": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.0.2", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmmirror.com/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "css": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "requires": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + } + }, + "cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==" + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + } + } + }, + "cuid": { + "version": "2.1.8", + "resolved": "https://registry.npmmirror.com/cuid/-/cuid-2.1.8.tgz", + "integrity": "sha512-xiEMER6E7TlTPnDxrM4eRiC6TRgjNX9xzEZ5U/Se2YJKr7Mq4pJn/2XEHjl3STcSh96GmkHPcBXLES8M29wyyg==" + }, + "data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "requires": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" + }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "dependencies": { + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + } + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "requires": { + "webidl-conversions": "^7.0.0" + } + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "dompurify": { + "version": "3.1.7", + "resolved": "https://registry.npmmirror.com/dompurify/-/dompurify-3.1.7.tgz", + "integrity": "sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==" + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmmirror.com/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "requires": { + "jake": "^10.8.5" + } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "entities": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "source-map": "~0.6.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "fast-equals": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/fast-equals/-/fast-equals-3.0.3.tgz", + "integrity": "sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg==" + }, + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "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" + } + }, + "form-data": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "optional": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "requires": { + "function-bind": "^1.1.2" + } + }, + "hexo": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/hexo/-/hexo-6.3.0.tgz", + "integrity": "sha512-4Jq+rWd8sYvR1YdIQyndN/9WboQ/Mqm6eax8CjrjO+ePFm2oMVafSOx9WEyJ42wcLOHjfyMfnlQhnUuNmJIpPg==", + "requires": { + "abbrev": "^1.1.1", + "archy": "^1.0.0", + "bluebird": "^3.7.2", + "hexo-cli": "^4.3.0", + "hexo-front-matter": "^3.0.0", + "hexo-fs": "^3.1.0", + "hexo-i18n": "^1.0.0", + "hexo-log": "^3.2.0", + "hexo-util": "^2.7.0", + "js-yaml": "^4.1.0", + "js-yaml-js-types": "^1.0.0", + "micromatch": "^4.0.4", + "moize": "^6.1.0", + "moment": "^2.29.1", + "moment-timezone": "^0.5.34", + "nunjucks": "^3.2.3", + "picocolors": "^1.0.0", + "pretty-hrtime": "^1.0.3", + "resolve": "^1.22.0", + "strip-ansi": "^6.0.0", + "text-table": "^0.2.0", + "tildify": "^2.0.0", + "titlecase": "^1.1.3", + "warehouse": "^4.0.2" + } + }, + "hexo-cli": { + "version": "4.3.2", + "resolved": "https://registry.npmmirror.com/hexo-cli/-/hexo-cli-4.3.2.tgz", + "integrity": "sha512-druJeBgLpG9ncDS5AhBHdAXk0G4CFj8Qes09pApyZ6bR+nJW1JYiDMuilhudaKDdq+1l49jWXVTidkcb7p0Jbw==", + "requires": { + "abbrev": "^2.0.0", + "bluebird": "^3.7.2", + "command-exists": "^1.2.9", + "hexo-fs": "^4.1.1", + "hexo-log": "^4.0.1", + "hexo-util": "^3.3.0", + "minimist": "^1.2.5", + "picocolors": "^1.0.0", + "resolve": "^1.20.0", + "tildify": "^2.0.0" + }, + "dependencies": { + "abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==" + }, + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" + }, + "hexo-fs": { + "version": "4.1.3", + "resolved": "https://registry.npmmirror.com/hexo-fs/-/hexo-fs-4.1.3.tgz", + "integrity": "sha512-Q92zQ5PlVDouvSWFLXQoFSTLIUIODikUJs2BfAXQglyOEjN1dOQn1Z5Nimk/7GHof17R5h/uObCQLnZAjzI2tg==", + "requires": { + "bluebird": "^3.7.2", + "chokidar": "^3.5.3", + "graceful-fs": "^4.2.10", + "hexo-util": "^3.0.1" + } + }, + "hexo-log": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/hexo-log/-/hexo-log-4.1.0.tgz", + "integrity": "sha512-i2Sgxk8Cgx5viSjq5qW5N/rBFfwoCKQcH8qnnW1fawCapcdEAhIsq+Y3vbrs9bssyDlyU6Vqm4oQmosREaNI7Q==", + "requires": { + "picocolors": "^1.0.0" + } + }, + "hexo-util": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/hexo-util/-/hexo-util-3.3.0.tgz", + "integrity": "sha512-YvGngXijE2muEh5L/VI4Fmjqb+/yAkmY+VuyhWVoRwQu1X7bmWodsfYRXX7CUYhi5LqsvH8FAe/yBW1+f6ZX4Q==", + "requires": { + "camel-case": "^4.1.2", + "cross-spawn": "^7.0.3", + "deepmerge": "^4.2.2", + "highlight.js": "^11.6.0", + "htmlparser2": "^9.0.0", + "prismjs": "^1.29.0", + "strip-indent": "^3.0.0" + } + }, + "htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" + } + } + } + }, + "hexo-front-matter": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/hexo-front-matter/-/hexo-front-matter-3.0.0.tgz", + "integrity": "sha512-hSQTPUmB/BCe1BFYmXRkPyLk8rqbBqHCQq+rjwwOJuEfOADrFaVK2VPZb90tJzPyXE1xSxpgCxE/AZq0CyTVwg==", + "requires": { + "js-yaml": "^4.1.0" + } + }, + "hexo-fs": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/hexo-fs/-/hexo-fs-3.1.0.tgz", + "integrity": "sha512-SfoDH7zlU9Iop+bAfEONXezbNIkpVX1QqjNCBYpapilZR+xVOCfTEdlNixanrKBbLGPb2fXqrdDBFgrKuiVGQQ==", + "requires": { + "bluebird": "^3.5.1", + "chokidar": "^3.0.0", + "graceful-fs": "^4.1.11", + "hexo-util": "^2.0.0" + } + }, + "hexo-generator-archive": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/hexo-generator-archive/-/hexo-generator-archive-2.0.0.tgz", + "integrity": "sha512-KikJk7dGFbtNHOgqtLFGf5T/S8n1paGp+Gy0KfVDz+HKYhGbXOouyiZkmc3O9KrYt6ja14rmkMhq7KKGtvfehw==", + "requires": { + "hexo-pagination": "3.0.0" + } + }, + "hexo-generator-category": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/hexo-generator-category/-/hexo-generator-category-2.0.0.tgz", + "integrity": "sha512-9OduRBf3WeRDa4BR0kAfRjOVHur7v3fm0NKAwbjUiqULigAdNZVZPO3cHKW2MlBbl/lI5PuWdhQ9zZ99CCCAgQ==", + "requires": { + "hexo-pagination": "3.0.0" + } + }, + "hexo-generator-index": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/hexo-generator-index/-/hexo-generator-index-3.0.0.tgz", + "integrity": "sha512-83AuNN4cWdLVi//3ugR8E3kR6rrOwhXZt+hOCm1IjtIGj353/GlrtpMHpqZHU5kqipzj4miy9dweVdukXglVWw==", + "requires": { + "hexo-pagination": "3.0.0" + } + }, + "hexo-generator-tag": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/hexo-generator-tag/-/hexo-generator-tag-2.0.0.tgz", + "integrity": "sha512-1px/hF3veEohWDN8jjzchQhaiz+uOStUvvMaBJC9vWOlALh30UFcapL8IrvAwwJZjFRVA+WqGgDRqoQ8+yaaFw==", + "requires": { + "hexo-pagination": "3.0.0" + } + }, + "hexo-i18n": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/hexo-i18n/-/hexo-i18n-1.0.0.tgz", + "integrity": "sha512-yw90JHr7ybUHN/QOkpHmlWJj1luVk5/v8CUU5NRA0n4TFp6av8NT7ujZ10GDawgnQEdMHnN5PUfAbNIVGR6axg==", + "requires": { + "sprintf-js": "^1.0.3" + } + }, + "hexo-log": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/hexo-log/-/hexo-log-3.2.0.tgz", + "integrity": "sha512-fk7jOW3hvKiAv4Q/d8UxaQlARwcv+5KjGcnxexUrqBqyWbMCLmw7jhMHTSRLNNQpaoTlF5ff+kQkPi4yhp9iag==", + "requires": { + "picocolors": "^1.0.0" + } + }, + "hexo-pagination": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/hexo-pagination/-/hexo-pagination-3.0.0.tgz", + "integrity": "sha512-8oo1iozloZo7TojPVYg4IxL3SJKCBdSJ908fTlIxIK7TWJIKdYnQlW31+12DBJ0NhVZA/lZisPObGF08wT8fKw==" + }, + "hexo-renderer-ejs": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/hexo-renderer-ejs/-/hexo-renderer-ejs-2.0.0.tgz", + "integrity": "sha512-qCjE1IdwgDgv65qyb0KMVCwCdSVAkH0vwAe9XihjvaKWkmb9dtt8DgErOdqCXn0HReSyWiEVP2BrLRj3gyHwOQ==", + "requires": { + "ejs": "^3.1.6" + } + }, + "hexo-renderer-marked": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/hexo-renderer-marked/-/hexo-renderer-marked-6.3.0.tgz", + "integrity": "sha512-V/ATcJ+tZHkTJSbScPzzHKmrwVMohU8i9MfuX9jp07Un/NpPtaTP821unP3JPu+O1nNLWMi+3xRbFRdm+8vajw==", + "requires": { + "dompurify": "^3.0.3", + "hexo-util": "^3.1.0", + "jsdom": "^20.0.1", + "marked": "^4.3.0" + }, + "dependencies": { + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" + }, + "hexo-util": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/hexo-util/-/hexo-util-3.3.0.tgz", + "integrity": "sha512-YvGngXijE2muEh5L/VI4Fmjqb+/yAkmY+VuyhWVoRwQu1X7bmWodsfYRXX7CUYhi5LqsvH8FAe/yBW1+f6ZX4Q==", + "requires": { + "camel-case": "^4.1.2", + "cross-spawn": "^7.0.3", + "deepmerge": "^4.2.2", + "highlight.js": "^11.6.0", + "htmlparser2": "^9.0.0", + "prismjs": "^1.29.0", + "strip-indent": "^3.0.0" + } + }, + "htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" + } + } + } + }, + "hexo-renderer-stylus": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/hexo-renderer-stylus/-/hexo-renderer-stylus-2.1.0.tgz", + "integrity": "sha512-Nef4YCr7JX8jaRaByhzXMSsWnDed+RgJj6aU/ARnYu3Bn5xz/qRz52VJG7KqD0Xuysxa9TIBdVUgNzBrSFn3DQ==", + "requires": { + "nib": "^1.2.0", + "stylus": "^0.57.0" + } + }, + "hexo-server": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/hexo-server/-/hexo-server-3.0.0.tgz", + "integrity": "sha512-u4s0ty9Aew6jV+a9oMrXBwhrRpUQ0U8PWM/88a5aHgDru58VY81mVrxOFxs788NAsWQ8OvsJtF5m7mnXoRnSIA==", + "requires": { + "bluebird": "^3.5.5", + "compression": "^1.7.4", + "connect": "^3.7.0", + "mime": "^3.0.0", + "morgan": "^1.9.1", + "open": "^8.0.9", + "picocolors": "^1.0.0", + "serve-static": "^1.14.1" + } + }, + "hexo-theme-landscape": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/hexo-theme-landscape/-/hexo-theme-landscape-1.0.0.tgz", + "integrity": "sha512-bWQJWMqQI78wWiJPQZq5pJBH20TM442ShCaHGRetuEgMraxH0OKxB3NTupJzNEkzEk8DV2yrdizkXdKN6i501A==" + }, + "hexo-util": { + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/hexo-util/-/hexo-util-2.7.0.tgz", + "integrity": "sha512-hQM3h34nhDg0bSe/Tg1lnpODvNkz7h2u0+lZGzlKL0Oufp+5KCAEUX9wal7/xC7ax3/cwEn8IuoU75kNpZLpJQ==", + "requires": { + "bluebird": "^3.5.2", + "camel-case": "^4.0.0", + "cross-spawn": "^7.0.0", + "deepmerge": "^4.2.2", + "highlight.js": "^11.0.1", + "htmlparser2": "^7.0.0", + "prismjs": "^1.17.1", + "strip-indent": "^3.0.0" + } + }, + "highlight.js": { + "version": "11.10.0", + "resolved": "https://registry.npmmirror.com/highlight.js/-/highlight.js-11.10.0.tgz", + "integrity": "sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==" + }, + "html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "requires": { + "whatwg-encoding": "^2.0.0" + } + }, + "htmlparser2": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" + } + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "dependencies": { + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + } + } + }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.7", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "requires": { + "ms": "^2.1.3" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.7", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "requires": { + "ms": "^2.1.3" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "requires": { + "hasown": "^2.0.2" + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "jake": { + "version": "10.9.2", + "resolved": "https://registry.npmmirror.com/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "requires": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "js-yaml-js-types": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/js-yaml-js-types/-/js-yaml-js-types-1.0.1.tgz", + "integrity": "sha512-5tpfyORs8OQ43alNERbWfYRCtWgykvzYgY46fUhrQi2+kS7N0NuuFYLZ/IrfmVm5muLTndeMublgraXiFRjEPw==", + "requires": { + "esprima": "^4.0.1" + } + }, + "jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmmirror.com/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "requires": { + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.2", + "parse5": "^7.1.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" + } + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==" + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "requires": { + "tslib": "^2.0.3" + } + }, + "marked": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==" + }, + "micro-memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/micro-memoize/-/micro-memoize-4.1.2.tgz", + "integrity": "sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g==" + }, + "micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "requires": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==" + }, + "mime-db": { + "version": "1.53.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.53.0.tgz", + "integrity": "sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + }, + "dependencies": { + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + } + } + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "moize": { + "version": "6.1.6", + "resolved": "https://registry.npmmirror.com/moize/-/moize-6.1.6.tgz", + "integrity": "sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q==", + "requires": { + "fast-equals": "^3.0.1", + "micro-memoize": "^4.1.2" + } + }, + "moment": { + "version": "2.30.1", + "resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==" + }, + "moment-timezone": { + "version": "0.5.46", + "resolved": "https://registry.npmmirror.com/moment-timezone/-/moment-timezone-0.5.46.tgz", + "integrity": "sha512-ZXm9b36esbe7OmdABqIWJuBBiLLwAjrN7CE+7sYdCCx82Nabt1wHDj8TVseS59QIlfFPbOoiBPm6ca9BioG4hw==", + "requires": { + "moment": "^2.29.4" + } + }, + "morgan": { + "version": "1.10.0", + "resolved": "https://registry.npmmirror.com/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", + "requires": { + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==" + }, + "nib": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/nib/-/nib-1.2.0.tgz", + "integrity": "sha512-7HgrnMl/3yOmWykueO8/D0q+0iWwe7Z+CK2Eaq/xQV8w1hK80WN1oReRQkfkrztbAAnp/nTHkUSl5EcVkor6JQ==", + "requires": {} + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "nunjucks": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/nunjucks/-/nunjucks-3.2.4.tgz", + "integrity": "sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==", + "requires": { + "a-sync-waterfall": "^1.0.0", + "asap": "^2.0.3", + "commander": "^5.1.0" + } + }, + "nwsapi": { + "version": "2.2.13", + "resolved": "https://registry.npmmirror.com/nwsapi/-/nwsapi-2.2.13.tgz", + "integrity": "sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "open": { + "version": "8.4.2", + "resolved": "https://registry.npmmirror.com/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "parse5": { + "version": "7.2.1", + "resolved": "https://registry.npmmirror.com/parse5/-/parse5-7.2.1.tgz", + "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", + "requires": { + "entities": "^4.5.0" + }, + "dependencies": { + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" + } + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==" + }, + "prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmmirror.com/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==" + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==" + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "requires": { + "xmlchars": "^2.2.0" + } + }, + "send": { + "version": "0.19.0", + "resolved": "https://registry.npmmirror.com/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "requires": { + "ee-first": "1.1.1" + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + } + } + }, + "serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "requires": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "dependencies": { + "encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==" + } + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + }, + "sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "requires": { + "min-indent": "^1.0.0" + } + }, + "stylus": { + "version": "0.57.0", + "resolved": "https://registry.npmmirror.com/stylus/-/stylus-0.57.0.tgz", + "integrity": "sha512-yOI6G8WYfr0q8v8rRvE91wbxFU+rJPo760Va4MF6K0I6BZjO4r+xSynkvyPBP9tV1CIEUeRsiidjIs2rzb1CnQ==", + "requires": { + "css": "^3.0.0", + "debug": "^4.3.2", + "glob": "^7.1.6", + "safer-buffer": "^2.1.2", + "sax": "~1.2.4", + "source-map": "^0.7.3" + }, + "dependencies": { + "debug": { + "version": "4.3.7", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "requires": { + "ms": "^2.1.3" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + } + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "requires": { + "readable-stream": "3" + } + }, + "tildify": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/tildify/-/tildify-2.0.0.tgz", + "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==" + }, + "titlecase": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/titlecase/-/titlecase-1.1.3.tgz", + "integrity": "sha512-pQX4oiemzjBEELPqgK4WE+q0yhAqjp/yzusGtlSJsOuiDys0RQxggepYmo0BuegIDppYS3b3cpdegRwkpyN3hw==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + } + }, + "tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "requires": { + "punycode": "^2.1.1" + } + }, + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmmirror.com/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + }, + "w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "requires": { + "xml-name-validator": "^4.0.0" + } + }, + "warehouse": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/warehouse/-/warehouse-4.0.2.tgz", + "integrity": "sha512-GixS7SolBGu81rnxYM6bScxdElLM97Jx/kr0a6B6PGBWFqvHeuWFj7QbgEX1YWZSxiJt/aR6dBVQKC/PvvihdQ==", + "requires": { + "bluebird": "^3.2.2", + "cuid": "^2.1.4", + "graceful-fs": "^4.1.3", + "hexo-log": "^3.0.0", + "is-plain-object": "^5.0.0", + "jsonparse": "^1.3.1", + "rfdc": "^1.1.4", + "through2": "^4.0.2" + } + }, + "webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==" + }, + "whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "requires": { + "iconv-lite": "0.6.3" + } + }, + "whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==" + }, + "whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "requires": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "ws": { + "version": "8.18.0", + "resolved": "https://registry.npmmirror.com/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "requires": {} + }, + "xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==" + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..486472d --- /dev/null +++ b/package.json @@ -0,0 +1,26 @@ +{ + "name": "hexo-site", + "version": "0.0.0", + "private": true, + "scripts": { + "build": "hexo generate", + "clean": "hexo clean", + "deploy": "hexo deploy", + "server": "hexo server" + }, + "hexo": { + "version": "6.3.0" + }, + "dependencies": { + "hexo": "^6.3.0", + "hexo-generator-archive": "^2.0.0", + "hexo-generator-category": "^2.0.0", + "hexo-generator-index": "^3.0.0", + "hexo-generator-tag": "^2.0.0", + "hexo-renderer-ejs": "^2.0.0", + "hexo-renderer-marked": "^6.0.0", + "hexo-renderer-stylus": "^2.1.0", + "hexo-server": "^3.0.0", + "hexo-theme-landscape": "^1.0.0" + } +} \ No newline at end of file diff --git a/scaffolds/draft.md b/scaffolds/draft.md new file mode 100644 index 0000000..498e95b --- /dev/null +++ b/scaffolds/draft.md @@ -0,0 +1,4 @@ +--- +title: {{ title }} +tags: +--- diff --git a/scaffolds/page.md b/scaffolds/page.md new file mode 100644 index 0000000..f01ba3c --- /dev/null +++ b/scaffolds/page.md @@ -0,0 +1,4 @@ +--- +title: {{ title }} +date: {{ date }} +--- diff --git a/scaffolds/post.md b/scaffolds/post.md new file mode 100644 index 0000000..1f9b9a4 --- /dev/null +++ b/scaffolds/post.md @@ -0,0 +1,5 @@ +--- +title: {{ title }} +date: {{ date }} +tags: +--- diff --git a/source/_data/AI-ASR.yml b/source/_data/AI-ASR.yml new file mode 100644 index 0000000..4f72af1 --- /dev/null +++ b/source/_data/AI-ASR.yml @@ -0,0 +1,4 @@ +- name: CapsWriter + url: https://github.com/HaujetZhao/CapsWriter + img: /img/CapsWriter.ico + description: 一款电脑语音输入工具,也可以用来添加字幕 \ No newline at end of file diff --git a/source/_data/AI-TTS.yml b/source/_data/AI-TTS.yml new file mode 100644 index 0000000..458b6af --- /dev/null +++ b/source/_data/AI-TTS.yml @@ -0,0 +1,12 @@ +- name: ChatTTS + url: https://github.com/2noise/ChatTTS + img: /img/ChatTTS.ico + description: 一款适用于日常对话的生成式语音模型 +- name: GPT-SoVITS + url: https://github.com/RVC-Boss/GPT-SoVITS + img: + description: 强大的少样本语音转换与语音合成Web用户界面 +- name: Bert-VITS2 + url: https://github.com/2noise/ChatTTS + img: /img/Bert-VITS2.png + description: 强大的开源TTS模型 \ No newline at end of file diff --git a/source/_data/AI-其它.yml b/source/_data/AI-其它.yml new file mode 100644 index 0000000..7c1e047 --- /dev/null +++ b/source/_data/AI-其它.yml @@ -0,0 +1,24 @@ +- name: MemFree + url: https://github.com/memfreeme/memfree + img: /img/MemFree.png + description: 一个混合 AI 搜索引擎,代码开源,可以自托管 +- name: 数字生命 + url: https://github.com/zixiiu/Digital_Life_Server + img: /img/Digital_Life_Server.jfif + description: 极客湾的数字生命项目 +- name: firecrawl + url: https://github.com/mendableai/firecrawl + img: /img/firecrawl.png + description: 将网站自动转换为LLM数据 +- name: Real-time-translation-typing + url: https://github.com/sxzxs/Real-time-translation-typing + img: /img/Real-time-translation-typing.png + description: 实时打字翻译助手 +- name: RefAudioEmoTagger + url: https://github.com/Alexw1111/RefAudioEmoTagger + img: /img/RefAudioEmoTagger.jfif + description: 一种基于Emotion2Vec的批量音频情感自动标注脚本 +- name: Crawl4AI + url: https://github.com/unclecode/crawl4ai + img: /img/RefAudioEmoTagger.jfif + description: 开源AI网络爬虫工具,可以直接用于大语言模型和AI应用。性能快,还能输出适合大语言模型的格式,比如JSON、清理过的HTML和markdown。它还支持同时爬取多个网址,能提取所有媒体标签(图片、音频、视频),以及所有内外部链接。可以自定义用户代理,还能给网页截图,甚至在爬取之前执行自定义JavaScript。 \ No newline at end of file diff --git a/source/_data/AI-图像影音类.yml b/source/_data/AI-图像影音类.yml new file mode 100644 index 0000000..4dfe361 --- /dev/null +++ b/source/_data/AI-图像影音类.yml @@ -0,0 +1,44 @@ +- name: IC-Light + url: https://github.com/lllyasviel/IC-Light + img: /img/IC-Light.jfif + description: 为图像重新打光和更换背景 +- name: APISR + url: https://github.com/Kiteretsu77/APISR + img: /img/APISR.png + description: 开源的图像超分辨率模型 +- name: ComfyUI + url: https://github.com/comfyanonymous/ComfyUI + img: /img/ComfyUI.png + description: 一个强大的、模块化的 Stable Diffusion GUI,具有图形/节点界面 +- name: LivePortrait + url: https://github.com/KwaiVGI/LivePortrait + img: /img/LivePortrait.png + description: 控制图像的面部表情和动作 +- name: CogVideo + url: https://github.com/THUDM/CogVideo + img: /img/CogVideo.png + description: 质谱开源的文生视频模型 +- name: metahuman-stream + url: https://github.com/lipku/metahuman-stream + img: + description: 实时交互流式数字人项目 +- name: image-matting + url: https://github.com/pangxiaobin/image-matting + img: /img/image-matting.png + description: 本地桌面AI抠图软件 +- name: Deep Live Cam + url: https://deeplive.cam/zh + img: /img/deeplive.ico + description: 只需一张图片,就可实现视频的人脸替换 +- name: Linly-Dubbing + url: https://github.com/Kedreamix/Linly-Dubbing + img: /img/Linly-Dubbing.jfif + description: AI 视频配音的开源工具,自动将外语视频改成中文配音 +- name: HivisionIDPhotos + url: https://github.com/Zeyi-Lin/HivisionIDPhotos + img: /img/HivisionIDPhotos.jpeg + description: 一个轻量级的AI证件照制作算法 +- name: facefusion + url: https://github.com/facefusion/facefusion + img: /img/facefusion.jfif + description: AI 换脸工具 \ No newline at end of file diff --git a/source/_data/AI-大语言模型.yml b/source/_data/AI-大语言模型.yml new file mode 100644 index 0000000..7ffdfa0 --- /dev/null +++ b/source/_data/AI-大语言模型.yml @@ -0,0 +1,20 @@ +- name: bilibot + url: https://github.com/linyiLYi/bilibot + img: /img/bilibot.jfif + description: 由哔哩哔哩用户评论微调训练而成的本地聊天机器人 +- name: ChatGLM3 + url: https://github.com/THUDM/ChatGLM3 + img: /img/ChatGLM3.png + description: 开源双语对话语言模型,智谱AI和清华大学 KEG 实验室联合发布 +- name: GLM-4 + url: https://github.com/THUDM/GLM-4 + img: /img/GLM-4.png + description: 开源多语言多模态对话模型,智谱 AI 推出 +- name: Ask Many AI + url: https://www.askmanyai.cn/ + img: /img/askmanyai.ico + description: 同时向多种模型提问 +- name: petercat + url: https://github.com/petercat-ai/petercat + img: /img/petercat.png + description: 为自己的 GitHub 仓库一键创建智能答疑机器人 \ No newline at end of file diff --git a/source/_data/MacOS.yml b/source/_data/MacOS.yml new file mode 100644 index 0000000..8705b6b --- /dev/null +++ b/source/_data/MacOS.yml @@ -0,0 +1,4 @@ +- name: NotchDrop + url: https://github.com/Lakr233/NotchDrop/ + img: /img/NotchDrop.png + description: 将 MacBook 刘海变成一个文件传输和暂存区域 \ No newline at end of file diff --git a/source/_data/VSCode-PHP.yml b/source/_data/VSCode-PHP.yml new file mode 100644 index 0000000..e69de29 diff --git a/source/_data/VSCode-others.yml b/source/_data/VSCode-others.yml new file mode 100644 index 0000000..872ced5 --- /dev/null +++ b/source/_data/VSCode-others.yml @@ -0,0 +1,16 @@ +- name: aide + url: https://github.com/nicepkg/aide + img: /img/aide.svg + description: 在 VSCode 中征服任何代码:一键注释、转换、UI 图生成代码、AI 批量处理文件 +- name: GitLens + url: https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens + img: /img/GitLens.png + description: 在 VS Code 中增强 Git +- name: Easy CodeSnap + url: https://marketplace.visualstudio.com/items?itemName=ArthurLobo.easy-codesnap + img: /img/easy-codesnap.png + description: 生成美观的代码截图 +- name: TODO Highlight + url: https://marketplace.visualstudio.com/items?itemName=wayou.vscode-todo-highlight + img: /img/todo-highlight.png + description: 高亮 TODO、FIXME 等关键词,注视 \ No newline at end of file diff --git a/source/_data/VSCode-前端.yml b/source/_data/VSCode-前端.yml new file mode 100644 index 0000000..6c6af8a --- /dev/null +++ b/source/_data/VSCode-前端.yml @@ -0,0 +1,24 @@ +- name: Vue 3 Snippets + url: https://marketplace.visualstudio.com/items?itemName=hollowtree.vue-snippets + img: /img/Vue3Snippets.jfif + description: Vue.js 3 和 Vue.js 2 代码片段扩展 +- name: Vue - Official + url: https://marketplace.visualstudio.com/items?itemName=Vue.volar + img: /img/Vue-Official.png + description: Vue 代码补全和检查 +- name: JavaScript Debugger + url: https://marketplace.visualstudio.com/items?itemName=ms-vscode.js-debug + img: /img/JavaScriptDebugger.png + description: 将断点映射到浏览器中 +- name: Live Server + url: https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer + img: /img/LiveServer.png + description: 启动一个本地 WEB 服务器 +- name: CSS Peek + url: https://marketplace.visualstudio.com/items?itemName=pranaygp.vscode-css-peek + img: /img/CSSPeek.png + description: 根据 css 类和 id 定位到对应的文件中 +- name: Console Ninja + url: https://marketplace.visualstudio.com/items?itemName=WallabyJs.console-ninja + img: /img/console-ninja.png + description: 将 console.log 的打印显示在代码右侧 \ No newline at end of file diff --git a/source/_data/blogs.yml b/source/_data/blogs.yml new file mode 100644 index 0000000..1e6bb34 --- /dev/null +++ b/source/_data/blogs.yml @@ -0,0 +1,12 @@ +- name: 酷壳 – CoolShell.cn + url: https://coolshell.cn/ + img: /img/CoolShell.png + description: 纪念陈皓 +- name: 阮一峰的个人网站 + url: https://www.ruanyifeng.com/ + img: /img/ruanyifeng.ico + description: 阮一峰的个人网站 - Ruan YiFeng's Personal Website +- name: 电脑星人 + url: https://imkero.net/ + img: /img/电脑星人.jpg + description: 让此刻不会老 \ No newline at end of file diff --git a/source/_data/linux.yml b/source/_data/linux.yml new file mode 100644 index 0000000..b6b6e9c --- /dev/null +++ b/source/_data/linux.yml @@ -0,0 +1,12 @@ +- name: 星火应用商店 + url: https://www.spark-app.store/ + img: /img/spark-app.ico + description: 专注Linux应用适配的应用商店 +- name: 网易云音乐-linux + url: https://d1.music.126.net/dmusic/netease-cloud-music_1.2.1_amd64_ubuntu_20190428.deb + img: /img/163music.ico + description: Linux 版本的网易云音乐,2019年与 Deepin 联合开发,已停更 +- name: logiops + url: https://github.com/PixlOne/logiops + img: /img/logiops.png + description: 适用于 HID++ Logitech 设备的非官方用户空间驱动程序 \ No newline at end of file diff --git a/source/_data/前端-Javascript库.yml b/source/_data/前端-Javascript库.yml new file mode 100644 index 0000000..861f017 --- /dev/null +++ b/source/_data/前端-Javascript库.yml @@ -0,0 +1,36 @@ +- name: anti-baidu + url: https://github.com/lurongkai/anti-baidu + img: /img/anti-baidu.jpg + description: 如果有人通过百度搜索访问您的网站,就会弹出一个反百度对话框 +- name: Toastr + url: https://github.com/CodeSeven/toastr + img: + description: 简单的 javascript Toast 通知 +- name: Swiper + url: https://www.swiper.com.cn/ + img: /img/Swiper.ico + description: 目前应用较广泛的移动端网页触摸内容滑动js插件 +- name: tesseract.js + url: https://github.com/naptha/tesseract.js + img: /img/tesseract.js.png + description: 适用于 100 多种语言的纯 Javascript OCR +- name: nsfwjs + url: https://github.com/infinitered/nsfwjs + img: /img/nsfwjs.jpg + description: 鉴黄JS +- name: driver.js + url: https://github.com/kamranahmedse/driver.js + img: /img/driver.js.svg + description: 精美,轻量的用户引导JS +- name: quicklink + url: https://github.com/GoogleChromeLabs/quicklink + img: /img/quicklink.png + description: 在空闲时间预加载视口内链接,会增加带宽负担 +- name: Text Search Engine + url: https://github.com/cjinhuo/text-search-engine + img: /img/Text Search Engine.png.jfif + description: 模糊搜索库,具有中文拼音的模糊搜索等多种功能 +- name: fakeCAPTCHA + url: https://github.com/fucklinux/fakeCAPTCHA + img: /img/Text Search Engine.png.jfif + description: 假的人机验证组件,可自定义显示内容 \ No newline at end of file diff --git a/source/_data/前端-工具.yml b/source/_data/前端-工具.yml new file mode 100644 index 0000000..1bc92a8 --- /dev/null +++ b/source/_data/前端-工具.yml @@ -0,0 +1,48 @@ +- name: CSS可视化 + url: https://css.bqrdh.com/ + img: /img/css.ico + description: CSS可视化 +- name: CSS灵感 + url: https://csscoco.com/inspiration/#/ + img: /img/css-inspiration.png + description: 可以让你寻找到使用或者是学习 CSS 的灵感 +- name: iCSS + url: https://github.com/chokcoco/iCSS + img: /img/iCSS.jpg + description: 围绕 CSS/Web动画 展开,谈一些有趣的话题 +- name: icons8 + url: https://icons8.com/ + img: /img/icons8.svg + description: 免费图标工具 +- name: fontright + url: https://js.design/fontright?source=OMG&plan=bz + img: /img/fontright.ico + description: 字体版权工具 +- name: HTML5 UP + url: https://html5up.net/ + img: /img/html5up.ico + description: 大量好看的免费 HTML 模板 +- name: ConvertFast UI + url: https://ui.convertfa.st/ + img: + description: 一个快速生成落地页的工具,可以选择落地页的常见模块 +- name: favicon.im + url: https://favicon.im/ + img: /img/favicon.im.png + description: 下载或在网页中插入其他网站的 Favicon 图片,可以放大显示 +- name: Porn Logo Maker + url: https://porn-logo.com/ + img: /img/porn-logo.png + description: 定制拼色 Logo 的在线工具 +- name: Penpot + url: https://penpot.app/ + img: /img/penpot.ico + description: 一个基于 Web 的开源设计工具,Figma 的替代品 +- name: jsongenerator + url: https://www.jsongenerator.io/ + img: /img/jsongenerator.ico + description: 生成符合要求的 Json 伪数据 +- name: JSON For You + url: https://github.com/loggerhead/json4u/ + img: /img/json4u.svg + description: 开源的 JSON 数据的在线可视化、处理工具 \ No newline at end of file diff --git a/source/_data/图片设计.yml b/source/_data/图片设计.yml new file mode 100644 index 0000000..2ea79db --- /dev/null +++ b/source/_data/图片设计.yml @@ -0,0 +1,36 @@ +- name: Canva - 可画 🔥 + url: https://www.canva.cn/ + img: https://static.canva.cn/static/images/favicon.ico + description: 封面制作网站 +- name: Figma 🔥 + url: https://www.figma.com/ + img: https://static.figma.com/app/icon/1/favicon.png + description: 软件原型设计网站 +- name: 爱设计 + url: https://www.isheji.com/ + img: https://www.isheji.com/isheji_favicon.ico + description: 在线封面设计神器 +- name: Photopea 🔥 + url: https://www.photopea.com/ + img: https://www.photopea.com/promo/icon512.png + description: 网页版PhotoShop +- name: Brandmark + url: https://app.brandmark.io/v3/ + img: https://app.brandmark.io/favicon32.gif + description: Logo制作网站 +- name: 绘图 Diagram + url: https://app.diagrams.net + img: https://app.diagrams.net/favicon.ico + description: 在线绘图网站 +- name: ProcessOn + url: https://www.processon.com/ + img: https://www.processon.com/favicon.ico + description: 免费在线作图,思维导图,流程图,实时协作 +- name: Bilibili封面提取 + url: https://bilicover.magecorn.com/ + img: https://www.bilibili.com/favicon.ico + description: 通过输入B站视频链接即可在线获取封面地址 +- name: Xnapper Studio + url: https://xnapper.com/app + img: /img/Xnapper-Studio.ico + description: 截图美化工具 \ No newline at end of file diff --git a/source/_data/好玩的东西.yml b/source/_data/好玩的东西.yml new file mode 100644 index 0000000..d639fdd --- /dev/null +++ b/source/_data/好玩的东西.yml @@ -0,0 +1,16 @@ +- name: AI 嘴替 + url: https://zuiti.app/ + img: /img/zuiti.png + description: 对指定的微博用户进行人格分析 +- name: similar-websites + url: https://sitechecker.pro/similar-websites/ + img: /img/sitechecker.ico + description: 查找相似的网站 +- name: saucenao.com + url: https://saucenao.com/ + img: /img/saucenao.ico + description: 强大的以图搜图,尤其是 pixiv 上的图片 +- name: 退休计算器 + url: https://daojishi.fun/ + img: /img/退休计算器.ico + description: 退休计算器,人生找乐子 \ No newline at end of file diff --git a/source/_data/工具-其它.yml b/source/_data/工具-其它.yml new file mode 100644 index 0000000..f7ade29 --- /dev/null +++ b/source/_data/工具-其它.yml @@ -0,0 +1,132 @@ +- name: BewlyBewly + url: https://github.com/hakadao/BewlyBewly/ + img: /img/BewlyBewly.png + description: 重新设计 BiliBili 用户界面来提升用户体验 +- name: terminal + url: https://github.com/microsoft/terminal + img: /img/terminal.png + description: 好看且好用的终端,微软出品 +- name: DistroSea + url: https://distrosea.com/ + img: /img/DistroSea.ico + description: 在线试用各种 Linux 发行版,它会分配一个虚拟机,浏览器里连接桌面 +- name: 错别字检测 + url: http://www.biezi.com/ + img: /img/biezi.png + description: 为文章检查错别字 +- name: 特殊英文字体生成器 + url: https://www.jiuwa.net/ywzm/ + img: /img/jiuwa.png + description: 可用在一些社交平台的昵称和简介里 +- name: RTranslator + url: https://github.com/niedev/RTranslator + img: /img/RTranslator.png + description: 在本地运行的适用于 Android 的开源实时翻译应用程序 +- name: xiaoju-survey + url: https://github.com/didi/xiaoju-survey + img: /img/xiaoju-survey.jpg + description: 提供企业级调研服务,「快速」打造「专属」问卷系统, 让调研「更轻松」 +- name: ncmdump + url: https://github.com/taurusxin/ncmdump + img: /img/ncmdump.png + description: 转换网易云音乐 ncm 到 mp3 / flac +- name: EasySpider + url: https://github.com/NaiboWang/EasySpider + img: /img/EasySpider.jfif + description: 一个可视化浏览器自动化测试/数据采集/爬虫软件 +- name: FluentRead + url: https://github.com/Bistutu/FluentRead + img: /img/FluentRead.jfif + description: 拥有基于上下文语境的人工智能翻译引擎,为网站提供更加友好的翻译,让所有人都能够拥有基于母语般的阅读体验 +- name: my-tv + url: https://github.com/lizongying/my-tv + img: /img/my-tv.jfif + description: 电视直播软件,安装即可使用 +- name: EarTrumpet + url: https://github.com/File-New-Project/EarTrumpet + img: /img/EarTrumpet.png + description: 在 Windows 上调整每个应用的音量 +- name: Fluent Reader + url: https://github.com/yang991178/fluent-reader + img: /img/fluent-reader.png + description: 现代桌面 RSS 阅读器 +- name: 域名百科 + url: https://dotwiki.com/ + img: /img/dotwiki.ico + description: 域名百科 +- name: 哪煮米 + url: https://www.nazhumi.com/ + img: /img/哪煮米.ico + description: 全网域名,一站比价 +- name: cobalt + url: https://github.com/imputnet/cobalt + img: /img/cobalt.png + description: 音视频资源下载器,支持国内外几乎所有网站 +- name: SQLYNX + url: https://www.sqlynx.com/ + img: /img/SQLYNX.svg + description: WEB 和桌面 SQL 编辑器 +- name: KasmVNC + url: https://github.com/kasmtech/KasmVNC + img: /img/KasmVNC.jpg + description: 一个远程桌面的 VNC 软件,不需要客户端,只要服务器安装后,就可以通过浏览器访问 +- name: openalternative + url: https://openalternative.co/ + img: /img/openalternative.ico + description: 查询软件的开源平替 +- name: alternativeto + url: https://alternativeto.net/ + img: /img/alternativeto.ico + description: 查询软件的替代品,与上一个类似 +- name: mikufans录播姬 + url: https://github.com/BililiveRecorder/BililiveRecorder + img: /img/BililiveRecorder.png + description: 录播姬 | mikufans 生放送录制 +- name: biliup + url: https://github.com/biliup/biliup + img: + description: 全自动录播、直播录制、分p投稿工具,支持twitch、ytb频道搬运 +- name: Ente Auth + url: https://ente.io/auth/ + img: /img/ente.png + description: 一个开源的双因素认证码管理器 +- name: 图片盲水印查看器 + url: http://www.atoolbox.net/Tool.php?Id=1052 + img: /img/atoolbox.png + description: 查看图片各通道的最低位(LSB)信息 +- name: screen studio + url: https://www.screen.studio/ + img: /img/www.screen.png + description: 录制演示录屏工具(Mac) +- name: Focusee + url: https://gemoo.com/focusee/ + img: /img/gemoo.ico + description: 录制演示录屏工具(Win) +- name: MinerU + url: https://github.com/opendatalab/MinerU + img: /img/MinerU-logo.png + description: 强大的数据提取工具,将PDF,DOC等格式转换为Markdown +- name: B站空降助手 + url: https://github.com/hanydd/BilibiliSponsorBlock + img: /img/LogoSponsorBlocker256px.png + description: 一款跳过B站视频中恰饭片段的浏览器插件 +- name: DawnLauncher + url: https://github.com/fanchenio/DawnLauncher + img: + description: Windows快捷启动工具,帮助您整理杂乱无章的桌面,分门别类管理您的桌面快捷方式,让您的桌面保持干净整洁 +- name: omnivore + url: https://github.com/omnivore-app/omnivore + img: /img/omnivore.png + description: 一个稍后阅读文章工具 +- name: Inbox Zero + url: https://github.com/elie222/inbox-zero + img: + description: 借助AI整理收件箱 保持零邮件 +- name: screenshot-to-code + url: https://github.com/liseami/screenshot-to-code + img: + description: 一个简单的工具,可使用 AI 将屏幕截图、模型和 Figma 设计转换为干净、实用的代码。现在支持 Claude Sonnet 3.5 和 GPT-4o +- name: MusicFree + url: https://musicfree.catcat.work/ + img: /img/MusicFree.png + description: 一个插件化的音乐播放器 \ No newline at end of file diff --git a/source/_data/工具-素材.yml b/source/_data/工具-素材.yml new file mode 100644 index 0000000..064103f --- /dev/null +++ b/source/_data/工具-素材.yml @@ -0,0 +1,8 @@ +- name: 影视飓风 + url: https://www.ysjf.com/materialLibrary + img: /img/影视飓风.png + description: 影视飓风拍摄的大量可免费商用素材 +- name: Video file compressor + url: https://tools.rotato.app/compress + img: + description: 强大的视频压缩工具 \ No newline at end of file diff --git a/source/_data/工具-设计.yml b/source/_data/工具-设计.yml new file mode 100644 index 0000000..34f1cb0 --- /dev/null +++ b/source/_data/工具-设计.yml @@ -0,0 +1,28 @@ +- name: Squoosh + url: https://github.com/GoogleChromeLabs/squoosh + img: /img/squoosh.webp + description: 直接在浏览器中使用一流的编解码器缩小图像,Google出品 +- name: screenshot.rocks + url: https://screenshot.rocks/ + img: /img/screenshot.rocks.ico + description: 一个在线工具,可以为网页截图加上浏览器边框 +- name: HTML👉JADE/PUG + url: http://html2jade.org/ + img: /img/HTML👉JADEPUG.ico + description: HTML👉JADE/PUG 实时在线转换网站 +- name: I❤️IMG + url: https://www.iloveimg.com/zh-cn + img: /img/I❤️IMG.png + description: 免费批量编辑图片工具(包括透明图片裁剪) +- name: iconfont-阿里巴巴矢量图标库 + url: https://www.iconfont.cn/ + img: /img/iconfont.png + description: 阿里巴巴矢量图标库 +- name: Billfish素材管家 + url: https://www.billfish.cn/ + img: /img/Billfish.ico + description: 专为设计师打造的图片素材管理工具,所有功能全部免费 +- name: 全球酷站 + url: https://matrixflip.com/discoveries/page/1 + img: /img/全球酷站.png + description: 收录了大量设计惊艳的网站 \ No newline at end of file diff --git a/source/_data/文章.yml b/source/_data/文章.yml new file mode 100644 index 0000000..e3470a3 --- /dev/null +++ b/source/_data/文章.yml @@ -0,0 +1,24 @@ +- name: 中国网络防火长城简史 + url: https://blog.tsingjyujing.com/spam/gfw-history + img: /img/中国网络防火长城简史.avif + description: 中国网络防火长城简史 +- name: 科技爱好者周刊 + url: https://github.com/ruanyf/weekly + img: /img/科技爱好者周刊.jfif + description: 科技爱好者周刊,每周五发布 +- name: 纪念陈皓(左耳朵耗子) + url: https://www.cnblogs.com/Solstice/p/haoel.html + img: /img/纪念陈皓(左耳朵耗子).webp + description: 纪念陈皓(左耳朵耗子) +- name: 戒鸡瘾的办法 + url: https://www.nodeseek.com/post-113191-1 + img: + description: pve快速配置IPv6+nat教程 && Lxc评测脚本发布,评测宿主机系统 +- name: quicklink:实现原理与给前端的启发 + url: https://www.jianshu.com/p/7dc94efe7e2e + img: + description: 【性能优化】quicklink:实现原理与给前端的启发 +- name: 秒开的艺术:Hexo 博客首屏耗时优化实践 + url: https://imkero.net/posts/hexo-page-performance/ + img: + description: 秒开的艺术:Hexo 博客首屏耗时优化实践 \ No newline at end of file diff --git a/source/_data/无人机.yml b/source/_data/无人机.yml new file mode 100644 index 0000000..001ff90 --- /dev/null +++ b/source/_data/无人机.yml @@ -0,0 +1,12 @@ +- name: SBDJI + url: https://sbdji.cc/ + img: /img/SBDJI.ico + description: 全球无人机资讯汇总 +- name: 天空之城 + url: https://www.skypixel.com/ + img: /img/天空之城.png + description: 小偷模拟器,获取各景点保安的详细活动轨迹和性格 +- name: 民用无人驾驶航空器综合管理平台 + url: https://uom.caac.gov.cn/ + img: /img/uom.png + description: 国家无人驾驶航空器一体化综合监管服务平台(民用无人驾驶航空器综合管理平台) \ No newline at end of file diff --git a/source/_data/有趣的开源项目.yml b/source/_data/有趣的开源项目.yml new file mode 100644 index 0000000..aaf0739 --- /dev/null +++ b/source/_data/有趣的开源项目.yml @@ -0,0 +1,108 @@ +- name: telegraph + url: https://github.com/0-RTT/telegraph + img: /img/telegraph.jfif + description: 基于telegraph的图床,图片大于5MB自动压缩 +- name: newredlens + url: https://github.com/CQUPTMirror/newredlens + img: /img/newredlens.png + description: 好看的开源软件镜像站前端 +- name: LookingGlass + url: https://github.com/telephone/LookingGlass + img: /img/LookingGlass.jfif + description: 适合云服务商展示服务器线路的PHP项目 +- name: Page Replica + url: https://github.com/Page-Replica/page-replica + img: /img/page-replica.png + description: 架设一个缓存网站,可以抓取其他网站和网页,建立一个缓存版本,通过它来中介访问 +- name: DirectoryLister + url: https://github.com/DirectoryLister/DirectoryLister + img: /img/DirectoryLister.png + description: 一个Web文件浏览器,功能极其丰富 +- name: AntiZhaPian + url: https://github.com/XJP-GIT/AntiZhaPian + img: /img/AntiZhaPian.jpg + description: 假的国家反诈中心 +- name: shit-url + url: https://llili.li/ + img: /img/shit-url.png + description: 屑链生成,最屑的短链接生成站 +- name: BroadcastChannel + url: https://github.com/ccbikai/BroadcastChannel + img: /img/BroadcastChannel.png + description: 把你的Telegram频道变成一个微博,无需服务器 +- name: debian-media-box + url: https://github.com/moesoha/debian-media-box + img: /img/debian-media-box.png + description: “Debian 小药盒”,一个用来包装 Debian 安装介质的盒子设计和介绍用的说明书。 +- name: OpenGFW + url: https://github.com/apernet/OpenGFW + img: /img/OpenGFW.png + description: 可以部署在家用路由器上的网络主权 - 你也能是老大哥 +- name: heyform + url: https://github.com/heyform/heyform + img: /img/heyform.jfif + description: 一个开源表单构建器,允许任何人为调查、问卷、测验和民意调查创建引人入胜的对话表单 +- name: Minecraft-Server-Ports-Scanner-GUI + url: https://github.com/hite4044/Minecraft-Server-Ports-Scanner-GUI + img: /img/Minecraft-Server-Ports-Scanner-GUI.png + description: 扫描服务器上所有的MC服务器,并使用GUI显示几乎所有信息 +- name: ente + url: https://github.com/ente-io/ente + img: /img/ente.png + description: 完全开源,端到端加密的Google照片和Apple Photos替代品 +- name: 文件快递柜 + url: https://github.com/vastsa/FileCodeBox + img: /img/FileCodeBox.png + description: 匿名口令分享文本,文件,像拿快递一样取文件 +- name: Docker-OSX + url: https://github.com/sickcodes/Docker-OSX + img: /img/Docker-OSX.png + description: 快速使用 Docker 启动一个 MacOS +- name: devzat + url: https://github.com/quackduck/devzat + img: /img/devzat.png + description: 程序员专属 SSH 聊天室 +- name: synctv + url: https://github.com/synctv-org/synctv + img: /img/synctv.png + description: 一个可以远程一起看电影/直播的程序,目前存在严重的xss注入漏洞 +- name: inter-knot + url: https://github.com/share121/inter-knot + img: /img/inter-knot.svg + description: 绳网 +- name: frp内网穿透全端口映射方案 + url: https://github.com/bkywksj/frp + img: /img/bkywksjfrp.jfif + description: frp内网穿透全端口映射方案(支持ssh、http、https) +- name: frpc-desktop + url: https://github.com/luckjiawei/frpc-desktop + img: /img/frpc-desktop.png + description: 一个frpc桌面客户端 +- name: AsmBB + url: https://asmbb.org/ + img: /img/asmbb.png + description: 一个使用汇编语言写的论坛应用,性能很强,对机器配置的要求很低 +- name: Coolify + url: https://github.com/coollabsio/coolify + img: /img/Coolify.png + description: 开源的应用运行平台,相当于自己搭建一个 Heroku / Netlify / Vercel 替代品,各种应用可以轻松在上面运行 +- name: Marsview + url: https://github.com/JackySoft/marsview + img: /img/Marsview.png + description: 一款面向后台的低代码可视化搭建平台,快速搭建中后台管理系统 +- name: Class-Widgets + url: https://github.com/RinLit-233-shiroko/Class-Widgets + img: /img/Class-Widgets.png + description: 提供了易用课程表编辑和美观的桌面组件 +- name: socialify + url: https://github.com/wei/socialify + img: /img/socialify.ico + description: 以图片展示 Github 项目的数据 +- name: WebChat + url: https://github.com/molvqingtai/WebChat + img: /img/WebChat.png + description: 一个去中心化、无服务器的匿名聊天浏览器扩展程序 +- name: IPTV电视直播源更新工具 + url: https://github.com/Guovin/TV + img: /img/Guovin.tv.png + description: 自定义频道菜单,根据模板频道,自动获取并更新最新的直播源接口,测速校验后生成可用的接口文件 \ No newline at end of file diff --git a/source/_data/编程.yml b/source/_data/编程.yml new file mode 100644 index 0000000..adcb403 --- /dev/null +++ b/source/_data/编程.yml @@ -0,0 +1,24 @@ +- name: chinese-programmer-wrong-pronunciation + url: https://github.com/shimohq/chinese-programmer-wrong-pronunciation + img: /img/chinese-programmer-wrong-pronunciation.png + description: 中国程序员容易发音错误的单词 +- name: code-box + url: https://github.com/027xiguapi/code-box + img: /img/code-box.png + description: 用来解除 CSDN/知乎/脚本之家等网站的限制(比如要求登录)的开源的浏览器插件 +- name: 菜鸟教程 + url: https://www.runoob.com/ + img: /img/runoob.ico + description: 供了编程的基础技术教程, 介绍了HTML、CSS、Javascript、Python,Java,Ruby,C,PHP , MySQL等各种编程语言的基础知识。 同时本站中也提供了大量的在线实例,通过实例,您可以更好的学习编程 +- name: RegExr + url: https://regexr.com/ + img: /img/RegExr.png + description: 学习,测试正则表达式 +- name: APISQL + url: https://apisql.cn/ + img: /img/APISQL.ico + description: 轻松将内网数据库的增删改查,发布为外网可访问的HTTPS API +- name: public-apis + url: https://github.com/public-apis/public-apis + img: /img/public-apis.png + description: 收集了大量公开API,有好用的,也有好玩的 \ No newline at end of file diff --git a/source/_data/网络.yml b/source/_data/网络.yml new file mode 100644 index 0000000..cac1570 --- /dev/null +++ b/source/_data/网络.yml @@ -0,0 +1,12 @@ +- name: local-ISPs-to-CN + url: https://github.com/sjlleo/local-ISPs-to-CN/blob/cd760ca23cc9d1e4981af8993ab42a67885cc2f6/report_zh_CN.md + img: /img/local-ISPs-to-CN.jfif + description: 国内/国际互联线路知识 +- name: ZBProxy + url: https://github.com/layou233/ZBProxy/ + img: /img/ZBProxy.png + description: 一个简单、快速、高性能的多用途 TCP 中继,主要为搭建 Hypixel 加速 IP 而开发。 +- name: China Internationally-connected + url: https://github.com/china-net/Internationally-connected + img: /img/China-Internationally-connected.png + description: 中国的国际网络互联状态介绍 \ No newline at end of file diff --git a/source/_data/视图文素材.yml b/source/_data/视图文素材.yml new file mode 100644 index 0000000..2ddb725 --- /dev/null +++ b/source/_data/视图文素材.yml @@ -0,0 +1,44 @@ +- name: 阿里巴巴矢量图标库 iconfont 🔥 + url: https://www.iconfont.cn/ + img: https://img.alicdn.com/imgextra/i2/O1CN01ZyAlrn1MwaMhqz36G_!!6000000001499-73-tps-64-64.ico + description: 国内功能很强大且图标内容很丰富的矢量图标库 +- name: OfficePLUS 🔥 + url: https://www.officeplus.cn/ + img: https://fe.officeplus.cn/favicon.ico + description: 微软官方Office免费模板服务平台 +- name: 优品 PPT + url: https://www.ypppt.com/ + img: https://cdn.jsdelivr.net/npm/hassan-assets/navi/alphabet/Letter_Y.png + description: 一个有情怀的免费PPT模板下载网站! +- name: Wallpaper ABYSS + url: https://wall.alphacoders.com + img: https://wall.alphacoders.com/favicon.ico + description: 壁纸的聚集地 +- name: Pexels + url: https://www.pexels.com/ + img: https://www.pexels.com/favicon.ico + description: 才华横溢的摄影作者在这里免费分享最精彩的素材图片和视频 +- name: Font Awesome + url: https://fontawesome.dashgame.com/ + img: https://cdn.jsdelivr.net/npm/hassan-assets/navi/logos/Font_Awesome.png + description: 一套绝佳的图标字体库和CSS框架 +- name: 鸠摩搜索 Jiumo Search + url: https://www.jiumodiary.com/ + img: https://www.jiumodiary.com/images/favicon.png + description: 免费书籍下载 +- name: LoreFree 电子书 + url: https://ebook2.lorefree.com/ + img: https://ebook2.lorefree.com/favicon.ico + description: 免费电子书共享社区 +- name: LoreFree 学术文库 + url: http://paper.lorefree.com/ + img: https://ebook2.lorefree.com/favicon.ico + description: 学术共享,资源共建,让知识自由传播 +- name: 第一字体转换器 + url: http://www.diyiziti.com/ + img: http://www.diyiziti.com/favicon.ico + description: 字体转换器在线转换,艺术字体在线生成器 +- name: 字体家 + url: https://www.zitijia.com/ + img: https://www.zitijia.com/static/img/favicon.ico + description: 一家开发书法字体网站,内含正版付费、免费字体下载,另有字体在线转换程序 diff --git a/source/_data/运维.yml b/source/_data/运维.yml new file mode 100644 index 0000000..c2db5a2 --- /dev/null +++ b/source/_data/运维.yml @@ -0,0 +1,72 @@ +- name: Ban-Hacker-IP-Plan + url: https://github.com/Aabyss-Team/Ban-Hacker-IP-Plan + img: /img/Ban-Hacker-IP-Plan.jfif + description: 国内恶意IP封禁计划,还赛博空间一片朗朗乾坤 +- name: LinuxMirors + url: https://linuxmirrors.cn/ + img: /img/LinuxMirors.png + description: GNU/Linux 更换系统软件源脚本及 Docker 安装脚本 +- name: lxc-toolkit + url: https://github.com/no-passwd/lxc-toolkit + img: + description: lxc系统检测工具,用于获取lxc宿主信息 +- name: docker_image_pusher + url: https://github.com/tech-shrimp/docker_image_pusher + img: /img/docker_image_pusher.png + description: 使用Github Action将国外的Docker镜像转存到阿里云私有仓库,供国内服务器使用,免费易用 +- name: fscan + url: https://github.com/shadow1ng/fscan + img: /img/fscan.jfif + description: 一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描 +- name: vscan + url: https://github.com/veo/vscan + img: /img/vscan.gif + description: 网站漏洞扫描工具,帮助您快速检测网站安全隐患 +- name: china-operator-ip + url: https://github.com/gaoyifan/china-operator-ip + img: /img/china-operator-ip.jfif + description: 中国运营商IPv4/IPv6地址库-每日更新 +- name: 1Panel + url: https://github.com/1Panel-dev/1Panel + img: /img/1Panel.jfif + description: 现代化、开源的 Linux 服务器运维管理面板 +- name: ddns-go + url: https://github.com/jeessy2/ddns-go + img: /img/ddns-go.jfif + description: 简单易用的DDNS +- name: electerm + url: https://github.com/electerm/electerm + img: /img/electerm.png + description: 开源终端/ssh/telnet/serialport/RDP/VNC/sftp客户端 +- name: xterminal + url: https://www.xterminal.cn/ + img: /img/xterminal.svg + description: 不仅是强大的SSH工具,更提供本地控制台 +- name: MegaEase + url: https://megaease.cn/ + img: /img/MegaEase.png + description: 开源、自主可控、低成本、高可用 Cloud Native 平台 +- name: NETworkManager + url: https://github.com/BornToBeRoot/NETworkManager + img: /img/NETworkManager.svg + description: 开源的强大网管工具 +- name: Nmap + url: https://github.com/nmap/nmap + img: /img/Nmap.png + description: 网络扫描神器 +- name: hackingtool + url: https://github.com/Z4nzu/hackingtool + img: /img/hackingtool.png + description: 融合了各类漏洞扫描和攻击工具 +- name: InternetTest Pro + url: https://github.com/Leo-Corporation/InternetTest + img: /img/InternetTest Pro.png + description: 一款Windows连接工具,功能强大 +- name: pvetools + url: https://github.com/ivanhao/pvetools + img: /img/pvetools.webp + description: Proxmox VE Tools 脚本(Debian 9+ 可以使用)。包括电子邮件、samba、NFS set zfs max ram、嵌套虚拟化、docker、pci passthrough等 +- name: cloud_dns_exporter + url: https://github.com/eryajf/cloud_dns_exporter + img: + description: 自动获取DNS提供商的域名及解析列表,同时自动获取每个域名解析的证书信息,并导出为Prometheus Metrics。 \ No newline at end of file diff --git a/source/_posts/hello-world.md b/source/_posts/hello-world.md new file mode 100644 index 0000000..821780c --- /dev/null +++ b/source/_posts/hello-world.md @@ -0,0 +1,38 @@ +--- +title: Hello World +--- +Welcome to [Hexo](https://hexo.io/)! This is your very first post. Check [documentation](https://hexo.io/docs/) for more info. If you get any problems when using Hexo, you can find the answer in [troubleshooting](https://hexo.io/docs/troubleshooting.html) or you can ask me on [GitHub](https://github.com/hexojs/hexo/issues). + +## Quick Start + +### Create a new post + +``` bash +$ hexo new "My New Post" +``` + +More info: [Writing](https://hexo.io/docs/writing.html) + +### Run server + +``` bash +$ hexo server +``` + +More info: [Server](https://hexo.io/docs/server.html) + +### Generate static files + +``` bash +$ hexo generate +``` + +More info: [Generating](https://hexo.io/docs/generating.html) + +### Deploy to remote sites + +``` bash +$ hexo deploy +``` + +More info: [Deployment](https://hexo.io/docs/one-command-deployment.html) diff --git a/source/img/163music.ico b/source/img/163music.ico new file mode 100644 index 0000000000000000000000000000000000000000..5216c13ae491e174daa1cb066344cf8511aeff6c GIT binary patch literal 4286 zcmc&&YiL|W6rK{QXss54g0$G+vzi($6-gD;sugRkih@@Al3KAZv>;-wPeepfR0I)3 z>L0~cvBla4z93Z4wn(e3wbhzrlTEVO-DI=bWV4&y%^uG;bI;A(+j}?Lpk%_?nR{N} zxie?Z%#Bi$_^+-`;a6>)rql&WsaZ_SQnxUHuN%w8+or4LTBgUCK4m(>G{8g-VGJH* z(5W3Sj^B=bH86e7RA3Ukv3lsjror#8+Gn<%%Jd;qnQ1J%Fga}DV`{ay&}032rjtxz zeovPVU-i|*z>#%KkUlVrZq{r{G3+73hRM!N e?(GC$_vlbJx4@1l ;oz;SE6GA |$&FqwxmrPpfk=~XeMl|?{RMt0+
zTrYM0u9UmTm68j9l>)*C0PruTLRT98;PZG~dB(2FL#)4VO%sP`xhpjyIHk$Gq{Fb{
zfQ%-~dzHT`GZ{;D*Hg-OsMsoE7o|HroYlbY?IxXrth3y+S6wcP=~{}8LVB{B=wx7{
z^$HXgUmQ^bl-1c2(SZ#D{#B6lS=*9%hTZL>DPegd(z)(e2jyRV%p{Mt4V8H@i|NFa
zr)md1Pbl&vfTPLAl2PFfcYeR(&mSLLoXegXDwMD$S?gtOM5 xzM37n5Oxa$~7=a
z6MW$~$yv^*YP{@&%PH@g5xeI4WDrN49_#jqlMqlHIcgF!y61{={IJ4zE~8%Ey4Z*o
zaLr$_3)%>y>w5dAti^PAM4taHyf*L@@0zf+IY$BNw#m~U8022N8+Rf2DJQ@C+RAF&
zvy(>_b=wB6bKX>xza;?FSb5;udCf&r`r!?acu4OJqkVy&nCzs%6CY0RkqS@hZie!p
z(?rc@(t0o-Zx2@Oz2m)?CeH#pzAeNt=diE7i(2tT$J7>% VG>|uhEo9I(gs=Gb*4_Tp8>mvfDVa7*Dbd~Lep1(v+clhe
z8etv=K+#K4DTEHC5%>LaH0Ma-=x$ZDsGBqM=)tFCVFxRd#%lJXPkw?
zm{}$sFxj2CD9Dcfml$>Tja$M0B)E4c0ojMi?%+}_!_E-*)me*Q>W25Fh5z&HEUj
zO)bol2qa$%7)=*N3Bn$MM3jmv95+=!Cu3)+9w)zqH7;e|MFuP5&5XL33mEwi2(UYy
z5mP|r@Dy2E!;cIVbfZ@+n*`)Wq~>0It7gC5G568bCKG@%E8Eij!b+-32J?(Bo3T8`
zW}~%_pEj_~XxHz$!tq|?0co4_n&yP!{^S;BtXs#B9tezOw;kGiiLKb%^-WQdsz<>w
z|5snb8L{Pvb
Pbg{f)vM67xt=}k536`;zo4nR+{#DK{G9Zu&1Nd!FwpBC~=f&uHU
z;q8PkQPG*+|5IB5Hne#Emu>se4gdEJ#*UR_KC)+4?B)kygH6-8dl&5?l?DPQjp_vE
z2$*-Gf#eJ~fXxYc&;5cS@V;Fz^VeN%t;q>2gFLU0=)W7jnEScJ{8?C|04(
Asdx$DRITn&@ka?vo1x=m
z0-}SSB5!ZtJE}}_1?n-LyL~Q=cZYXY9bE^d8HF>y;f-F7ORfi0#2IV~`ENP2n78+z
zxW>cTacIb9Q%!@BPGkS#Ygox*`KOESS+{?DeA;X=V3R8Jsj#LmPN!+C