From 693900220200027dcf7bacd3b9ff8f1e7080accd Mon Sep 17 00:00:00 2001 From: "Tim G. Thomas" Date: Wed, 17 Jul 2024 22:04:50 -0500 Subject: [PATCH 01/13] upgrade hexo and friends --- package-lock.json | 3217 +++++++++++++++++++++++++++++++-------------- package.json | 20 +- 2 files changed, 2260 insertions(+), 977 deletions(-) diff --git a/package-lock.json b/package-lock.json index 502c99e1..1b211630 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,27 +8,36 @@ "name": "timgthomas.com", "version": "0.0.0", "devDependencies": { - "hexo": "^5.4.0", + "hexo": "^7.3.0", "hexo-autoprefixer": "^2.0.0", "hexo-browsersync": "^0.3.0", - "hexo-deployer-git": "^3.0.0", - "hexo-generator-archive": "^1.0.0", + "hexo-deployer-git": "^4.0.0", + "hexo-generator-archive": "^2.0.0", "hexo-generator-cname": "^0.3.0", "hexo-generator-feed": "^3.0.0", - "hexo-generator-index": "^2.0.0", - "hexo-renderer-ejs": "^1.0.0", + "hexo-generator-index": "^4.0.0", + "hexo-renderer-ejs": "^2.0.0", "hexo-renderer-handlebars": "^2.0.2", - "hexo-renderer-marked": "^4.0.0", - "hexo-renderer-stylus": "^2.0.0", - "hexo-server": "^2.0.0" + "hexo-renderer-marked": "^6.3.0", + "hexo-renderer-stylus": "^3.0.1", + "hexo-server": "^3.0.0" } }, + "node_modules/@adobe/css-tools": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.3.tgz", + "integrity": "sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@tootallnate/once": { - "version": "1.1.2", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true, "license": "MIT", "engines": { - "node": ">= 6" + "node": ">= 10" } }, "node_modules/a-sync-waterfall": { @@ -37,14 +46,22 @@ "license": "MIT" }, "node_modules/abab": { - "version": "2.0.5", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", "dev": true, "license": "BSD-3-Clause" }, "node_modules/abbrev": { - "version": "1.1.1", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", "dev": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, "node_modules/accepts": { "version": "1.3.7", @@ -59,7 +76,9 @@ } }, "node_modules/acorn": { - "version": "8.5.0", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "license": "MIT", "bin": { @@ -70,29 +89,25 @@ } }, "node_modules/acorn-globals": { - "version": "6.0.0", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", "dev": true, "license": "MIT", "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "7.4.1", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" } }, "node_modules/acorn-walk": { - "version": "7.2.0", + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", "dev": true, "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, "engines": { "node": ">=0.4.0" } @@ -104,6 +119,8 @@ }, "node_modules/agent-base": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, "license": "MIT", "dependencies": { @@ -114,7 +131,9 @@ } }, "node_modules/agent-base/node_modules/debug": { - "version": "4.3.2", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "license": "MIT", "dependencies": { @@ -131,17 +150,11 @@ }, "node_modules/agent-base/node_modules/ms": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true, "license": "MIT" }, - "node_modules/amdefine": { - "version": "1.0.1", - "dev": true, - "license": "BSD-3-Clause OR MIT", - "engines": { - "node": ">=0.4.2" - } - }, "node_modules/ansi-regex": { "version": "5.0.1", "dev": true, @@ -211,20 +224,11 @@ }, "node_modules/asynckit": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "dev": true, "license": "MIT" }, - "node_modules/atob": { - "version": "2.1.2", - "dev": true, - "license": "(MIT OR Apache-2.0)", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, "node_modules/autoprefixer": { "version": "9.8.8", "dev": true, @@ -333,11 +337,6 @@ "node": ">=8" } }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "dev": true, - "license": "BSD-2-Clause" - }, "node_modules/browser-sync": { "version": "2.27.7", "dev": true, @@ -481,6 +480,8 @@ }, "node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -495,7 +496,9 @@ } }, "node_modules/chokidar": { - "version": "3.5.2", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, "license": "MIT", "dependencies": { @@ -510,6 +513,9 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } @@ -542,6 +548,8 @@ }, "node_modules/combined-stream": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, "license": "MIT", "dependencies": { @@ -553,6 +561,8 @@ }, "node_modules/command-exists": { "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", "dev": true, "license": "MIT" }, @@ -666,40 +676,17 @@ "node": ">= 8" } }, - "node_modules/css": { - "version": "2.2.4", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - } - }, - "node_modules/css-parse": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "css": "^2.0.0" - } - }, - "node_modules/css/node_modules/source-map": { - "version": "0.6.1", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/cssom": { - "version": "0.4.4", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", "dev": true, "license": "MIT" }, "node_modules/cssstyle": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, "license": "MIT", "dependencies": { @@ -711,25 +698,32 @@ }, "node_modules/cssstyle/node_modules/cssom": { "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true, "license": "MIT" }, "node_modules/cuid": { "version": "2.1.8", + "resolved": "https://registry.npmjs.org/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.", "dev": true, "license": "MIT" }, "node_modules/data-urls": { - "version": "2.0.0", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", "dev": true, "license": "MIT", "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/debug": { @@ -749,33 +743,34 @@ } }, "node_modules/decimal.js": { - "version": "10.3.1", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", "dev": true, "license": "MIT" }, - "node_modules/decode-uri-component": { - "version": "0.2.0", + "node_modules/deepmerge": { + "version": "4.2.2", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10" + "node": ">=0.10.0" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/deepmerge": { - "version": "4.2.2", + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/delayed-stream": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true, "license": "MIT", "engines": { @@ -824,7 +819,9 @@ } }, "node_modules/domelementtype": { - "version": "2.2.0", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "dev": true, "funding": [ { @@ -835,22 +832,17 @@ "license": "BSD-2-Clause" }, "node_modules/domexception": { - "version": "2.0.1", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "deprecated": "Use your platform's native DOMException instead", "dev": true, "license": "MIT", "dependencies": { - "webidl-conversions": "^5.0.0" + "webidl-conversions": "^7.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=8" + "node": ">=12" } }, "node_modules/domhandler": { @@ -868,7 +860,9 @@ } }, "node_modules/dompurify": { - "version": "2.3.3", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.6.tgz", + "integrity": "sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==", "dev": true, "license": "(MPL-2.0 OR Apache-2.0)" }, @@ -911,10 +905,17 @@ "license": "MIT" }, "node_modules/ejs": { - "version": "2.7.4", + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", "dev": true, - "hasInstallScript": true, "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, "engines": { "node": ">=0.10.0" } @@ -1066,14 +1067,15 @@ "license": "MIT" }, "node_modules/escodegen": { - "version": "2.0.0", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, "license": "BSD-2-Clause", "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" + "esutils": "^2.0.2" }, "bin": { "escodegen": "bin/escodegen.js", @@ -1086,61 +1088,6 @@ "source-map": "~0.6.1" } }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.6.1", - "dev": true, - "license": "BSD-3-Clause", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/esprima": { "version": "4.0.1", "dev": true, @@ -1155,6 +1102,8 @@ }, "node_modules/estraverse": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -1163,6 +1112,8 @@ }, "node_modules/esutils": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -1182,11 +1133,46 @@ "dev": true, "license": "MIT" }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", + "node_modules/fast-equals": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-3.0.3.tgz", + "integrity": "sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg==", "dev": true, "license": "MIT" }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/fill-range": { "version": "7.0.1", "dev": true, @@ -1247,7 +1233,9 @@ } }, "node_modules/form-data": { - "version": "3.0.1", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dev": true, "license": "MIT", "dependencies": { @@ -1279,13 +1267,35 @@ }, "node_modules/fs.realpath": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true, "license": "ISC" }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { - "version": "1.1.1", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, - "license": "MIT" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/get-caller-file": { "version": "2.0.5", @@ -1296,14 +1306,17 @@ } }, "node_modules/glob": { - "version": "7.2.0", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, @@ -1326,7 +1339,9 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.8", + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true, "license": "ISC" }, @@ -1350,25 +1365,6 @@ "uglify-js": "^3.1.4" } }, - "node_modules/handlebars/node_modules/source-map": { - "version": "0.6.1", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-ansi": { "version": "2.0.0", "dev": true, @@ -1403,45 +1399,64 @@ }, "node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/hexo": { - "version": "5.4.0", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/hexo/-/hexo-7.3.0.tgz", + "integrity": "sha512-dOe8mzBKrvjubW5oBmyhcnQDpC+M2xmAMLae5K+o+SkHxyvAhShkS2VQZoTsOLIJKY6xilv7dzCjCvE7ol/NHQ==", "dev": true, "license": "MIT", "dependencies": { - "abbrev": "^1.1.1", + "abbrev": "^2.0.0", "archy": "^1.0.0", - "bluebird": "^3.5.2", - "chalk": "^4.0.0", - "hexo-cli": "^4.0.0", - "hexo-front-matter": "^2.0.0", - "hexo-fs": "^3.1.0", - "hexo-i18n": "^1.0.0", - "hexo-log": "^2.0.0", - "hexo-util": "^2.4.0", - "js-yaml": "^4.0.0", - "micromatch": "^4.0.2", - "moment": "^2.22.2", - "moment-timezone": "^0.5.21", - "nunjucks": "^3.2.1", + "bluebird": "^3.7.2", + "hexo-cli": "^4.3.2", + "hexo-front-matter": "^4.2.1", + "hexo-fs": "^4.1.3", + "hexo-i18n": "^2.0.0", + "hexo-log": "^4.0.1", + "hexo-util": "^3.3.0", + "js-yaml": "^4.1.0", + "js-yaml-js-types": "^1.0.0", + "micromatch": "^4.0.4", + "moize": "^6.1.6", + "moment": "^2.29.1", + "moment-timezone": "^0.5.34", + "nunjucks": "^3.2.3", + "picocolors": "^1.0.0", "pretty-hrtime": "^1.0.3", - "resolve": "^1.8.1", + "resolve": "^1.22.0", "strip-ansi": "^6.0.0", "text-table": "^0.2.0", "tildify": "^2.0.0", - "titlecase": "^1.1.2", - "warehouse": "^4.0.0" + "titlecase": "^1.1.3", + "warehouse": "^5.0.1" }, "bin": { "hexo": "bin/hexo" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" }, "funding": { "type": "opencollective", @@ -1450,6 +1465,8 @@ }, "node_modules/hexo-autoprefixer": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hexo-autoprefixer/-/hexo-autoprefixer-2.0.0.tgz", + "integrity": "sha512-qiAcD3K8D5PeyPh357CG6Cn+9GmCBNDRbD2ghnTZzfOo+HFLlLWXyPZfqaUZKKdP2iksmj+vYjE5oFsQizkWYw==", "dev": true, "license": "MIT", "dependencies": { @@ -1471,104 +1488,383 @@ } }, "node_modules/hexo-cli": { - "version": "4.3.0", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/hexo-cli/-/hexo-cli-4.3.2.tgz", + "integrity": "sha512-druJeBgLpG9ncDS5AhBHdAXk0G4CFj8Qes09pApyZ6bR+nJW1JYiDMuilhudaKDdq+1l49jWXVTidkcb7p0Jbw==", "dev": true, "license": "MIT", "dependencies": { - "abbrev": "^1.1.1", - "bluebird": "^3.5.5", - "chalk": "^4.0.0", - "command-exists": "^1.2.8", - "hexo-fs": "^3.0.1", - "hexo-log": "^2.0.0", - "hexo-util": "^2.0.0", + "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", - "resolve": "^1.11.0", + "picocolors": "^1.0.0", + "resolve": "^1.20.0", "tildify": "^2.0.0" }, "bin": { "hexo": "bin/hexo" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" } }, - "node_modules/hexo-deployer-git": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hexo-deployer-git/-/hexo-deployer-git-3.0.0.tgz", - "integrity": "sha512-U2Xewjab+rvUDNTcuYYnOxitkDXL3f5VMUH32jKDHs3OC4YFVGRoEaTTDVHskqr3KRi78Wohjc6BSRHOoG3oxA==", + "node_modules/hexo-cli/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, + "license": "MIT", "dependencies": { - "bluebird": "^3.5.0", - "chalk": "^4.0.0", - "hexo-fs": "^3.0.1", - "hexo-util": "^2.1.0", - "moment": "^2.18.0", - "nunjucks": "^3.2.1" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" }, - "engines": { - "node": ">=8.6.0" + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/hexo-front-matter": { - "version": "2.0.0", + "node_modules/hexo-cli/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "js-yaml": "^3.13.1" + "domelementtype": "^2.3.0" }, "engines": { - "node": ">=10.13.0" + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/hexo-front-matter/node_modules/argparse": { - "version": "1.0.10", + "node_modules/hexo-cli/node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "sprintf-js": "~1.0.2" + "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-front-matter/node_modules/js-yaml": { - "version": "3.14.1", + "node_modules/hexo-cli/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/hexo-front-matter/node_modules/sprintf-js": { - "version": "1.0.3", + "node_modules/hexo-cli/node_modules/hexo-util": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/hexo-util/-/hexo-util-3.3.0.tgz", + "integrity": "sha512-YvGngXijE2muEh5L/VI4Fmjqb+/yAkmY+VuyhWVoRwQu1X7bmWodsfYRXX7CUYhi5LqsvH8FAe/yBW1+f6ZX4Q==", "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/hexo-fs": { - "version": "3.1.0", + "hasInstallScript": true, + "license": "MIT", + "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/highlight.js": { + "version": "11.10.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.10.0.tgz", + "integrity": "sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/hexo-cli/node_modules/htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" + } + }, + "node_modules/hexo-cli/node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true, + "license": "ISC" + }, + "node_modules/hexo-deployer-git": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hexo-deployer-git/-/hexo-deployer-git-4.0.0.tgz", + "integrity": "sha512-28t1Q+4taB/UaBAP52W3mD/wcCwa2y2zBieUfBJFBZudbmVgiKJB5YedYILeyI5QByaUKAOwoupmdTbocdQ+CQ==", "dev": true, "license": "MIT", "dependencies": { - "bluebird": "^3.5.1", - "chokidar": "^3.0.0", - "graceful-fs": "^4.1.11", - "hexo-util": "^2.0.0" + "bluebird": "^3.7.2", + "hexo-fs": "^4.0.0", + "hexo-util": "^2.7.0", + "luxon": "^3.0.4", + "nunjucks": "^3.2.3", + "picocolors": "^1.0.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" + } + }, + "node_modules/hexo-deployer-git/node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/hexo-deployer-git/node_modules/hexo-util": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/hexo-util/-/hexo-util-2.7.0.tgz", + "integrity": "sha512-hQM3h34nhDg0bSe/Tg1lnpODvNkz7h2u0+lZGzlKL0Oufp+5KCAEUX9wal7/xC7ax3/cwEn8IuoU75kNpZLpJQ==", + "dev": true, + "license": "MIT", + "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/hexo-deployer-git/node_modules/highlight.js": { + "version": "11.10.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.10.0.tgz", + "integrity": "sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/hexo-deployer-git/node_modules/htmlparser2": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" + } + }, + "node_modules/hexo-deployer-git/node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true, + "license": "ISC" + }, + "node_modules/hexo-front-matter": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hexo-front-matter/-/hexo-front-matter-4.2.1.tgz", + "integrity": "sha512-sJJI0GNmejYiwBvgnGRKn5V3sbODB4dNPr8jyw2Qp0PRHr4Uuyv8iyxw6WfK3+T7yvzYvJOh+tZ7jnwr2BYARA==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-yaml": "^4.1.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/hexo-fs": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/hexo-fs/-/hexo-fs-4.1.3.tgz", + "integrity": "sha512-Q92zQ5PlVDouvSWFLXQoFSTLIUIODikUJs2BfAXQglyOEjN1dOQn1Z5Nimk/7GHof17R5h/uObCQLnZAjzI2tg==", + "dev": true, + "license": "MIT", + "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-fs/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "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-fs/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/hexo-fs/node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "license": "BSD-2-Clause", + "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-fs/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/hexo-fs/node_modules/hexo-util": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/hexo-util/-/hexo-util-3.3.0.tgz", + "integrity": "sha512-YvGngXijE2muEh5L/VI4Fmjqb+/yAkmY+VuyhWVoRwQu1X7bmWodsfYRXX7CUYhi5LqsvH8FAe/yBW1+f6ZX4Q==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "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-fs/node_modules/highlight.js": { + "version": "11.10.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.10.0.tgz", + "integrity": "sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/hexo-fs/node_modules/htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" } }, "node_modules/hexo-generator-archive": { - "version": "1.0.0", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hexo-generator-archive/-/hexo-generator-archive-2.0.0.tgz", + "integrity": "sha512-KikJk7dGFbtNHOgqtLFGf5T/S8n1paGp+Gy0KfVDz+HKYhGbXOouyiZkmc3O9KrYt6ja14rmkMhq7KKGtvfehw==", "dev": true, "license": "MIT", "dependencies": { - "hexo-pagination": "1.0.0" + "hexo-pagination": "3.0.0" }, "engines": { - "node": ">=8.6.0" + "node": ">=14" } }, "node_modules/hexo-generator-cname": { @@ -1592,56 +1888,72 @@ } }, "node_modules/hexo-generator-index": { - "version": "2.0.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hexo-generator-index/-/hexo-generator-index-4.0.0.tgz", + "integrity": "sha512-KeM7mOCKWINGFAk1E+CkjMMgqFIv8oaRbGxR7ipkQAp44o4aopkVftma4sdIplOq9WQEWfVYDUK5gEv9J3nzUg==", "dev": true, "license": "MIT", "dependencies": { - "hexo-pagination": "1.0.0", - "timsort": "^0.3.0" + "hexo-pagination": "3.0.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=18" } }, "node_modules/hexo-i18n": { - "version": "1.0.0", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hexo-i18n/-/hexo-i18n-2.0.0.tgz", + "integrity": "sha512-dkUXecEtChaQMdTHN4WR13c8GwKqjbSOZPJS9qDqV6Ebnb77Wa/nQzWFckhP0dCps3a9lUQBd8hYGOMbOosiQQ==", "dev": true, "license": "MIT", "dependencies": { - "sprintf-js": "^1.0.3" + "sprintf-js": "^1.1.2" }, "engines": { - "node": ">=8.6.0" + "node": ">=14" } }, "node_modules/hexo-log": { - "version": "2.0.0", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hexo-log/-/hexo-log-4.1.0.tgz", + "integrity": "sha512-i2Sgxk8Cgx5viSjq5qW5N/rBFfwoCKQcH8qnnW1fawCapcdEAhIsq+Y3vbrs9bssyDlyU6Vqm4oQmosREaNI7Q==", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.0.0" + "picocolors": "^1.0.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" } }, + "node_modules/hexo-log/node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true, + "license": "ISC" + }, "node_modules/hexo-pagination": { - "version": "1.0.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hexo-pagination/-/hexo-pagination-3.0.0.tgz", + "integrity": "sha512-8oo1iozloZo7TojPVYg4IxL3SJKCBdSJ908fTlIxIK7TWJIKdYnQlW31+12DBJ0NhVZA/lZisPObGF08wT8fKw==", "dev": true, "license": "MIT", "engines": { - "node": ">=8.6.0" + "node": ">=14" } }, "node_modules/hexo-renderer-ejs": { - "version": "1.0.0", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hexo-renderer-ejs/-/hexo-renderer-ejs-2.0.0.tgz", + "integrity": "sha512-qCjE1IdwgDgv65qyb0KMVCwCdSVAkH0vwAe9XihjvaKWkmb9dtt8DgErOdqCXn0HReSyWiEVP2BrLRj3gyHwOQ==", "dev": true, "license": "MIT", "dependencies": { - "ejs": "^2.6.1" + "ejs": "^3.1.6" }, "engines": { - "node": ">=8.6.0" + "node": ">=12" } }, "node_modules/hexo-renderer-handlebars": { @@ -1656,47 +1968,162 @@ } }, "node_modules/hexo-renderer-marked": { - "version": "4.1.0", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/hexo-renderer-marked/-/hexo-renderer-marked-6.3.0.tgz", + "integrity": "sha512-V/ATcJ+tZHkTJSbScPzzHKmrwVMohU8i9MfuX9jp07Un/NpPtaTP821unP3JPu+O1nNLWMi+3xRbFRdm+8vajw==", "dev": true, "license": "MIT", "dependencies": { - "dompurify": "^2.3.0", - "hexo-util": "^2.5.0", - "jsdom": "^16.7.0", - "marked": "^2.1.3" + "dompurify": "^3.0.3", + "hexo-util": "^3.1.0", + "jsdom": "^20.0.1", + "marked": "^4.3.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" + } + }, + "node_modules/hexo-renderer-marked/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "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.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "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.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "license": "BSD-2-Clause", + "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.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "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.npmjs.org/hexo-util/-/hexo-util-3.3.0.tgz", + "integrity": "sha512-YvGngXijE2muEh5L/VI4Fmjqb+/yAkmY+VuyhWVoRwQu1X7bmWodsfYRXX7CUYhi5LqsvH8FAe/yBW1+f6ZX4Q==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "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/highlight.js": { + "version": "11.10.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.10.0.tgz", + "integrity": "sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/hexo-renderer-marked/node_modules/htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" } }, "node_modules/hexo-renderer-stylus": { - "version": "2.0.1", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hexo-renderer-stylus/-/hexo-renderer-stylus-3.0.1.tgz", + "integrity": "sha512-cFm8ZwShBBeFcQwOXc8EK7lIZnSYVD6OJykdL4GBw99hxc4eD5Hlsi32nRzE8sgKv00jhX1s9Da3GVVFMPAVQg==", "dev": true, "license": "MIT", "dependencies": { - "nib": "^1.1.2", - "stylus": "^0.54.8" + "nib": "^1.2.0", + "stylus": "^0.62.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" } }, "node_modules/hexo-server": { - "version": "2.0.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hexo-server/-/hexo-server-3.0.0.tgz", + "integrity": "sha512-u4s0ty9Aew6jV+a9oMrXBwhrRpUQ0U8PWM/88a5aHgDru58VY81mVrxOFxs788NAsWQ8OvsJtF5m7mnXoRnSIA==", "dev": true, "license": "MIT", "dependencies": { "bluebird": "^3.5.5", - "chalk": "^4.0.0", "compression": "^1.7.4", "connect": "^3.7.0", - "mime": "^2.4.3", + "mime": "^3.0.0", "morgan": "^1.9.1", - "open": "^7.0.0", + "open": "^8.0.9", + "picocolors": "^1.0.0", "serve-static": "^1.14.1" }, "engines": { - "node": ">=10.13.0" + "node": ">=12.13.0" } }, "node_modules/hexo-server/node_modules/connect": { @@ -1743,6 +2170,13 @@ "dev": true, "license": "MIT" }, + "node_modules/hexo-server/node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true, + "license": "ISC" + }, "node_modules/hexo-server/node_modules/send": { "version": "0.17.1", "dev": true, @@ -1817,6 +2251,122 @@ "node": ">=12.4.0" } }, + "node_modules/hexo/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "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/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/hexo/node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "license": "BSD-2-Clause", + "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/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/hexo/node_modules/hexo-util": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/hexo-util/-/hexo-util-3.3.0.tgz", + "integrity": "sha512-YvGngXijE2muEh5L/VI4Fmjqb+/yAkmY+VuyhWVoRwQu1X7bmWodsfYRXX7CUYhi5LqsvH8FAe/yBW1+f6ZX4Q==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "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/node_modules/highlight.js": { + "version": "11.10.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.10.0.tgz", + "integrity": "sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/hexo/node_modules/htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" + } + }, + "node_modules/hexo/node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true, + "license": "ISC" + }, "node_modules/highlight.js": { "version": "10.7.3", "dev": true, @@ -1826,14 +2376,16 @@ } }, "node_modules/html-encoding-sniffer": { - "version": "2.0.1", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, "license": "MIT", "dependencies": { - "whatwg-encoding": "^1.0.5" + "whatwg-encoding": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/htmlparser2": { @@ -1899,11 +2451,13 @@ } }, "node_modules/http-proxy-agent": { - "version": "4.0.1", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, "license": "MIT", "dependencies": { - "@tootallnate/once": "1", + "@tootallnate/once": "2", "agent-base": "6", "debug": "4" }, @@ -1912,7 +2466,9 @@ } }, "node_modules/http-proxy-agent/node_modules/debug": { - "version": "4.3.2", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "license": "MIT", "dependencies": { @@ -1929,11 +2485,15 @@ }, "node_modules/http-proxy-agent/node_modules/ms": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true, "license": "MIT" }, "node_modules/https-proxy-agent": { - "version": "5.0.0", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, "license": "MIT", "dependencies": { @@ -1945,7 +2505,9 @@ } }, "node_modules/https-proxy-agent/node_modules/debug": { - "version": "4.3.2", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "license": "MIT", "dependencies": { @@ -1962,6 +2524,8 @@ }, "node_modules/https-proxy-agent/node_modules/ms": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true, "license": "MIT" }, @@ -1990,6 +2554,9 @@ }, "node_modules/inflight": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/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.", "dev": true, "license": "ISC", "dependencies": { @@ -2014,11 +2581,16 @@ } }, "node_modules/is-core-module": { - "version": "2.8.0", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", "dev": true, "license": "MIT", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2026,6 +2598,8 @@ }, "node_modules/is-docker": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, "license": "MIT", "bin": { @@ -2082,7 +2656,9 @@ } }, "node_modules/is-plain-object": { - "version": "3.0.1", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, "license": "MIT", "engines": { @@ -2091,11 +2667,15 @@ }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", "dev": true, "license": "MIT" }, "node_modules/is-wsl": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, "license": "MIT", "dependencies": { @@ -2115,6 +2695,32 @@ "dev": true, "license": "ISC" }, + "node_modules/jake": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.1.tgz", + "integrity": "sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==", + "dev": true, + "license": "Apache-2.0", + "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/jake/node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "dev": true, + "license": "MIT" + }, "node_modules/js-yaml": { "version": "4.1.0", "dev": true, @@ -2126,41 +2732,55 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/js-yaml-js-types": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/js-yaml-js-types/-/js-yaml-js-types-1.0.1.tgz", + "integrity": "sha512-5tpfyORs8OQ43alNERbWfYRCtWgykvzYgY46fUhrQi2+kS7N0NuuFYLZ/IrfmVm5muLTndeMublgraXiFRjEPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esprima": "^4.0.1" + }, + "peerDependencies": { + "js-yaml": "4.x" + } + }, "node_modules/jsdom": { - "version": "16.7.0", + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", "dev": true, "license": "MIT", "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "domexception": "^4.0.0", "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", + "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.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", + "nwsapi": "^2.2.2", + "parse5": "^7.1.1", + "saxes": "^6.0.0", "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" + "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": ">=10" + "node": ">=14" }, "peerDependencies": { "canvas": "^2.5.0" @@ -2181,27 +2801,14 @@ }, "node_modules/jsonparse": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true, "engines": [ "node >= 0.2.0" ], "license": "MIT" }, - "node_modules/JSONStream": { - "version": "1.3.5", - "dev": true, - "license": "(MIT OR Apache-2.0)", - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, "node_modules/limiter": { "version": "1.1.5", "dev": true @@ -2332,17 +2939,36 @@ "tslib": "^2.0.3" } }, + "node_modules/luxon": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.4.tgz", + "integrity": "sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, "node_modules/marked": { - "version": "2.1.3", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", "dev": true, "license": "MIT", "bin": { - "marked": "bin/marked" + "marked": "bin/marked.js" }, "engines": { - "node": ">= 10" + "node": ">= 12" } }, + "node_modules/micro-memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/micro-memoize/-/micro-memoize-4.1.2.tgz", + "integrity": "sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g==", + "dev": true, + "license": "MIT" + }, "node_modules/micromatch": { "version": "4.0.4", "dev": true, @@ -2356,14 +2982,16 @@ } }, "node_modules/mime": { - "version": "2.6.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", "dev": true, "license": "MIT", "bin": { "mime": "cli.js" }, "engines": { - "node": ">=4.0.0" + "node": ">=10.0.0" } }, "node_modules/mime-db": { @@ -2394,7 +3022,9 @@ } }, "node_modules/minimatch": { - "version": "3.0.4", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -2414,15 +3044,15 @@ "dev": true, "license": "MIT" }, - "node_modules/mkdirp": { - "version": "1.0.4", + "node_modules/moize": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/moize/-/moize-6.1.6.tgz", + "integrity": "sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q==", "dev": true, "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" + "dependencies": { + "fast-equals": "^3.0.1", + "micro-memoize": "^4.1.2" } }, "node_modules/moment": { @@ -2478,80 +3108,16 @@ "license": "MIT" }, "node_modules/nib": { - "version": "1.1.2", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/nib/-/nib-1.2.0.tgz", + "integrity": "sha512-7HgrnMl/3yOmWykueO8/D0q+0iWwe7Z+CK2Eaq/xQV8w1hK80WN1oReRQkfkrztbAAnp/nTHkUSl5EcVkor6JQ==", "dev": true, "license": "MIT", - "dependencies": { - "stylus": "0.54.5" - }, - "engines": { - "node": "*" - } - }, - "node_modules/nib/node_modules/css-parse": { - "version": "1.7.0", - "dev": true, - "license": "MIT" - }, - "node_modules/nib/node_modules/glob": { - "version": "7.0.6", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.2", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, "engines": { "node": "*" - } - }, - "node_modules/nib/node_modules/mkdirp": { - "version": "0.5.5", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/nib/node_modules/sax": { - "version": "0.5.8", - "dev": true, - "license": "BSD" - }, - "node_modules/nib/node_modules/source-map": { - "version": "0.1.43", - "dev": true, - "dependencies": { - "amdefine": ">=0.0.4" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/nib/node_modules/stylus": { - "version": "0.54.5", - "dev": true, - "license": "MIT", - "dependencies": { - "css-parse": "1.7.x", - "debug": "*", - "glob": "7.0.x", - "mkdirp": "0.5.x", - "sax": "0.5.x", - "source-map": "0.1.x" - }, - "bin": { - "stylus": "bin/stylus" }, - "engines": { - "node": "*" + "peerDependencies": { + "stylus": "*" } }, "node_modules/no-case": { @@ -2614,7 +3180,9 @@ } }, "node_modules/nwsapi": { - "version": "2.2.0", + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", + "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==", "dev": true, "license": "MIT" }, @@ -2639,6 +3207,8 @@ }, "node_modules/once": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "license": "ISC", "dependencies": { @@ -2646,15 +3216,18 @@ } }, "node_modules/open": { - "version": "7.4.2", + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", "dev": true, "license": "MIT", "dependencies": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -2718,9 +3291,30 @@ } }, "node_modules/parse5": { - "version": "6.0.1", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, "node_modules/parseqs": { "version": "0.0.6", @@ -2759,6 +3353,8 @@ }, "node_modules/path-is-absolute": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, "license": "MIT", "engines": { @@ -2775,6 +3371,8 @@ }, "node_modules/path-parse": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true, "license": "MIT" }, @@ -2828,14 +3426,6 @@ "dev": true, "license": "MIT" }, - "node_modules/postcss/node_modules/source-map": { - "version": "0.6.1", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/pretty-hrtime": { "version": "1.0.3", "dev": true, @@ -2845,17 +3435,26 @@ } }, "node_modules/prismjs": { - "version": "1.25.0", + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=6" + } }, "node_modules/psl": { - "version": "1.8.0", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", "dev": true, "license": "MIT" }, "node_modules/punycode": { - "version": "2.1.1", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "license": "MIT", "engines": { @@ -2879,6 +3478,13 @@ "node": ">=0.6" } }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true, + "license": "MIT" + }, "node_modules/range-parser": { "version": "1.2.1", "dev": true, @@ -2909,6 +3515,21 @@ "node": ">= 0.8" } }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "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", "dev": true, @@ -2939,22 +3560,23 @@ "license": "MIT" }, "node_modules/resolve": { - "version": "1.20.0", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, "license": "MIT", "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "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/resolve-url": { - "version": "0.2.1", - "dev": true, - "license": "MIT" - }, "node_modules/resp-modifier": { "version": "6.0.2", "dev": true, @@ -2967,7 +3589,9 @@ } }, "node_modules/rfdc": { - "version": "1.3.0", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", "dev": true, "license": "MIT" }, @@ -2998,19 +3622,23 @@ "license": "MIT" }, "node_modules/sax": { - "version": "1.2.4", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", "dev": true, "license": "ISC" }, "node_modules/saxes": { - "version": "5.0.1", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, "license": "ISC", "dependencies": { "xmlchars": "^2.2.0" }, "engines": { - "node": ">=10" + "node": ">=v12.22.7" } }, "node_modules/send": { @@ -3284,25 +3912,20 @@ "dev": true, "license": "MIT" }, - "node_modules/source-map-resolve": { - "version": "0.5.3", + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "MIT", - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/source-map-url": { - "version": "0.4.1", - "dev": true, - "license": "MIT" - }, "node_modules/sprintf-js": { - "version": "1.1.2", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", "dev": true, "license": "BSD-3-Clause" }, @@ -3341,6 +3964,37 @@ "dev": true, "license": "MIT" }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/string-width": { "version": "4.2.3", "dev": true, @@ -3377,17 +4031,16 @@ } }, "node_modules/stylus": { - "version": "0.54.8", + "version": "0.62.0", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.62.0.tgz", + "integrity": "sha512-v3YCf31atbwJQIMtPNX8hcQ+okD4NQaTuKGUWfII8eaqn+3otrbttGL1zSMZAAtiPsBztQnujVBugg/cXFUpyg==", "dev": true, "license": "MIT", "dependencies": { - "css-parse": "~2.0.0", - "debug": "~3.1.0", + "@adobe/css-tools": "~4.3.1", + "debug": "^4.3.2", "glob": "^7.1.6", - "mkdirp": "~1.0.4", - "safer-buffer": "^2.1.2", - "sax": "~1.2.4", - "semver": "^6.3.0", + "sax": "~1.3.0", "source-map": "^0.7.3" }, "bin": { @@ -3395,26 +4048,40 @@ }, "engines": { "node": "*" + }, + "funding": { + "url": "https://opencollective.com/stylus" } }, "node_modules/stylus/node_modules/debug": { - "version": "3.1.0", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.0.0" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/stylus/node_modules/semver": { - "version": "6.3.0", + "node_modules/stylus/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } + "license": "MIT" }, "node_modules/stylus/node_modules/source-map": { - "version": "0.7.3", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -3423,6 +4090,8 @@ }, "node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "license": "MIT", "dependencies": { @@ -3432,6 +4101,19 @@ "node": ">=8" } }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/symbol-observable": { "version": "1.0.1", "dev": true, @@ -3442,6 +4124,8 @@ }, "node_modules/symbol-tree": { "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true, "license": "MIT" }, @@ -3517,24 +4201,26 @@ "node": ">=0.8.0" } }, - "node_modules/through": { - "version": "2.3.8", + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "readable-stream": "3" + } }, "node_modules/tildify": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", + "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/timsort": { - "version": "0.3.0", - "dev": true, - "license": "MIT" - }, "node_modules/titlecase": { "version": "1.1.3", "dev": true, @@ -3567,27 +4253,42 @@ } }, "node_modules/tough-cookie": { - "version": "4.0.0", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "dev": true, "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", - "universalify": "^0.1.2" + "universalify": "^0.2.0", + "url-parse": "^1.5.3" }, "engines": { "node": ">=6" } }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/tr46": { - "version": "2.1.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", "dev": true, "license": "MIT", "dependencies": { "punycode": "^2.1.1" }, "engines": { - "node": ">=8" + "node": ">=12" } }, "node_modules/tslib": { @@ -3648,8 +4349,21 @@ "node": ">= 0.8" } }, - "node_modules/urix": { - "version": "0.1.0", + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true, "license": "MIT" }, @@ -3669,73 +4383,97 @@ "node": ">= 0.8" } }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, "node_modules/w3c-xmlserializer": { - "version": "2.0.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", "dev": true, "license": "MIT", "dependencies": { - "xml-name-validator": "^3.0.0" + "xml-name-validator": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=14" } }, "node_modules/warehouse": { - "version": "4.0.0", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/warehouse/-/warehouse-5.0.1.tgz", + "integrity": "sha512-5BQEQP56bPY+cqocTho4syazuGgSoyKd0y3PsS2j8tGN10HH+CEfJSIY+KUw9D0k4jaVEFMXLz0KqCiUzTYb8A==", "dev": true, "license": "MIT", "dependencies": { - "bluebird": "^3.2.2", - "cuid": "^2.1.4", - "graceful-fs": "^4.1.3", - "is-plain-object": "^3.0.0", - "JSONStream": "^1.0.7", - "rfdc": "^1.1.4" + "bluebird": "^3.7.2", + "cuid": "^2.1.8", + "graceful-fs": "^4.2.10", + "hexo-log": "^4.0.1", + "is-plain-object": "^5.0.0", + "jsonparse": "^1.3.1", + "rfdc": "^1.3.0", + "through2": "^4.0.2" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" } }, "node_modules/webidl-conversions": { - "version": "6.1.0", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true, "license": "BSD-2-Clause", "engines": { - "node": ">=10.4" + "node": ">=12" } }, "node_modules/whatwg-encoding": { - "version": "1.0.5", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, "license": "MIT", "dependencies": { - "iconv-lite": "0.4.24" + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, "node_modules/whatwg-mimetype": { - "version": "2.3.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=12" + } }, "node_modules/whatwg-url": { - "version": "8.7.0", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", "dev": true, "license": "MIT", "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/which": { @@ -3757,14 +4495,6 @@ "dev": true, "license": "ISC" }, - "node_modules/word-wrap": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/wordwrap": { "version": "1.0.0", "dev": true, @@ -3785,19 +4515,23 @@ }, "node_modules/wrappy": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true, "license": "ISC" }, "node_modules/ws": { - "version": "7.5.5", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, "license": "MIT", "engines": { - "node": ">=8.3.0" + "node": ">=10.0.0" }, "peerDependencies": { "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { "bufferutil": { @@ -3809,12 +4543,19 @@ } }, "node_modules/xml-name-validator": { - "version": "3.0.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true, - "license": "Apache-2.0" + "license": "Apache-2.0", + "engines": { + "node": ">=12" + } }, "node_modules/xmlchars": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true, "license": "MIT" }, @@ -3870,8 +4611,16 @@ } }, "dependencies": { + "@adobe/css-tools": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.3.tgz", + "integrity": "sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==", + "dev": true + }, "@tootallnate/once": { - "version": "1.1.2", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true }, "a-sync-waterfall": { @@ -3879,11 +4628,15 @@ "dev": true }, "abab": { - "version": "2.0.5", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", "dev": true }, "abbrev": { - "version": "1.1.1", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", "dev": true }, "accepts": { @@ -3895,26 +4648,29 @@ } }, "acorn": { - "version": "8.5.0", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true }, "acorn-globals": { - "version": "6.0.0", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", "dev": true, "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "dev": true - } + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" } }, "acorn-walk": { - "version": "7.2.0", - "dev": true + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "dev": true, + "requires": { + "acorn": "^8.11.0" + } }, "after": { "version": "0.8.2", @@ -3922,13 +4678,17 @@ }, "agent-base": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, "requires": { "debug": "4" }, "dependencies": { "debug": { - "version": "4.3.2", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "requires": { "ms": "2.1.2" @@ -3936,14 +4696,12 @@ }, "ms": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } }, - "amdefine": { - "version": "1.0.1", - "dev": true - }, "ansi-regex": { "version": "5.0.1", "dev": true @@ -3989,10 +4747,8 @@ }, "asynckit": { "version": "0.4.0", - "dev": true - }, - "atob": { - "version": "2.1.2", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "dev": true }, "autoprefixer": { @@ -4069,10 +4825,6 @@ "fill-range": "^7.0.1" } }, - "browser-process-hrtime": { - "version": "1.0.0", - "dev": true - }, "browser-sync": { "version": "2.27.7", "dev": true, @@ -4178,6 +4930,8 @@ }, "chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -4185,7 +4939,9 @@ } }, "chokidar": { - "version": "3.5.2", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, "requires": { "anymatch": "~3.1.2", @@ -4220,6 +4976,8 @@ }, "combined-stream": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, "requires": { "delayed-stream": "~1.0.0" @@ -4227,6 +4985,8 @@ }, "command-exists": { "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", "dev": true }, "commander": { @@ -4306,35 +5066,16 @@ "which": "^2.0.1" } }, - "css": { - "version": "2.2.4", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "dev": true - } - } - }, - "css-parse": { - "version": "2.0.0", - "dev": true, - "requires": { - "css": "^2.0.0" - } - }, "cssom": { - "version": "0.4.4", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", "dev": true }, "cssstyle": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, "requires": { "cssom": "~0.3.6" @@ -4342,21 +5083,27 @@ "dependencies": { "cssom": { "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true } } }, "cuid": { "version": "2.1.8", + "resolved": "https://registry.npmjs.org/cuid/-/cuid-2.1.8.tgz", + "integrity": "sha512-xiEMER6E7TlTPnDxrM4eRiC6TRgjNX9xzEZ5U/Se2YJKr7Mq4pJn/2XEHjl3STcSh96GmkHPcBXLES8M29wyyg==", "dev": true }, "data-urls": { - "version": "2.0.0", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", "dev": true, "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" } }, "debug": { @@ -4371,23 +5118,25 @@ "dev": true }, "decimal.js": { - "version": "10.3.1", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "dev": true - }, - "deep-is": { - "version": "0.1.4", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", "dev": true }, "deepmerge": { "version": "4.2.2", "dev": true }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true + }, "delayed-stream": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true }, "depd": { @@ -4416,20 +5165,18 @@ } }, "domelementtype": { - "version": "2.2.0", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "dev": true }, "domexception": { - "version": "2.0.1", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", "dev": true, "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "dev": true - } + "webidl-conversions": "^7.0.0" } }, "domhandler": { @@ -4440,7 +5187,9 @@ } }, "dompurify": { - "version": "2.3.3", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.6.tgz", + "integrity": "sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==", "dev": true }, "domutils": { @@ -4471,8 +5220,13 @@ "dev": true }, "ejs": { - "version": "2.7.4", - "dev": true + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "requires": { + "jake": "^10.8.5" + } }, "electron-to-chromium": { "version": "1.3.897", @@ -4571,52 +5325,15 @@ "dev": true }, "escodegen": { - "version": "2.0.0", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, "requires": { "esprima": "^4.0.1", "estraverse": "^5.2.0", "esutils": "^2.0.2", - "optionator": "^0.8.1", "source-map": "~0.6.1" - }, - "dependencies": { - "levn": { - "version": "0.3.0", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "prelude-ls": { - "version": "1.1.2", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "dev": true, - "optional": true - }, - "type-check": { - "version": "0.3.2", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - } } }, "esprima": { @@ -4625,10 +5342,14 @@ }, "estraverse": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, "esutils": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "etag": { @@ -4639,10 +5360,41 @@ "version": "4.0.7", "dev": true }, - "fast-levenshtein": { - "version": "2.0.6", + "fast-equals": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-3.0.3.tgz", + "integrity": "sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg==", "dev": true }, + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, "fill-range": { "version": "7.0.1", "dev": true, @@ -4676,7 +5428,9 @@ "dev": true }, "form-data": { - "version": "3.0.1", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dev": true, "requires": { "asynckit": "^0.4.0", @@ -4699,10 +5453,21 @@ }, "fs.realpath": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, "function-bind": { - "version": "1.1.1", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true }, "get-caller-file": { @@ -4710,13 +5475,15 @@ "dev": true }, "glob": { - "version": "7.2.0", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } @@ -4729,7 +5496,9 @@ } }, "graceful-fs": { - "version": "4.2.8", + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, "handlebars": { @@ -4741,19 +5510,6 @@ "source-map": "^0.6.1", "uglify-js": "^3.1.4", "wordwrap": "^1.0.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "dev": true - } - } - }, - "has": { - "version": "1.0.3", - "dev": true, - "requires": { - "function-bind": "^1.1.1" } }, "has-ansi": { @@ -4782,38 +5538,133 @@ }, "has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "requires": { + "function-bind": "^1.1.2" + } + }, "hexo": { - "version": "5.4.0", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/hexo/-/hexo-7.3.0.tgz", + "integrity": "sha512-dOe8mzBKrvjubW5oBmyhcnQDpC+M2xmAMLae5K+o+SkHxyvAhShkS2VQZoTsOLIJKY6xilv7dzCjCvE7ol/NHQ==", "dev": true, "requires": { - "abbrev": "^1.1.1", + "abbrev": "^2.0.0", "archy": "^1.0.0", - "bluebird": "^3.5.2", - "chalk": "^4.0.0", - "hexo-cli": "^4.0.0", - "hexo-front-matter": "^2.0.0", - "hexo-fs": "^3.1.0", - "hexo-i18n": "^1.0.0", - "hexo-log": "^2.0.0", - "hexo-util": "^2.4.0", - "js-yaml": "^4.0.0", - "micromatch": "^4.0.2", - "moment": "^2.22.2", - "moment-timezone": "^0.5.21", - "nunjucks": "^3.2.1", + "bluebird": "^3.7.2", + "hexo-cli": "^4.3.2", + "hexo-front-matter": "^4.2.1", + "hexo-fs": "^4.1.3", + "hexo-i18n": "^2.0.0", + "hexo-log": "^4.0.1", + "hexo-util": "^3.3.0", + "js-yaml": "^4.1.0", + "js-yaml-js-types": "^1.0.0", + "micromatch": "^4.0.4", + "moize": "^6.1.6", + "moment": "^2.29.1", + "moment-timezone": "^0.5.34", + "nunjucks": "^3.2.3", + "picocolors": "^1.0.0", "pretty-hrtime": "^1.0.3", - "resolve": "^1.8.1", + "resolve": "^1.22.0", "strip-ansi": "^6.0.0", "text-table": "^0.2.0", "tildify": "^2.0.0", - "titlecase": "^1.1.2", - "warehouse": "^4.0.0" + "titlecase": "^1.1.3", + "warehouse": "^5.0.1" + }, + "dependencies": { + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + }, + "hexo-util": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/hexo-util/-/hexo-util-3.3.0.tgz", + "integrity": "sha512-YvGngXijE2muEh5L/VI4Fmjqb+/yAkmY+VuyhWVoRwQu1X7bmWodsfYRXX7CUYhi5LqsvH8FAe/yBW1+f6ZX4Q==", + "dev": true, + "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" + } + }, + "highlight.js": { + "version": "11.10.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.10.0.tgz", + "integrity": "sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==", + "dev": true + }, + "htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" + } + }, + "picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + } } }, "hexo-autoprefixer": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hexo-autoprefixer/-/hexo-autoprefixer-2.0.0.tgz", + "integrity": "sha512-qiAcD3K8D5PeyPh357CG6Cn+9GmCBNDRbD2ghnTZzfOo+HFLlLWXyPZfqaUZKKdP2iksmj+vYjE5oFsQizkWYw==", "dev": true, "requires": { "autoprefixer": "^9.4.3", @@ -4830,78 +5681,263 @@ } }, "hexo-cli": { - "version": "4.3.0", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/hexo-cli/-/hexo-cli-4.3.2.tgz", + "integrity": "sha512-druJeBgLpG9ncDS5AhBHdAXk0G4CFj8Qes09pApyZ6bR+nJW1JYiDMuilhudaKDdq+1l49jWXVTidkcb7p0Jbw==", "dev": true, "requires": { - "abbrev": "^1.1.1", - "bluebird": "^3.5.5", - "chalk": "^4.0.0", - "command-exists": "^1.2.8", - "hexo-fs": "^3.0.1", - "hexo-log": "^2.0.0", - "hexo-util": "^2.0.0", + "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", - "resolve": "^1.11.0", + "picocolors": "^1.0.0", + "resolve": "^1.20.0", "tildify": "^2.0.0" + }, + "dependencies": { + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + }, + "hexo-util": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/hexo-util/-/hexo-util-3.3.0.tgz", + "integrity": "sha512-YvGngXijE2muEh5L/VI4Fmjqb+/yAkmY+VuyhWVoRwQu1X7bmWodsfYRXX7CUYhi5LqsvH8FAe/yBW1+f6ZX4Q==", + "dev": true, + "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" + } + }, + "highlight.js": { + "version": "11.10.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.10.0.tgz", + "integrity": "sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==", + "dev": true + }, + "htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" + } + }, + "picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + } } }, "hexo-deployer-git": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hexo-deployer-git/-/hexo-deployer-git-3.0.0.tgz", - "integrity": "sha512-U2Xewjab+rvUDNTcuYYnOxitkDXL3f5VMUH32jKDHs3OC4YFVGRoEaTTDVHskqr3KRi78Wohjc6BSRHOoG3oxA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hexo-deployer-git/-/hexo-deployer-git-4.0.0.tgz", + "integrity": "sha512-28t1Q+4taB/UaBAP52W3mD/wcCwa2y2zBieUfBJFBZudbmVgiKJB5YedYILeyI5QByaUKAOwoupmdTbocdQ+CQ==", + "dev": true, + "requires": { + "bluebird": "^3.7.2", + "hexo-fs": "^4.0.0", + "hexo-util": "^2.7.0", + "luxon": "^3.0.4", + "nunjucks": "^3.2.3", + "picocolors": "^1.0.0" + }, + "dependencies": { + "entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "dev": true + }, + "hexo-util": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/hexo-util/-/hexo-util-2.7.0.tgz", + "integrity": "sha512-hQM3h34nhDg0bSe/Tg1lnpODvNkz7h2u0+lZGzlKL0Oufp+5KCAEUX9wal7/xC7ax3/cwEn8IuoU75kNpZLpJQ==", + "dev": true, + "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.npmjs.org/highlight.js/-/highlight.js-11.10.0.tgz", + "integrity": "sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==", + "dev": true + }, + "htmlparser2": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" + } + }, + "picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + } + } + }, + "hexo-front-matter": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hexo-front-matter/-/hexo-front-matter-4.2.1.tgz", + "integrity": "sha512-sJJI0GNmejYiwBvgnGRKn5V3sbODB4dNPr8jyw2Qp0PRHr4Uuyv8iyxw6WfK3+T7yvzYvJOh+tZ7jnwr2BYARA==", "dev": true, "requires": { - "bluebird": "^3.5.0", - "chalk": "^4.0.0", - "hexo-fs": "^3.0.1", - "hexo-util": "^2.1.0", - "moment": "^2.18.0", - "nunjucks": "^3.2.1" + "js-yaml": "^4.1.0" } }, - "hexo-front-matter": { - "version": "2.0.0", + "hexo-fs": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/hexo-fs/-/hexo-fs-4.1.3.tgz", + "integrity": "sha512-Q92zQ5PlVDouvSWFLXQoFSTLIUIODikUJs2BfAXQglyOEjN1dOQn1Z5Nimk/7GHof17R5h/uObCQLnZAjzI2tg==", "dev": true, "requires": { - "js-yaml": "^3.13.1" + "bluebird": "^3.7.2", + "chokidar": "^3.5.3", + "graceful-fs": "^4.2.10", + "hexo-util": "^3.0.1" }, "dependencies": { - "argparse": { - "version": "1.0.10", + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" } }, - "js-yaml": { - "version": "3.14.1", + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + }, + "hexo-util": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/hexo-util/-/hexo-util-3.3.0.tgz", + "integrity": "sha512-YvGngXijE2muEh5L/VI4Fmjqb+/yAkmY+VuyhWVoRwQu1X7bmWodsfYRXX7CUYhi5LqsvH8FAe/yBW1+f6ZX4Q==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "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" } }, - "sprintf-js": { - "version": "1.0.3", + "highlight.js": { + "version": "11.10.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.10.0.tgz", + "integrity": "sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==", "dev": true + }, + "htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" + } } } }, - "hexo-fs": { - "version": "3.1.0", - "dev": true, - "requires": { - "bluebird": "^3.5.1", - "chokidar": "^3.0.0", - "graceful-fs": "^4.1.11", - "hexo-util": "^2.0.0" - } - }, "hexo-generator-archive": { - "version": "1.0.0", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hexo-generator-archive/-/hexo-generator-archive-2.0.0.tgz", + "integrity": "sha512-KikJk7dGFbtNHOgqtLFGf5T/S8n1paGp+Gy0KfVDz+HKYhGbXOouyiZkmc3O9KrYt6ja14rmkMhq7KKGtvfehw==", "dev": true, "requires": { - "hexo-pagination": "1.0.0" + "hexo-pagination": "3.0.0" } }, "hexo-generator-cname": { @@ -4917,36 +5953,53 @@ } }, "hexo-generator-index": { - "version": "2.0.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hexo-generator-index/-/hexo-generator-index-4.0.0.tgz", + "integrity": "sha512-KeM7mOCKWINGFAk1E+CkjMMgqFIv8oaRbGxR7ipkQAp44o4aopkVftma4sdIplOq9WQEWfVYDUK5gEv9J3nzUg==", "dev": true, "requires": { - "hexo-pagination": "1.0.0", - "timsort": "^0.3.0" + "hexo-pagination": "3.0.0" } }, "hexo-i18n": { - "version": "1.0.0", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hexo-i18n/-/hexo-i18n-2.0.0.tgz", + "integrity": "sha512-dkUXecEtChaQMdTHN4WR13c8GwKqjbSOZPJS9qDqV6Ebnb77Wa/nQzWFckhP0dCps3a9lUQBd8hYGOMbOosiQQ==", "dev": true, "requires": { - "sprintf-js": "^1.0.3" + "sprintf-js": "^1.1.2" } }, "hexo-log": { - "version": "2.0.0", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hexo-log/-/hexo-log-4.1.0.tgz", + "integrity": "sha512-i2Sgxk8Cgx5viSjq5qW5N/rBFfwoCKQcH8qnnW1fawCapcdEAhIsq+Y3vbrs9bssyDlyU6Vqm4oQmosREaNI7Q==", "dev": true, "requires": { - "chalk": "^4.0.0" + "picocolors": "^1.0.0" + }, + "dependencies": { + "picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + } } }, "hexo-pagination": { - "version": "1.0.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hexo-pagination/-/hexo-pagination-3.0.0.tgz", + "integrity": "sha512-8oo1iozloZo7TojPVYg4IxL3SJKCBdSJ908fTlIxIK7TWJIKdYnQlW31+12DBJ0NhVZA/lZisPObGF08wT8fKw==", "dev": true }, "hexo-renderer-ejs": { - "version": "1.0.0", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hexo-renderer-ejs/-/hexo-renderer-ejs-2.0.0.tgz", + "integrity": "sha512-qCjE1IdwgDgv65qyb0KMVCwCdSVAkH0vwAe9XihjvaKWkmb9dtt8DgErOdqCXn0HReSyWiEVP2BrLRj3gyHwOQ==", "dev": true, "requires": { - "ejs": "^2.6.1" + "ejs": "^3.1.6" } }, "hexo-renderer-handlebars": { @@ -4957,34 +6010,112 @@ } }, "hexo-renderer-marked": { - "version": "4.1.0", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/hexo-renderer-marked/-/hexo-renderer-marked-6.3.0.tgz", + "integrity": "sha512-V/ATcJ+tZHkTJSbScPzzHKmrwVMohU8i9MfuX9jp07Un/NpPtaTP821unP3JPu+O1nNLWMi+3xRbFRdm+8vajw==", "dev": true, "requires": { - "dompurify": "^2.3.0", - "hexo-util": "^2.5.0", - "jsdom": "^16.7.0", - "marked": "^2.1.3" + "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.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + }, + "hexo-util": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/hexo-util/-/hexo-util-3.3.0.tgz", + "integrity": "sha512-YvGngXijE2muEh5L/VI4Fmjqb+/yAkmY+VuyhWVoRwQu1X7bmWodsfYRXX7CUYhi5LqsvH8FAe/yBW1+f6ZX4Q==", + "dev": true, + "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" + } + }, + "highlight.js": { + "version": "11.10.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.10.0.tgz", + "integrity": "sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==", + "dev": true + }, + "htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" + } + } } }, "hexo-renderer-stylus": { - "version": "2.0.1", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hexo-renderer-stylus/-/hexo-renderer-stylus-3.0.1.tgz", + "integrity": "sha512-cFm8ZwShBBeFcQwOXc8EK7lIZnSYVD6OJykdL4GBw99hxc4eD5Hlsi32nRzE8sgKv00jhX1s9Da3GVVFMPAVQg==", "dev": true, "requires": { - "nib": "^1.1.2", - "stylus": "^0.54.8" + "nib": "^1.2.0", + "stylus": "^0.62.0" } }, "hexo-server": { - "version": "2.0.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hexo-server/-/hexo-server-3.0.0.tgz", + "integrity": "sha512-u4s0ty9Aew6jV+a9oMrXBwhrRpUQ0U8PWM/88a5aHgDru58VY81mVrxOFxs788NAsWQ8OvsJtF5m7mnXoRnSIA==", "dev": true, "requires": { "bluebird": "^3.5.5", - "chalk": "^4.0.0", "compression": "^1.7.4", "connect": "^3.7.0", - "mime": "^2.4.3", + "mime": "^3.0.0", "morgan": "^1.9.1", - "open": "^7.0.0", + "open": "^8.0.9", + "picocolors": "^1.0.0", "serve-static": "^1.14.1" }, "dependencies": { @@ -5019,6 +6150,12 @@ "version": "2.1.1", "dev": true }, + "picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + }, "send": { "version": "0.17.1", "dev": true, @@ -5079,10 +6216,12 @@ "dev": true }, "html-encoding-sniffer": { - "version": "2.0.1", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, "requires": { - "whatwg-encoding": "^1.0.5" + "whatwg-encoding": "^2.0.0" } }, "htmlparser2": { @@ -5126,16 +6265,20 @@ } }, "http-proxy-agent": { - "version": "4.0.1", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, "requires": { - "@tootallnate/once": "1", + "@tootallnate/once": "2", "agent-base": "6", "debug": "4" }, "dependencies": { "debug": { - "version": "4.3.2", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "requires": { "ms": "2.1.2" @@ -5143,12 +6286,16 @@ }, "ms": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } }, "https-proxy-agent": { - "version": "5.0.0", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, "requires": { "agent-base": "6", @@ -5156,7 +6303,9 @@ }, "dependencies": { "debug": { - "version": "4.3.2", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "requires": { "ms": "2.1.2" @@ -5164,6 +6313,8 @@ }, "ms": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } @@ -5185,6 +6336,8 @@ }, "inflight": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "requires": { "once": "^1.3.0", @@ -5203,14 +6356,18 @@ } }, "is-core-module": { - "version": "2.8.0", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", "dev": true, "requires": { - "has": "^1.0.3" + "hasown": "^2.0.2" } }, "is-docker": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true }, "is-extglob": { @@ -5240,15 +6397,21 @@ } }, "is-plain-object": { - "version": "3.0.1", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true }, "is-potential-custom-element-name": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", "dev": true }, "is-wsl": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, "requires": { "is-docker": "^2.0.0" @@ -5262,6 +6425,26 @@ "version": "2.0.0", "dev": true }, + "jake": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.1.tgz", + "integrity": "sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==", + "dev": true, + "requires": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "dependencies": { + "async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "dev": true + } + } + }, "js-yaml": { "version": "4.1.0", "dev": true, @@ -5269,37 +6452,47 @@ "argparse": "^2.0.1" } }, + "js-yaml-js-types": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/js-yaml-js-types/-/js-yaml-js-types-1.0.1.tgz", + "integrity": "sha512-5tpfyORs8OQ43alNERbWfYRCtWgykvzYgY46fUhrQi2+kS7N0NuuFYLZ/IrfmVm5muLTndeMublgraXiFRjEPw==", + "dev": true, + "requires": { + "esprima": "^4.0.1" + } + }, "jsdom": { - "version": "16.7.0", + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", "dev": true, "requires": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "domexception": "^4.0.0", "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", + "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.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", + "nwsapi": "^2.2.2", + "parse5": "^7.1.1", + "saxes": "^6.0.0", "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" + "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" } }, "jsonfile": { @@ -5311,16 +6504,10 @@ }, "jsonparse": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true }, - "JSONStream": { - "version": "1.3.5", - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, "limiter": { "version": "1.1.5", "dev": true @@ -5409,8 +6596,22 @@ "tslib": "^2.0.3" } }, + "luxon": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.4.tgz", + "integrity": "sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==", + "dev": true + }, "marked": { - "version": "2.1.3", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "dev": true + }, + "micro-memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/micro-memoize/-/micro-memoize-4.1.2.tgz", + "integrity": "sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g==", "dev": true }, "micromatch": { @@ -5422,7 +6623,9 @@ } }, "mime": { - "version": "2.6.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", "dev": true }, "mime-db": { @@ -5441,7 +6644,9 @@ "dev": true }, "minimatch": { - "version": "3.0.4", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -5455,9 +6660,15 @@ "version": "1.2.0", "dev": true }, - "mkdirp": { - "version": "1.0.4", - "dev": true + "moize": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/moize/-/moize-6.1.6.tgz", + "integrity": "sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q==", + "dev": true, + "requires": { + "fast-equals": "^3.0.1", + "micro-memoize": "^4.1.2" + } }, "moment": { "version": "2.29.1", @@ -5494,59 +6705,11 @@ "dev": true }, "nib": { - "version": "1.1.2", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/nib/-/nib-1.2.0.tgz", + "integrity": "sha512-7HgrnMl/3yOmWykueO8/D0q+0iWwe7Z+CK2Eaq/xQV8w1hK80WN1oReRQkfkrztbAAnp/nTHkUSl5EcVkor6JQ==", "dev": true, - "requires": { - "stylus": "0.54.5" - }, - "dependencies": { - "css-parse": { - "version": "1.7.0", - "dev": true - }, - "glob": { - "version": "7.0.6", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.2", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "mkdirp": { - "version": "0.5.5", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "sax": { - "version": "0.5.8", - "dev": true - }, - "source-map": { - "version": "0.1.43", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - }, - "stylus": { - "version": "0.54.5", - "dev": true, - "requires": { - "css-parse": "1.7.x", - "debug": "*", - "glob": "7.0.x", - "mkdirp": "0.5.x", - "sax": "0.5.x", - "source-map": "0.1.x" - } - } - } + "requires": {} }, "no-case": { "version": "3.0.4", @@ -5582,7 +6745,9 @@ } }, "nwsapi": { - "version": "2.2.0", + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", + "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==", "dev": true }, "on-finished": { @@ -5598,17 +6763,22 @@ }, "once": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "requires": { "wrappy": "1" } }, "open": { - "version": "7.4.2", + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", "dev": true, "requires": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" } }, "openurl": { @@ -5647,8 +6817,21 @@ "dev": true }, "parse5": { - "version": "6.0.1", - "dev": true + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "requires": { + "entities": "^4.4.0" + }, + "dependencies": { + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + } + } }, "parseqs": { "version": "0.0.6", @@ -5676,6 +6859,8 @@ }, "path-is-absolute": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true }, "path-key": { @@ -5684,6 +6869,8 @@ }, "path-parse": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "picocolors": { @@ -5708,12 +6895,6 @@ "requires": { "picocolors": "^0.2.1", "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "dev": true - } } }, "postcss-value-parser": { @@ -5725,15 +6906,21 @@ "dev": true }, "prismjs": { - "version": "1.25.0", + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", "dev": true }, "psl": { - "version": "1.8.0", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", "dev": true }, "punycode": { - "version": "2.1.1", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true }, "q": { @@ -5744,6 +6931,12 @@ "version": "6.2.3", "dev": true }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, "range-parser": { "version": "1.2.1", "dev": true @@ -5764,6 +6957,17 @@ } } }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, "readdirp": { "version": "3.6.0", "dev": true, @@ -5784,17 +6988,16 @@ "dev": true }, "resolve": { - "version": "1.20.0", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, - "resolve-url": { - "version": "0.2.1", - "dev": true - }, "resp-modifier": { "version": "6.0.2", "dev": true, @@ -5804,7 +7007,9 @@ } }, "rfdc": { - "version": "1.3.0", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", "dev": true }, "rx": { @@ -5827,11 +7032,15 @@ "dev": true }, "sax": { - "version": "1.2.4", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", "dev": true }, "saxes": { - "version": "5.0.1", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, "requires": { "xmlchars": "^2.2.0" @@ -6052,23 +7261,16 @@ } } }, - "source-map-resolve": { - "version": "0.5.3", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-url": { - "version": "0.4.1", + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, "sprintf-js": { - "version": "1.1.2", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", "dev": true }, "statuses": { @@ -6093,6 +7295,23 @@ } } }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, "string-width": { "version": "4.2.3", "dev": true, @@ -6117,49 +7336,64 @@ } }, "stylus": { - "version": "0.54.8", + "version": "0.62.0", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.62.0.tgz", + "integrity": "sha512-v3YCf31atbwJQIMtPNX8hcQ+okD4NQaTuKGUWfII8eaqn+3otrbttGL1zSMZAAtiPsBztQnujVBugg/cXFUpyg==", "dev": true, "requires": { - "css-parse": "~2.0.0", - "debug": "~3.1.0", + "@adobe/css-tools": "~4.3.1", + "debug": "^4.3.2", "glob": "^7.1.6", - "mkdirp": "~1.0.4", - "safer-buffer": "^2.1.2", - "sax": "~1.2.4", - "semver": "^6.3.0", + "sax": "~1.3.0", "source-map": "^0.7.3" }, "dependencies": { "debug": { - "version": "3.1.0", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "2.1.2" } }, - "semver": { - "version": "6.3.0", + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "source-map": { - "version": "0.7.3", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true } } }, "supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" } }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, "symbol-observable": { "version": "1.0.1", "dev": true }, "symbol-tree": { "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, "text-table": { @@ -6210,16 +7444,19 @@ } } }, - "through": { - "version": "2.3.8", - "dev": true + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "requires": { + "readable-stream": "3" + } }, "tildify": { "version": "2.0.0", - "dev": true - }, - "timsort": { - "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", + "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==", "dev": true }, "titlecase": { @@ -6242,16 +7479,29 @@ "dev": true }, "tough-cookie": { - "version": "4.0.0", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "dev": true, "requires": { "psl": "^1.1.33", "punycode": "^2.1.1", - "universalify": "^0.1.2" + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "dependencies": { + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true + } } }, "tr46": { - "version": "2.1.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", "dev": true, "requires": { "punycode": "^2.1.1" @@ -6282,8 +7532,20 @@ "version": "1.0.0", "dev": true }, - "urix": { - "version": "0.1.0", + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, "utils-merge": { @@ -6294,54 +7556,71 @@ "version": "1.1.2", "dev": true }, - "w3c-hr-time": { - "version": "1.0.2", - "dev": true, - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, "w3c-xmlserializer": { - "version": "2.0.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", "dev": true, "requires": { - "xml-name-validator": "^3.0.0" + "xml-name-validator": "^4.0.0" } }, "warehouse": { - "version": "4.0.0", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/warehouse/-/warehouse-5.0.1.tgz", + "integrity": "sha512-5BQEQP56bPY+cqocTho4syazuGgSoyKd0y3PsS2j8tGN10HH+CEfJSIY+KUw9D0k4jaVEFMXLz0KqCiUzTYb8A==", "dev": true, "requires": { - "bluebird": "^3.2.2", - "cuid": "^2.1.4", - "graceful-fs": "^4.1.3", - "is-plain-object": "^3.0.0", - "JSONStream": "^1.0.7", - "rfdc": "^1.1.4" + "bluebird": "^3.7.2", + "cuid": "^2.1.8", + "graceful-fs": "^4.2.10", + "hexo-log": "^4.0.1", + "is-plain-object": "^5.0.0", + "jsonparse": "^1.3.1", + "rfdc": "^1.3.0", + "through2": "^4.0.2" } }, "webidl-conversions": { - "version": "6.1.0", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true }, "whatwg-encoding": { - "version": "1.0.5", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, "requires": { - "iconv-lite": "0.4.24" + "iconv-lite": "0.6.3" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } } }, "whatwg-mimetype": { - "version": "2.3.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", "dev": true }, "whatwg-url": { - "version": "8.7.0", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", "dev": true, "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" } }, "which": { @@ -6355,10 +7634,6 @@ "version": "2.0.0", "dev": true }, - "word-wrap": { - "version": "1.2.3", - "dev": true - }, "wordwrap": { "version": "1.0.0", "dev": true @@ -6374,19 +7649,27 @@ }, "wrappy": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, "ws": { - "version": "7.5.5", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, "requires": {} }, "xml-name-validator": { - "version": "3.0.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true }, "xmlchars": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, "xmlhttprequest-ssl": { diff --git a/package.json b/package.json index 12a6b023..31a35f23 100644 --- a/package.json +++ b/package.json @@ -3,25 +3,25 @@ "version": "0.0.0", "private": true, "hexo": { - "version": "5.4.0" + "version": "7.3.0" }, "scripts": { "start": "hexo server --debug", "deploy": "NODE_ENV=production hexo deploy -g" }, "devDependencies": { - "hexo": "^5.4.0", + "hexo": "^7.3.0", "hexo-autoprefixer": "^2.0.0", "hexo-browsersync": "^0.3.0", - "hexo-deployer-git": "^3.0.0", - "hexo-generator-archive": "^1.0.0", + "hexo-deployer-git": "^4.0.0", + "hexo-generator-archive": "^2.0.0", "hexo-generator-cname": "^0.3.0", "hexo-generator-feed": "^3.0.0", - "hexo-generator-index": "^2.0.0", - "hexo-renderer-ejs": "^1.0.0", + "hexo-generator-index": "^4.0.0", + "hexo-renderer-ejs": "^2.0.0", "hexo-renderer-handlebars": "^2.0.2", - "hexo-renderer-marked": "^4.0.0", - "hexo-renderer-stylus": "^2.0.0", - "hexo-server": "^2.0.0" + "hexo-renderer-marked": "^6.3.0", + "hexo-renderer-stylus": "^3.0.1", + "hexo-server": "^3.0.0" } -} +} \ No newline at end of file From 412b255ed44030bdf272831a47a2421b1934a709 Mon Sep 17 00:00:00 2001 From: "Tim G. Thomas" Date: Wed, 17 Jul 2024 22:20:36 -0500 Subject: [PATCH 02/13] clean up config --- _config.yml | 26 +------------------------- 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/_config.yml b/_config.yml index b4ad569b..3d9524a1 100644 --- a/_config.yml +++ b/_config.yml @@ -4,53 +4,29 @@ # Site title: Tim G. Thomas -subtitle: -description: author: Tim G. Thomas -email: -language: +email: tim@timgthomas.com # URL ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' url: http://timgthomas.com root: / permalink: :year/:month/:title/ -tag_dir: tags -archive_dir: archives -category_dir: categories -code_dir: downloads/code feed: type: rss2 path: feed limit: 20 -# Directory -source_dir: source -public_dir: public - # Writing new_post_name: :year/:month-:day-:title.md # File name of new posts -default_layout: post auto_spacing: false # Add spaces between asian characters and western characters -titlecase: false # Transform title into titlecase -external_link: - enable: true # Open external links in new tab -max_open_file: 100 -multi_thread: true filename_case: 1 -render_drafts: false post_asset_folder: true highlight: enable: true line_number: false tab_replace: -encoding: utf-8 - -# Category & Tag -default_category: uncategorized -category_map: -tag_map: # Archives ## 2: Enable pagination From a5181988b72d77311acaa4603f3465a2fabb39b4 Mon Sep 17 00:00:00 2001 From: "Tim G. Thomas" Date: Thu, 18 Jul 2024 00:03:49 -0500 Subject: [PATCH 03/13] add new theme --- _config.yml | 5 +---- package-lock.json | 10 ++++++++++ package.json | 2 +- source/_data/menu.yml | 3 +++ themes/tgt/layout/_partial/head.ejs | 7 +++++++ themes/tgt/layout/_partial/meta.ejs | 16 ++++++++++++++++ themes/tgt/layout/_partial/nav.ejs | 5 +++++ themes/tgt/layout/index.ejs | 4 ++++ themes/tgt/layout/layout.ejs | 22 ++++++++++++++++++++++ 9 files changed, 69 insertions(+), 5 deletions(-) create mode 100644 source/_data/menu.yml create mode 100644 themes/tgt/layout/_partial/head.ejs create mode 100644 themes/tgt/layout/_partial/meta.ejs create mode 100644 themes/tgt/layout/_partial/nav.ejs create mode 100644 themes/tgt/layout/index.ejs create mode 100644 themes/tgt/layout/layout.ejs diff --git a/_config.yml b/_config.yml index 3d9524a1..02029ee0 100644 --- a/_config.yml +++ b/_config.yml @@ -61,10 +61,7 @@ pagination_dir: page disqus_shortname: timgthomas # Extensions -## HACK: This doesn't seem to work, so I've prepended other themes with -## underscores. -theme: tria-2019 -exclude_generator: +theme: tgt # Deployment ## Docs: http://hexo.io/docs/deployment.html diff --git a/package-lock.json b/package-lock.json index 1b211630..d1ba07cf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,6 +23,16 @@ "hexo-server": "^3.0.0" } }, + "../../../../lib/hexo-theme-tgt": { + "extraneous": true + }, + "lib/hexo-theme-tgt": { + "version": "0.0.0", + "extraneous": true, + "dependencies": { + "hexo-renderer-ejs": "^2.0.0" + } + }, "node_modules/@adobe/css-tools": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.3.tgz", diff --git a/package.json b/package.json index 31a35f23..14c1db46 100644 --- a/package.json +++ b/package.json @@ -24,4 +24,4 @@ "hexo-renderer-stylus": "^3.0.1", "hexo-server": "^3.0.0" } -} \ No newline at end of file +} diff --git a/source/_data/menu.yml b/source/_data/menu.yml new file mode 100644 index 00000000..50f05ffc --- /dev/null +++ b/source/_data/menu.yml @@ -0,0 +1,3 @@ +Blog: /blog +Projects: /projects +Speaking: /speaking diff --git a/themes/tgt/layout/_partial/head.ejs b/themes/tgt/layout/_partial/head.ejs new file mode 100644 index 00000000..12cdaba7 --- /dev/null +++ b/themes/tgt/layout/_partial/head.ejs @@ -0,0 +1,7 @@ +<% const title = [page.title, config.title].filter(Boolean).join(' - ') %> +<%- partial('meta', { title }) %> +<%= title %> +<% if (page.description) { %> + +<% } %> + diff --git a/themes/tgt/layout/_partial/meta.ejs b/themes/tgt/layout/_partial/meta.ejs new file mode 100644 index 00000000..dee54157 --- /dev/null +++ b/themes/tgt/layout/_partial/meta.ejs @@ -0,0 +1,16 @@ + +<% if (page.description) { %> + +<% } %> + + + + + +<% if (page.description) { %> + +<% } %> + diff --git a/themes/tgt/layout/_partial/nav.ejs b/themes/tgt/layout/_partial/nav.ejs new file mode 100644 index 00000000..6e80a219 --- /dev/null +++ b/themes/tgt/layout/_partial/nav.ejs @@ -0,0 +1,5 @@ + diff --git a/themes/tgt/layout/index.ejs b/themes/tgt/layout/index.ejs new file mode 100644 index 00000000..553f40a5 --- /dev/null +++ b/themes/tgt/layout/index.ejs @@ -0,0 +1,4 @@ +<% page.title = 'Content?' %> + +

<%= page.title %>

+

Content.

diff --git a/themes/tgt/layout/layout.ejs b/themes/tgt/layout/layout.ejs new file mode 100644 index 00000000..b15f50f9 --- /dev/null +++ b/themes/tgt/layout/layout.ejs @@ -0,0 +1,22 @@ + + + + + + + <%- partial('_partial/head') %> + + + + +
+

<%= config.title %>

+ <%- partial('_partial/nav') %> +
+
<%- body %>
+
<%= JSON.stringify(page.data, null, 2) %>
+
+

© <%= config.author %>. All rights reserved.

+
+ + From 43843f3e0ecb6a2f11e67f74325fa8383b66a4ba Mon Sep 17 00:00:00 2001 From: "Tim G. Thomas" Date: Fri, 19 Jul 2024 12:19:54 -0500 Subject: [PATCH 04/13] add blog layouts --- _config.yml | 3 +++ themes/tgt/layout/_partial/archive.ejs | 6 ++++++ themes/tgt/layout/_partial/article.ejs | 6 ++++++ themes/tgt/layout/_partial/nav.ejs | 5 +++-- themes/tgt/layout/archive.ejs | 17 +++++++++++++++++ themes/tgt/layout/blog.ejs | 2 ++ themes/tgt/layout/layout.ejs | 5 ++++- themes/tgt/layout/page.ejs | 1 + themes/tgt/layout/post.ejs | 1 + 9 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 themes/tgt/layout/_partial/archive.ejs create mode 100644 themes/tgt/layout/_partial/article.ejs create mode 100644 themes/tgt/layout/archive.ejs create mode 100644 themes/tgt/layout/blog.ejs create mode 100644 themes/tgt/layout/page.ejs create mode 100644 themes/tgt/layout/post.ejs diff --git a/_config.yml b/_config.yml index 02029ee0..b7d41a71 100644 --- a/_config.yml +++ b/_config.yml @@ -13,6 +13,9 @@ url: http://timgthomas.com root: / permalink: :year/:month/:title/ +pretty_urls: + trailing_index: false + feed: type: rss2 path: feed diff --git a/themes/tgt/layout/_partial/archive.ejs b/themes/tgt/layout/_partial/archive.ejs new file mode 100644 index 00000000..4f6f68bf --- /dev/null +++ b/themes/tgt/layout/_partial/archive.ejs @@ -0,0 +1,6 @@ +<% site.posts.sort('date', 'desc').each((post) => { %> +

+ <%= post.title %> + <%= post.date %> +

+<% }) %> diff --git a/themes/tgt/layout/_partial/article.ejs b/themes/tgt/layout/_partial/article.ejs new file mode 100644 index 00000000..57a4a89e --- /dev/null +++ b/themes/tgt/layout/_partial/article.ejs @@ -0,0 +1,6 @@ +
+
+

<%= post.title %>

+
+ <%- post.content %> +
diff --git a/themes/tgt/layout/_partial/nav.ejs b/themes/tgt/layout/_partial/nav.ejs index 6e80a219..ea71db3e 100644 --- a/themes/tgt/layout/_partial/nav.ejs +++ b/themes/tgt/layout/_partial/nav.ejs @@ -1,5 +1,6 @@ +<% const byTitle = (lhs, rhs) => lhs.title.localeCompare(rhs.title) %> diff --git a/themes/tgt/layout/archive.ejs b/themes/tgt/layout/archive.ejs new file mode 100644 index 00000000..26e018a8 --- /dev/null +++ b/themes/tgt/layout/archive.ejs @@ -0,0 +1,17 @@ +<% var last; %> +<% page.posts.each(function(post) { %> + <% var year = post.date.year(); %> + <% if (last != year) { %> + <% if (last != null) { %> + + <% } %> + <% last = year; %> +

<%= year %>

+
+ <% } %> +
<%= post.title %>
+
<%= date(post.date, config.date_format) %>
+<% }); %> +<% if (page.posts.length) { %> +
+<% } %> diff --git a/themes/tgt/layout/blog.ejs b/themes/tgt/layout/blog.ejs new file mode 100644 index 00000000..38b14052 --- /dev/null +++ b/themes/tgt/layout/blog.ejs @@ -0,0 +1,2 @@ +

Foo

+<%- partial('_partial/archive') %> diff --git a/themes/tgt/layout/layout.ejs b/themes/tgt/layout/layout.ejs index b15f50f9..81f58148 100644 --- a/themes/tgt/layout/layout.ejs +++ b/themes/tgt/layout/layout.ejs @@ -14,7 +14,10 @@ <%- partial('_partial/nav') %>
<%- body %>
-
<%= JSON.stringify(page.data, null, 2) %>
+
+ Site data +
<%= JSON.stringify(site.pages, null, 2) %>
+

© <%= config.author %>. All rights reserved.

diff --git a/themes/tgt/layout/page.ejs b/themes/tgt/layout/page.ejs new file mode 100644 index 00000000..825754db --- /dev/null +++ b/themes/tgt/layout/page.ejs @@ -0,0 +1 @@ +<%- partial('_partial/article', { post: page, index: false }) %> diff --git a/themes/tgt/layout/post.ejs b/themes/tgt/layout/post.ejs new file mode 100644 index 00000000..825754db --- /dev/null +++ b/themes/tgt/layout/post.ejs @@ -0,0 +1 @@ +<%- partial('_partial/article', { post: page, index: false }) %> From 6ab9a0229f7614415a4c7d27e653e4cc0103572b Mon Sep 17 00:00:00 2001 From: "Tim G. Thomas" Date: Fri, 19 Jul 2024 13:23:18 -0500 Subject: [PATCH 05/13] add date helper --- themes/tgt/layout/_helpers/date.ejs | 6 ++++++ themes/tgt/layout/_partial/archive.ejs | 8 ++++---- themes/tgt/layout/blog.ejs | 1 - 3 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 themes/tgt/layout/_helpers/date.ejs diff --git a/themes/tgt/layout/_helpers/date.ejs b/themes/tgt/layout/_helpers/date.ejs new file mode 100644 index 00000000..51d69b08 --- /dev/null +++ b/themes/tgt/layout/_helpers/date.ejs @@ -0,0 +1,6 @@ + diff --git a/themes/tgt/layout/_partial/archive.ejs b/themes/tgt/layout/_partial/archive.ejs index 4f6f68bf..dd6b98cd 100644 --- a/themes/tgt/layout/_partial/archive.ejs +++ b/themes/tgt/layout/_partial/archive.ejs @@ -1,6 +1,6 @@ <% site.posts.sort('date', 'desc').each((post) => { %> -

- <%= post.title %> - <%= post.date %> -

+

+ <%= post.title %> + <%- partial('_helpers/date', { value: post.date }) %> +

<% }) %> diff --git a/themes/tgt/layout/blog.ejs b/themes/tgt/layout/blog.ejs index 38b14052..c2c550cd 100644 --- a/themes/tgt/layout/blog.ejs +++ b/themes/tgt/layout/blog.ejs @@ -1,2 +1 @@ -

Foo

<%- partial('_partial/archive') %> From ef31dd02fa0f9044a49af14ec262ed852b425a0d Mon Sep 17 00:00:00 2001 From: "Tim G. Thomas" Date: Fri, 19 Jul 2024 16:52:09 -0500 Subject: [PATCH 06/13] add scss and fill out some projects markup --- _config.yml | 3 + package-lock.json | 86 +++++++++++++++++++ package.json | 1 + source/images/projects/a-faire-from-afar.jpg | Bin 0 -> 16764 bytes source/images/projects/active-syntax.jpg | Bin 0 -> 58543 bytes source/images/projects/dragon-dice.jpg | Bin 0 -> 78606 bytes source/images/projects/faire-day.jpg | Bin 0 -> 50156 bytes source/images/projects/faire-lyrics.jpg | Bin 0 -> 14438 bytes source/images/projects/heart-points.jpg | Bin 0 -> 41506 bytes source/images/projects/personal-site.jpg | Bin 0 -> 57776 bytes themes/tgt/layout/_partial/article.ejs | 10 +-- themes/tgt/layout/layout.ejs | 2 +- themes/tgt/layout/page.ejs | 1 - themes/tgt/layout/page.hbs | 26 ++++++ themes/tgt/source/style.scss | 14 +++ themes/tgt/source/style/_mixins.scss | 11 +++ themes/tgt/source/style/_resets.scss | 26 ++++++ themes/tgt/source/style/_variables.scss | 13 +++ 18 files changed, 185 insertions(+), 8 deletions(-) create mode 100644 source/images/projects/a-faire-from-afar.jpg create mode 100644 source/images/projects/active-syntax.jpg create mode 100644 source/images/projects/dragon-dice.jpg create mode 100644 source/images/projects/faire-day.jpg create mode 100644 source/images/projects/faire-lyrics.jpg create mode 100644 source/images/projects/heart-points.jpg create mode 100644 source/images/projects/personal-site.jpg delete mode 100644 themes/tgt/layout/page.ejs create mode 100644 themes/tgt/layout/page.hbs create mode 100644 themes/tgt/source/style.scss create mode 100644 themes/tgt/source/style/_mixins.scss create mode 100644 themes/tgt/source/style/_resets.scss create mode 100644 themes/tgt/source/style/_variables.scss diff --git a/_config.yml b/_config.yml index b7d41a71..c7b0aa63 100644 --- a/_config.yml +++ b/_config.yml @@ -66,6 +66,9 @@ disqus_shortname: timgthomas # Extensions theme: tgt +node_sass: + outputStyle: compressed + # Deployment ## Docs: http://hexo.io/docs/deployment.html deploy: diff --git a/package-lock.json b/package-lock.json index d1ba07cf..df6fad10 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,6 +19,7 @@ "hexo-renderer-ejs": "^2.0.0", "hexo-renderer-handlebars": "^2.0.2", "hexo-renderer-marked": "^6.3.0", + "hexo-renderer-sass": "^0.5.0", "hexo-renderer-stylus": "^3.0.1", "hexo-server": "^3.0.0" } @@ -2102,6 +2103,22 @@ "entities": "^4.5.0" } }, + "node_modules/hexo-renderer-sass": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/hexo-renderer-sass/-/hexo-renderer-sass-0.5.0.tgz", + "integrity": "sha512-zNuXGOTZj/2tLFwnVuueqbzOS8yVFhdVYbei5wPPUoiompiyZjEkF+P9TCHEuFZl+foQictqxKY2ngiWiNYOBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "sass": "^1.41.1" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "hexo": ">= 3" + } + }, "node_modules/hexo-renderer-stylus": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/hexo-renderer-stylus/-/hexo-renderer-stylus-3.0.1.tgz", @@ -3631,6 +3648,31 @@ "dev": true, "license": "MIT" }, + "node_modules/sass": { + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz", + "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass/node_modules/immutable": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz", + "integrity": "sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==", + "dev": true, + "license": "MIT" + }, "node_modules/sax": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", @@ -3932,6 +3974,16 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/sprintf-js": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", @@ -6103,6 +6155,15 @@ } } }, + "hexo-renderer-sass": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/hexo-renderer-sass/-/hexo-renderer-sass-0.5.0.tgz", + "integrity": "sha512-zNuXGOTZj/2tLFwnVuueqbzOS8yVFhdVYbei5wPPUoiompiyZjEkF+P9TCHEuFZl+foQictqxKY2ngiWiNYOBw==", + "dev": true, + "requires": { + "sass": "^1.41.1" + } + }, "hexo-renderer-stylus": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/hexo-renderer-stylus/-/hexo-renderer-stylus-3.0.1.tgz", @@ -7041,6 +7102,25 @@ "version": "2.1.2", "dev": true }, + "sass": { + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz", + "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "dependencies": { + "immutable": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz", + "integrity": "sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==", + "dev": true + } + } + }, "sax": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", @@ -7277,6 +7357,12 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, + "source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true + }, "sprintf-js": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", diff --git a/package.json b/package.json index 14c1db46..3de2540f 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "hexo-renderer-ejs": "^2.0.0", "hexo-renderer-handlebars": "^2.0.2", "hexo-renderer-marked": "^6.3.0", + "hexo-renderer-sass": "^0.5.0", "hexo-renderer-stylus": "^3.0.1", "hexo-server": "^3.0.0" } diff --git a/source/images/projects/a-faire-from-afar.jpg b/source/images/projects/a-faire-from-afar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..22b8d33b5205b4675a9fd71aa9309f98b92b9958 GIT binary patch literal 16764 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 literal 0 HcmV?d00001 diff --git a/source/images/projects/dragon-dice.jpg b/source/images/projects/dragon-dice.jpg new file mode 100644 index 0000000000000000000000000000000000000000..26accf344d13b523a42be00c11a67843f785253d GIT binary patch literal 78606 zcma&Nb9m%U@Gm;CZQHhOTN7hr+qP}np4hf0TxB=LX5&qElfAR=`JHqBxzD|~lBY76 z>F%knZ`G%(x~u>0{{0HTRF+qg2S7mq0E&U0(hmijxlz)Wwe+UZFAJP#X@{5Lqfb@Uf|Ns5s?*sq~5y~DO00Tu0fX0G? z!Giib1t14NB!hv15a53Z4ju*;0F3~Jh=lxiAAtD3J~$y+v`Lt;t*xc`keEH{72=SJ z&uHV<;t*M1i$oYC})2o6zEWStktVGCf-$8;c2Pdq1uG?07e=r=l@^b?h z75Vk`+eDya{e*^?O6?Gr$#(i-w;%V$_M|5j^Esmu3biatWko|udP3LLwd!p1hN1lF z`Pa);*V%qhrEO{vhueM?bT|rd5hkk3V>!01iHSM7$!3#9hU;6kQZA=O$!`hnMb}%N zLne zse~+2=p&1w_ii)U@#|pG!sGr&8L z2AoD$Hzz^A5DUSLIaP2>|J$~pMJyv_Bw^L28cl<22=RbiT~F&?E1Z-doRMOl=uB|* z`ZR{{pTB^wTV6c>uOzzkkN7^mC&h%AI_v6Wi%v|r{snYLu(ctl9#+jFE+4_fpw>`y z?Ttu3Hdv4|nzA|PSh>5~^8}h5@IEnQ1&D13Qnr~fK5j5R+>31t0}f#}lhi&?+LV^- zVB_1XYW}7X!D3=rSNfB0@ZWd+f3lUj2g$MT52bt1Gb;pxQF+@0a2IkJHPz>A7chnf z<`pfO^ytJau3RcjQjE@WG4p%v$9tizOZTR{8-kUwAjjLFA9CcS^P@R2tEOqYjhc4Whi|Oy z<56nO;k55ZB_3)81pBV?3wPy$dJl*vQMJx%Gi2}_eXO2LzeUYE@9x*f=uUHCx(V^a z*Q!|OYHv-<24Av>pqHDSk*3fCZ)F18M8h$VSB zuwldO$|5!$1-=xV_7@bK1fAF_t8aaKic%3j@twUq(I@~J+FuM@cYElyHRsOfuCwGr<%*8^zRA^4tc(~H4TSir$z*As*5;cE{Wf6h>r<%}Es@o19@di6 zF;YU`P0-#ErHWi_DPWkbxXT@Mp(rSP>FqB(*+1a>D53T)Ch#irkamxn;>XkD9i{4A zdrUagM_$+C^10tOq&t=H3FH~ly|YIfo4yX}DV=#CFQ6-$YJE{pkyzg?PhuzyxfA{# zg;WPR2-S~Wry&@^td39aRoFl%ECwb8GI_|k`{gB*^7tl3YK#pXFnB&K8k3m?7^PfG zJ_{wvpBiK|I1)!RR+fGnwf}ag0-K zjX{qp4JGZlVhuX^pC_5a^Bf%cwE?wHmv%`zb5mOdoMsD)h?1PS9E9xEa~BFZyaNLX zCO$sXI}G>xUB`Mp(SNc#eed~oHP+q3-|jf)IIO(iOw9h+d8-lmRip3NL#{nQAi?rJ(#`uyfJrLO!!iK{gl9Bys zp&S=SPxjn>5rqb60za6vuROOFgaGWT#$S?%1;s6HsUyXD5`@cX|6ad8g| zNB?j&ZK zIA}>zZu@0gO%9}Qin=kY9c66wcwwvJ##zKP!A&SqWd4I(H~RZ)QA7)EWjw zD=E{nuU5?S#5_#G7zR%sW?Htleq$LW|ua~C!D2o-Z{TLe*-|-)p%4Qcox={ToK!U0m4G^MmC?% zajq0jPVtP(u~%0D6>!c>rM$I&s_;cUPM)1R>$#zs>|gWs`wS6ncHf%m$qxm-6b0~Q z>OXhzes)m}UJn_bE_s=y-r*T~8>{W6F3bGPYLXTu6-fjX^C?bv;yD(mgmVTgya%y; zS4Cw=xRz!9DJ7$TPAVMZ*2A}Nbe(VOAixMB4_VP7_*!WCqsv>oXq}i{6A?K&dNB*c z51Qdl-Ziof-PcZxl)^(<&n34E+PorX)5B6m6-Eq`JD=;I~c_Pa*So(|Dw zNOO7@imjO=u?izExwEq!XV>vt=UP2&x8fy>F%J|X0T?G|Jgp^jufzIMkYzi{v)RS2 zj ztK#aZ*5@-P;~>kj$^7hpV^U~5D#n_?*x;>Ud3iGLiILA##GsHz?tA^N*&KB*+jBA? z_maX>gvY?W(tmtFJWa;Bx>Z)IzXOBXbado8uZZ2)IY-57)uX%D`P>-}x0c=8r#ZhZ zuMeYt&cQ&(4A<1p)7)J13U-t^n~_Q>e_XK8&B}pFp^zW0Ww1Nt>7xr~r7ZwrWcPOa z%qF6 z(wL4=W?gUHf~hFy*{})^7%UE{_LN(hSG2QtnB9zldu71)9wcl=AH_}$3sNLgQwM*- zfdbaegR%u0dA;<6sMw@zYUwZCZae~yodn1+_DJ9^aM@8wS3!FhaNzWCG- zXkyh*SB!(||u{n>mZy51coBj1>HHzmC$M9<%h?^`y=WZjwUv7+2Ng z1B0f2LQP{(NEZXoQHc$iLvqrWhaIu zP`^$#D{YzFhRRF4{w=-G^zC`sx=qpD-C{ff8W#HQ+ng4-^4^J#khq8#{2YOWos%`4QHYiWo0?zYi!J^0=d4X(nuITNg+8{FhLw!D~uLVO1l6R1C|ln7ch zuyomW$dU5SAfU3`%cLIF-lI@+!Je7R-5-X^ZNB^-L|7@#bgLAWK=bWdqCWuMFeqJ5hGyJcE-iGx7NB zveR-`dZmX}mq>v-A0`WZ@8jkMY&%W&Hxi~Dden*mNMsC4d(1Q zR&HVE!y@H;1%>SuG^4~UFCH=DhkNbY6L{NEnwUL}IJO83_}2I#xt}gOwb2JgXrxtD z>y~h66-$O1Srt9P@`vo`1oAhb*ElL8?!_Cq$oKhfTIO696Cc?8?W{OuazI|<4WfJ2 z>NFetSaQo5m<*W6TNhzv2p6E2;|#$|Qt^&U6XF+vtiJ&9a|njKh5zOU0lO~@Vp;zQ zz7G;Dl~ME`kAh1?gmTeSGV&KAtYe+n`24&+;3nltS6(hDv-T%*hl9e^*UL%Z?1LQL zdQ@}_L4Pko96dLVl5+!7L%4>5IzornEGn`1RB&;-R*ibyaWBri+6lMih{gJ*kj$1S z&h|6;mpaq$4rCuXh-%#e!sH8xE^>RAZjFeEZ;Uf6HDcHK)?BK*PF9;Ygc>EC#PBg( z)Rj}z3g+C0xgol43v-x1!n*+1X%BIo94tFd7aV`#+aQjL=3uU^u4!mZjE@o-+`N%I z!$5s*gaMi&^Y@;79{k9^w7oxPJdWJRQdPB$oc>XC_uG<2mfP{%N8&;ehF%qpdMj<692HCi~so$kIamB zbbUbTtI9_YU1LX?c$Hl6dy&PI8Jk@X^WAg)DHHj9=TEYKVmE!U{oF79E(Zt9Vcw2q z3)wenHUfzycqvO85cC&ep!1Jko0#FU_74w;BM_Sd&e4J5z%$J^eI|;W39vu zr^C>NEwQ5=^KP_v$^55urLgp{$_aADi1b^@pY)8)6A4y9R|sDBOnhob##i!FZ&(Vj zhG_#j$9-=w-5DSVWLbP=z_7anZbxe5<4itgc5ZxcY>vnYN~5b=7msm&xo@w##S!~x zfSIvEtP^nF%Jmp9dzV!TDXjIp|BN|ajb%g zuj1P7IiXlq=YS|%R94yX$L#xp+L=<~8!|qqEYzu_cKD{LzgN0G^6Xa4S$_yGz_?i` z5;WmxFhJEnR&~CqI^>Q0h1cUkF-7z?Tcb1M%Zgj=KipHf(579$qg9Pr#J1toYf#St zwx6He8+O=++(8f=g#?K{&ySzQdnZQ+Y#_VVRy*8ULySkWw2>}1{Yp?!w9k>IucC!= zh%$gdWUg3`jLKb;%b?&}^q9AqnKkwr0BVUkL^p!SY#(waj`LM{R9hOR@gDX^cI5BH z0Q*|;t*HtEtIpt)Zr=*yldX|w>#iRZ32rM;%=a_=H|4uJ*l^Jw4eE$DiMX*&wS?_x zHmOhwUZEaZiVP65nN2FF@voGQd>S_E)LZOnmTPj2st@=Qg_PR6D0-Cw)a11MIWKT8 z#$VA??JKMmHc0U-#SDE;cIZ`T@U(RdoIcYz65}ewLu0Brs0%(IJblB(!|eY?y+xO= zk@cd70YQ*S)KHDG8wos^6`hkl35^J$I|43x7ib?VXVHZompmp8 zD`z`^o8SurM(!3_d)RR~ZI7t%w!k}6D8!7C1LkdOTmMiI3SWCoD^Eat#a3#uabfK1 zi2L*n3xctZArf3v%4(XL!E94iMJ)$-K>6w;n>n38K{A#~t($Ag@Y||AxMOr++E4Lh z`A=DxXltwD1HWz6$%aOap=%Is;ZDC_pmcSj(ohi}KE*%Zs~lC?z~x7}$)c8w;QpYT zHR=o57aUgBW77Et+D}T(rj*LhRpV?eFzB3y7AWP@@854mb0E)ss5)k;zfrQGZS`2{ z+jLs$Zx|jV3OHukT6T=jFHf~qPZv=}24)1PSvI15^bps(dzP*q;u~8iEx}HwU?Pai zWpJGhuye`{x<==G_mE4=eH0(_wGVYV9tgOJ8)Fe3d=c74}UWWlp zLo3adzs(w8Z*QMMuD#hE6KEA9`2ErfiwV2D^26n|cY)`0Vh*Ef%%I36TA;4| zTAg|`u~RkfOad;W#n>1g7@vDs;!M6AEupSVSf#k61IkZ`#``|^Q+NU-*{Wumh2u@tcWV&IR zTJcgqqPg7A{X;;&beHW9`nm}p=*5G(!n!;rg5Is_w5+C#*9V;H~E8oMWIUX^y48R z8iyzGXCSq-=`|i#*g`Q9#NYC7R889c0(7`KAPH;e|B( ziP>VQh!HF39OiM0b10NYCCf3U;zF+%1L8J9q)GH04=Qf;|AqZeuNI)U?~(Om%$L$v zT>Ra5Pbq{~d7L)mR>#WNwDMQ)I_TZi+1cgYL$HJy-3ai;#z?>OXd#<+w7UH&2ivHv zaVtUt%DWaUNdS0D`CdEU00S*e-6)+zWN(Y&0^?_7PM)GJjCsZarlDCZFwy&Fg8+q~ z!Ex(U%1rmu<$YkJc@vv58q9#5D&4HXD*`buJ0a7VR5%kO0$-5pVI+YN_d!({53JKg zWRM|?dfv?Y5k%KG)`{dzdssYgBDYFggo^^IaDck6uVfwjPNFgfQ3 zQd*n68TpeZX{i z0RE*7{D=PXoMk;P8Fg=XPAx0@mzf>4vJxG~SHKc2sx-#;8&3$@1&8QPIwtOWDq97P zrRzz&G?*uCeQ)0jEF*xJe-L`u*>5YdHf6D6?}rAUP9P4 zd(zlWX#aOR%(cY^_a}I!>CIN*1e(79+dm76bw){1_-DaPCN5cc$O(N@W$q?^b#*G0 z9QQ8+VsPpm8zu@XvlvaIltKSuQkd6NFekE7gF_<=jdSOaXfMG}_m9kTQ#J|MwuHnc zrlf?fn?RY9;H+#f*_icpmljMG-j4oLpQc6OqgCh5^vp2Z8Kaqa{%>K2IB;dxMJ-=;jPy#Pxbe6sCXOCx;f-k+g z+DfY2w%UW%&{bd&fBpAap!HD7TGp6PW<<^uPYQzeZe<=j`;$BN6T(|{W7S<+|3BAE ztCnwRWNK<*VP;$FTRGYvQwZTq*p8KvLngFzaPxAtroogW4_OKjU_EuTvU&zufWf&_ z+HZ5EK{(62o6A<!SKJZt3F zIJfzrARza$=?uxy58j5L6WfJ(p;$Te=$GcqmU@>uI=i~LINN#n`vrLkGSl&5WRFtA zRy4sg2Cclv6P;_0oG-7HrU~KeC^{OVPprEgVnuoJn8SAd^$CEgRUvbxQ{^1Db`Wnn z_PDZ=BX5$3w?U6FHCRG8z!zdRqdOl{r20J?xOBYVdu~=UIYJoizGu+4O|SW>?>hL> zF4}58NcetoBoW|fP;o{dH0-h%c)`A`EQl1vwu>6_npz?F0a-aOTh}E4P`YtYhH!=v z_p)}KmKiNIEiE-Apz-DL?9xhoa8541?k3h20F{)?Lr>3{jZ7fxN3DQ>ZIwY?VGz%L z2k+goEyQq?Fb8=lH-zG-kAvR=v6EGo-~_M>BV*xh73}a)aP{BmBq7VE;e}FF0{e#! zo5O-(eIC@_03Q*vSwFe+WCIIa1|!$=6BUep$27T9pz8*HOAwb%E`{ftABC!!IgsMt z+EW)K8x@sO&gNr}XAG-o(ye-L?B$hIRMpirStO(w(NNdW3XM3@THgc9d{-G5xu%S@ z=(@UrR)SJF#Fg2_x@`wZjXM`R*t}9z=3W8~ixddaGk1kGgijsU@*V6% z9Q(|(aXfVbQdzxTHmXl;6=M^Z8&RI~uW(d;HeILm9E4HdFNZpc{^~>Ykl;^cv|gr- z{2Gro4Qv)}pCSF|t#P@+1Bs{~{G5hO?AH&sw<9*@S&arhq5H~H)5}NrFpc;n0|nH;znS z4V(M32jpxMTYhkqt%7&=tZXu=Gw|s*Fb+f|M3!`Xx$rImUB534{qUoSTJW>0(EE&& zg*8}JBU-9AAVwZrL!-WJTsk|jrN?5(0<>QFgkutX@+4qJ(YXPOiH&UXN`P_h zO=9xmrmm4{V05vZB?4Mz6njvs5*rX{Yf`Jj{k$f-B)y~O)xR%{R%k8Y&=n#Y{=daW z{3)DO5P;PbvKdFT_Ic6n==+(k&&Affu0Au@Rb$6#jk{OLhR;n2yUVLtlKPL#$A^>Q z(gTuE_E7cr?r*E)EaV@k5EqqNVLl89i<+@}`WoptF4^f1bJ43V@7TG0{JrjE)Z}GQ zRu;j7)K&Ymm@!DP^*~0RXLR|X4!(HcyXH2gUk;VgcPsq4na1wimpfv|Q#ttRT9$U~ z`Mse+h^x+A-YaLp(S<3k%&ab~qrqV%;nQZI*S%n$ny{{G?EAB6k=ZpV%GLe$rjvYOMGNHkip1z@*{BL$we!d?+#1I_p zox5E)UwNOO2QF_Md6r!kfBfv16{SEi>E2bvz_RM`)KtOL)^Hv09vW!2ow)S<=;UBX z&E5UyV8Y*RN9|D1GK_^MBo4lp;wD<1! zmnA}+@@l!npG!yV#8gZza%W7EcG@IFm_4eh_CuZ|=qeNJGzP)FG^-v$58z(8NCF%e zve0&5Im9I16=Wft>k>5}7sTe%QlZ2vKtaJDOZCR48q|>X zj%u_MltbFvAG<&}>MIN$Z6phj&AYNo>uMNFm`|v8TJ}`ub=ZX`Eo)h>#cyOvySrhu z6V>p)K35P9D=PHRovDOZqaU4WQM1?T#gN`j-}VWVZRVWqWxLc3#ieFy;TR6_NDYpE zy{HbC8|Z3nZK(+qi=-WV`SNz0I0T%c1Ux~pU3(e zI1X&wQm}eHxt+^?SV9?STk{2sl~+zw-s}gHzOnpss`EUwOHHKMs?nKBtQPK<0Yyv8 z)ddBB7W(@T;=U$zp92{e-ozRYzw;q|S~TG({C|p4?S?QGi+e}b8LliI{!AB2*(i#t zBDva}4?h@j6V+4LI<#2~exL?Hnn7ugL3m5lvR#Ehkc%z1QoHI>rcv^$^16ritue4s zm8)ft&2~rZF;>k2(y${O(gmB`k5jGyr9{{eKfie|H(}_L2T;E|K5{2#gSlhh@5Zr9 z8-~3c(z@lJTCk{2wHNndojcl8=xth@XO{AY^RSfVDC22c4uy0=^D2I*(=n71bwfsm z)&C0V0Clo;(hpiLB?{`aiAc7|9j>miN@{W8OO*0o%@YDYiYM-UN5JK7&y@@3k9i>`rmj9g9(xE2RN>v@KX@4u|1f7ac3U$CC!qr9Ptjj7n%q^^~42NWCl{$U2Lw``?2SU&Y?R zTgR1tyY$95re{=ft(-C-R>Vx z?nN&yBj}Ijb}&6HV2ZQ-loyZ5&2#RbeZ&xI&WP@2)QRp4LL(FZ2t*$GuLe!;u$kT{ zoP|I(et4o^5855)&xZ+?D}1_|D%MW|3NP-9_jI&7XK^uG(0UMEm3(cEgv#QNU^h8_eA>2p zcimcfu)v~~3`ai>P+I*YL$7=om$za{eiK&ZtL{pCNZhDzgxY>9j*@r687NMlCinS4 zJa5f+SOPL(plNBP1m9hc_wUlA{e$~dzx)}k6Tw$&1ee4_8epWSJ$&qsuB+X?kIuTs zlR3^;k58)-5_np;@=c2vVynk@oZg*AqhT^Ny>^h#NqexCzE!{U~f^U&qm>ej)`UA8sYmc;kEq$}l+hwn8=GzLK( zGs$&F`f0+Q(i{fF2H573UgM{CKbW}X#WZr@!;ig6tr)#_;$-`3p|^hqGYKw-aJ~;{ z+Jw89wOCZjL`-Kro?#mE^T*c9Y3z;f3DP9Wx~ zI1pj)sDDkoTURr@+iC?jN+&Z=;Z1p;qLPe3#33*cgfw?tAg+dBJ9C3pNzaNpSDGGe zg&ZEfsaLekz9u3pcP!f1|9j*kG;Rw340g0Ni?fY2qBrf4G;`ypE=si-t|UivA()bN zfIU1^R7W;sSOH6v>H|U;SZG%pYvP78b!{6{J)DkyW!`Zv=KU4qaDb{LfzNKZBqHiw zgR`%ViG`h#AU8*;^=0p zhYUm)Y60QJ&}vlJ*$IYIGh32WhDU12Q1r)mgnBC{S}eYg(hFmd@xJ`iCj+285{pSl zgcc@)FuW;TNCX}L$gUwJcUvVR5eSs*Y=^Y*(}XbWc%T%c(EK3%SQaIfG#qzP@$L*D zMu^=l=RSSQH^kpC0ze5xY!Qu!NhxW}$hgCVlXHhTLnU8dSE`eJO8;$lE+$u|=tT70 zo< zo05~DrCicZ)#~cO=L8~DQi>(TIpujTk5H2e7R@q9-1dpd^XSQvaT zNL^>+0VGb_TECgtSAcX(tL>@7E!eEuC>?;sS*(vdKeTH*L$We1K~xe8&}YU?v~;IX zojp$ONSR1o#}pL}71XT9Z#RQYm=ww=?jnjIi^a=1hOb4TOSV?qxN^q4#WG{oRp#Wf z$j8LQRGeEPh{a?iJ~Z;#G*tvbCc%}FZl*!o2~?$_W-2I~4Sjp@JYFq>NXMF+MZ}sL zK>0P+fGX48mss`06?N?rm)GxwZ3jTq?Ycpim#c<308?iPbb6z#;1+44vT z)$S&#!ljtU=6>IN86qfTOBo*!i2d~?X+4mAdev?3N%Y-~qtNu^{x|t5=vu9ygX3NW zalr@;z9F9ZXH1J=6+sY>bIWpn?{yH3r7xa?@3+$d10$bj=Z_$dr#<(UoGM82a~l)c z>O#{%(`elU8rDUPT{PSQoqV%Zl?-oj(xi2ob~DpdVWrM}v252W7UePD`RQLpdHBBC zbrlfco3jv1PC;Q$*d^6!9?77GJ9VXGp4D0LGRCZrXlLjIYlCQrxhe&{d8A(IK_ zRL7YA8ZB)ZEcoVm%l7d6^6(^X_3)Ym#a5yvS;8~aF8((P3pJ6ea3N_Ceh)M z5OXW3He`!ET*~HhR&fHM=|H7_;UM4plE-dx^fLdC?oSsX|3DNFlbl;*I0I3DIb(-y z15vTFVO)~Dg@=Fhzc0_Cmk(og3A-ac@HDNk%8;d*p5as{Imsh2bk0iUq-2hyFCecJ9SsIOEceRBDO5ktoY!5)Xd4KV?`@R#sLwI=b^ZWnfrA zre{DQNzE%VRJ)h440oiRv$I9ne&n<1!;F#c;Kuow(Cic{>9-F)kL~0wn{=&Ykssp2 z*;Iv8O~E!TGbv6yj#vBzh=zy)Bg^e0tV8NSr%z&KRwQ$>S{JWN4W`cZ%KBZ~)Oi6X z5EBeC+kx1c+0OsG`W^bE_c|pajiA{p+WpI{#*zi}RyVXLY$bMq1V_>Gil@T#VRT}+ zv{dD72Sy$V5i7QC6~w-NLry8y{sOpo=YB>Spx`y*p-{SYT>UmPa_%ucI$h0Ue>+i( zpD$Ik;VCXI?woSUVcw?#elzJCatk{~Uc3Q;j(xT!0Lvnba@ROBW~rWOzW8b=AoWxoA5 z#Em0v*nw}g+Hrg{Ie8h_Wtc8$w7Q597Z7xN>rXwTkBeMMn=ozV67UCNiMd1wi=&~( z^zt_I&b&sbSy?Ca@N`6iyZ*Zb<1_N`ELey!7E_aO6YCaB^03j-5uTR2BB&SVuln%n z@cKfLBo>t|aVeOyGIzsNrd;~M$0taHE3(d1?zqj`J3YsmcnQ$l)~TgE-?Y#uHNWEo zc)?{o)C`0jO2o%B;{&=xmL0$G<8(QseXos%EQk%*nU>v!vZgaK_{_i!#>d+Jn(!r_ zI~lo&bbB+Y%!5D4{Mb=uM3b zqO1B||GI{5hhwGZUc?vcw1|};W5&b^m!5M5r8pF?_+laI(&JK!DiX8DS#x%B+HgS} zju{X{I6#3hV;O?Zfy)fnjLUqhyhMVLmu0B-G#nqy3q*y1PMDv}T~uqPpNyFJLd9*! zri1O2ABi8eb<}}l#uDRGp==14!sj>B;3qA{%slqQNnRwf5^lQo7bGGg()?ybfTgc2 zPnMMt-zwKObGQhoBViD*8rbTBmqr_X_lBJ6Bnf{h7gzi>Y5WsGKG+CcM*8C&sOdlmS3f7hXdAmMZ z96dd3zZtwdsi@gVYg+kuc*fkquV&JHgGQZ*)Nu+d!7kur?BSxid*_Tho&i4XjO~up z9}82R@|UU)WLURPqs@mAoLQQJDqM7lK!;`V$lfF$2eViek^S6XC!$OWoz@L1J zY@Y=sXQmO>*aP*;vBo7>`yl%?tJcdK0ZWRCh=^#mohCE*+~)k~lY}>dhA3RN&H>w7 zWLC0mBBY##wB%fx^|~zK-vyU^jf$}63y6?(n+T#}(D2(@XwCyLhlpTwYr4>*OcX7x zBJ~^^bWPRblw>IHyN(@;D=SsD4S(O*jha${%1;G<|pLJm1M?)^0Xf~Um;|q|GxjhvW$D@*J zwZV4YX{*eB2(}3qffJ6~Rg9YMpK?s+=HuKAJV4BqVkJbm^|X=2O~`)QI%8XIN^^7g zGrI)~XvCYLrs>A#th%sriZ}}uxKyuY{Cx%$NE%C-arkpWPDPO(i+O{G0nn2NI+aa}L3bm=+~d_g21RdbAm$?otf~tWr#D+tH-i$!^7k1lmfX0_WXD zBRjH~lCS-ffHgha=AE288hWBKE=tO|x!;U}?n9)twK~WU-$fyeocYesD*he&a1JYG z!4uJTVFKO;n>E4sphYu^Bc(xHjBTCooo(Y!kOZ#r8N7u=R251pES-%UAU=VAo-kXOcog?Oz|CRG&@4nS?VC(fq51gFJg@Q!R^r&&uV=WO) z7;_W8QZkqw(7W})%@-}WcdeQs(>Ndgr;x*&I78~`i7IK71hwK8SGbq;_28VXh>LXS-|35h#>p_qKf zJsVvqP2|Pe%qmZT^?rWYK8KO{Lva`e^XKNJ?cRAqzU&36n!F5Bg8lCG=k#TMEey50 zK*5}h?p@|j@I!_7l=qf**sslVjeD=n_07M4)6vy1Xkm{Mi9g)uFXz8DW;JFN{{m7= z)BggP#5mra{(N~^z4zmjaQ+i4RZ`W848WkCt@On+fOq+?`u`Qfjzn@zFy4rfwAq&yEB!Cr{Ir`ga zMv>Z*6H@VuUj!a|r$c3qBOl{d18^XhhMnQ%a12}sN!lnXX=tc3a~Er36;@E_QU2vw zg7K^dNZB3eYB7c=m^TdUkXn$eM;U3URm$udz~m|g1fth0vEWDVlt|)lL@J*+B}P0-H>@snIy9F z)vJ1EH`_CB5JqJRWVr}8!2nQj-<0+Q`oB7^+90?B*78a5+L2&BYiBMtAok~T`TenRfMEu~iC5=xbF5ST|`t7k_Rjby3 zMrSJx1lE1vwV3IY9bQL9lX^J>x~}o6+Fj}W2o32J z9QRS#Tl|BV%2Z7BB!n&uIEAM|%M2*G)5_lnzCI4S=`*Jo zLc)9-`rvhYcJ_;w)-}Vp$)VzrT4Z!|bY$VbfGY_+cn45m0SW=XAM2Db%faSlk^R7) z$m7-r5-^^M-lhm%ujjGO+T}n{Gjx27G_+$H!T66cy**JfmV|EZcXTxiLl* z3wL9|F8o?z0hg<0y2u53yu>T037vPrgJm87?F=&z5X1zoO>C5m#Zf!8a#o>ziC|3k znTI5ynGS-xlOAHJPCy&T5rs091=G)8)O|a|x5nGdS29xhs!1r_O^!W-*3K?4ZFdilI`!F=jg1L_x`DK}ag5dM1u%y^YBD#B3pNf{wzmx!p7Tyu842!#5vIb`qqB zcwG!~F@qc+!9ok02X#x6OJB!yjCPyj75kURN8h$6Ct8xi&BEcCpl+aXq8_8uK=z%}xMp1U!!Q+Fd_?$Ld zMFcDJgJenM3e04AW_e{}_S}pDBCNv*R(;6M0uBlxIws^g_b66P zV|#B>d$P$ON+*8g##Q4)X|GIh^@dPE0!D`QnFR4K!k*9jD!FyzUc$+H2|y0-?KX3H z4%|mmM~ucZx@1~F&cIaDcr$b?5MLfGwJEc^@G^aFJgIfKa|p~F<aSsHUfN(%$(qL;c2})8iAqefh#CRSLY%9Li~kKNhlq?$eGKDYLK0yfvWS7toqJ`jR&yuuyD7NR+}6y*w8?5Mrb9- z%#~j0{vm`ynJGqY8;D;)KAk*k4V!~EQ@;Ly9I;WjRx?qJj&8&j7ZcuvZ@cI$_C$Oy zG=>Q<43D21U<(@gV}|0?*^Bfi>xm*oGbgE_`9p5;u33{(wN+H3j(X;Rhp~%oCsoE) zK!f+nC-6A#6t7CCk!z0?k~1PvYHv!aUYFrs`>m*>MP-)}m9eq0^R)wcR^6-eGFy_p z$^OjvzCQEQ%*vS6k_xAt(48npPpCMByAcYFg&71FAqd>B+o;Eqo{_)ur~EK|*O{Ma zap({RdtteDpRGI)5{ht`o5cY6&gsi(B2zA~3K&+4FYSzlZ={*fv|5>B=1O^p zqB%i3dXjbLWc*-9L{3zqBl@i1TN{_(T|Rk59zBMi50SOg@hW@6!{+NAHz#( zPjXDBOX#lOik`B`x{FL}@SXYU(UO6B_Rwjh-w{TQR@Po^#RVH`Tk0xW6H(t)1{7bV zf27iwg}2o9?Dd@dUqrnHSR2h3FASwXi?>*DTHM{OxVyVM!L<}A?(Xgc2@XLD6nBT< z?(Q!A()WMw{brv$$z*1-JJ~Zwe&?Lo`u-)`!})51Q$TdC8p4)kt@N&)-m&99+U_>m zjGOXYK>lh*ANj2nS$ydrU0X@Zib1Mjhq~gz(-qJ*548gx+ zUy!53G=K9dQ5%n+;WbyQNcbp+D0&$@W+$pL>5(1leZn)w2?bx)%!A<(={Y%Ks2+nO zX!~?*hxgl%y0rNyuh~Kv%72`qj+Y4Kz1SASE&Naiblej8wq~~_Ii+jS_gC?Ta6o)^ zY`(MU+b8OUyODvyth6w{ZmnFosh8M>>;$|68vbyvx2ZS;8?A1+;nlqhHvCzSG>lf# z&?<3P%SnHN%ppld-g-V0%;4(rWVyZd@N3*a%IY^U&bvQa$nP#4oABVXizu86lxa2T z;M6-5OG~`&!3DE~1}zwe;iNKSd^+ zYxJM2@qwC;8NB$0QFRf#9Vu$dR3(V-oUq(CVYh}e_?dER9oNH?*@QEQ+@@1 zVMNCE)SGqx!koq`{e>yc-hqy5=6g62Ir_HRzs4K*ig@og>F51Sav)jW3E={6TNC&l zp)EfV z`$a(`YYq&v_n`70Ibhg+VK}UvMfE@J=R}ZYw~)qQA!Yuemo~g7^Z|wAiLz2>@9DL_ zFupOD^9<*=%Zlo?1n(Bc$MogSiohKVM_@AR)KXu9^W*uJlIqs^XDq9Qd=BgB<(b3P zZ$MN(z4_lq)=Ph3G@o*(-;#;eKvNRdPmB=SBwL|u=#~`woB`Vpxjk=8m)W4U2Jf&= zl$W2w>od&r8wR3rqdCoRW z;oqm2{YdDd%I+VVsz!=eyT@OiY}i_GRovcB%=V(&uL?BaFk}@)4V##FEVqa3u^F~b z-7+U(7WC)r1wJT1eCjVRiLszAs2dDe*xowD5j0%5u8oTtD2XrNMjAcuiAUlg7=i*`avW4=SW^GnS6D9pU z?{Ml#YmT^0E! zW&=)eGK2_Qk`R_CsSmfzn`kxlI0aeQ zan_d1*na7@1LFnr=RsGl6*nOo&K12)woV_N8pHAF@rjZ-P1*5qm?Dx_Al57on(X^n zdh^Ogw1Aj(RW|-0{{okqh(FjLGG=t0g@hkw;=)FdWoMR7Me_>Rk4mf#mg>B#Di`h( zF;g&{jI>mwFIXfRUu8Is=dWm-8Rov3UF}Edz?lJ_5SKI_NOGlz{~QmE(VR1 zI*W}?cXnDjdNKoVU3=#K0DXy0t_5$s7v9AxK=>?y!i4-1GivbH5j-LB+f_H*@>3r5 z1jnVPr${^-28E+6e{m!TqYgJdr%eZTuP_Ul%f-Y%e_FiO_as&w$N~VY2j~Igs6Cxl z^FEbRZsi2dKyYs_WTnjl{!;HQ=k>O`^`t@JlWQ%ZYe@t8GdQbGOtyYL8< zP=XEaUZCmLwG~Xf9f$B~yaFO{Xcj7WYF*%H*;_c@jV=K~ITA!^lM>`D>hQw+`~D!! zW*n4fM3x6)vA}wU}aN)L#&@Uz)38 zscic*na_Pf=kCw!%lRrcQv5OsNMy{EgR-Q#yz$OpM5oQmV)@JOS_+MfJl$K44w%l@?=f7(56> z%Sm`tS)|b|fm%{)!o+#9RT9o#NhHH@&zvCB4RU`61OWeWS;r7Bv>rgm@~PlRCC^DM z6C%ajszG;UUs;1gN*6GhF0QNVPhWR1X>h(ZMii?z1LwAV)3ROT32ScEOo+T`+8*A} zKa{~U4O+gk7%}V6V}_s7vGam5G#c+3A#M9+f= zn6b6u8^~rZQOkB%t23VLKnRlnn@=-F%xlK2T4Tws z8RZ({x{ABJ%xBrKvfQR{o^)#GJi4E#r!;iVn2EelUk+b4_{!l zXryI6Cl$+nNifwnzRPvGCjvB~)@d&{Y$j?!c%oR-)6595u;l(LSQv3>HCpsI!p6u- zM=8`=^I8xgtyNpMvyvTlWWJDp-g(0i+iVLBfQw|fu$~S4_o~Jq;qB5L!~XXsEgAnMMSFBa|eGO1wdVBzYM!{=-YL2AN;I)3DuAKB>*lt`#jNPtY)p+ zH@_9AVDjSzjp9uDNb{Ba{TZxfFd_~_lHgX-26*o1b$r0OfJE06Irl79Td14~F=va1 z8V)$ZV!i(>UBX?F@C8$rJl(oMS`4L<&vc&*gW`ryMb$*U z1OVOe^dlY8V|`*enDSmUb8^Z&w4y&MPt7k_|7dOZmQQWp`?3|4^-Ww>_bYL>@7jfl z-O5qBrn>mZGF+gJVFk`YC;Eu1dplqKAwxgdyy{I--nGS|yTjv8!@i~c^i(}*N2YyT z*^wrWK}@ct61t)TWpRf0dr7FwA!=CLYhIG12#p#r?lsxu{*AZ$9vb%oR6&A&2PrE4 zP!%y$)ev^i*?3lSjP4VvW1is4N^WL}k}<#oGDRtIsae%;)YARFQ2<4R|0_m$L45&J zcC5$^zzQPD<4RkGV@Bw!QkgfWnT9l8$zNpGPPh9{Jx|$OrFui8v9mqv_UUcD58_tM zVbuw53|K|?NB~!d%cpZ;wy~~`Ex-K-1#(IGoGWUnn<#ZZTjxDMuxWh!ip9={v!wVh zj7^uIP-Ej!z|pd<>BS%Ah)3*`P=AqX;s2lTJz`S_c5%Ti)q}8;UsyAJ8R6uJJ zN1N2M<#xXAE}K2;2N^Vin4Xxfh&XOb7K&jftu&>g&ke=Y;$|B1ZYA%`qg_^^#?C&+ zzKLNp=DW}Rm|A<#uokRw_bpsZ`}QCX3kuBtQ}EU(DUnd1)crB)&x1^bwf6kVy#BmS z-jTV^=SCnF-6uSp=&;7vZ$>%~3UBup>4|ot+jf8RQdK165Ua`APPvINF7w+QgLgV$D6K7ydP*Yy(9t z))Q9rGE=6hU90F+=T~8MRY%re7>+l~7x1IQRqn3eFf>sTnxUmn_Iu{whwp&=Ul@u; zSSktXC&AK+~kDv4_X!JFXprYuIMsHJCSXlIH+JaEW zg_4O4`7i}*cy;ns4Fu`9s*zsAxcREafipe+(+ErRpiv!B?8y6TCn&Oyf+FSz4a_sZ zfPsaBM&uyAhwib6fCvlC{(vTgy#ECM`70)iFaieYH)UfdEN0etvhN})s=xB5rm@-7 zpwY;I35n2@qfJC|N>L><*MOvguI?=gG1J1C?GNlm$vqdBIO0JK|0kXgP6$@$$?O_S zS#s(5iSP0D`iECR1ogA12lF1u(;7tMuH-Fw?&S>X0J68GbG5IYs;dLb938zP(|Nt^ zuD(=3eu$xCqjz&b@*gCgW`#biYbm{u`4|gdMBfG@c7rbi0yps6TP|Nr-2jPf2Nesn`mcMR?9Q2FmCE2#xPb=2hDpWXrmo_&l(&zFypNPe#C zgsyWz3hu{lfuXGqAQ6FO9~%;1=!M5_6F}RcW2t?i!~RXEJ9Lxa_}_$VpkIST|4r)u z&J}tlXz%|n>%Z&Hd(imr?Eg*n#pwTyR<@mY07;$?fY{d2bu2rG8zz1VSeLH8pE(P# z-oo@2aj=p2FDh&($vzH^5`sMY#t~ zuN$<9OhYBnOa%b{y7SrIzq|2@wrg%~Zg2nQU2$Vq2|DF-LEl04dSOab>rgg$ZeQ08 z@5r3+@c6MyOnc9oqDUGDO{hOzdwr{*%}BKbCSNsQdPl~N{DmnvK3L62DUf>G?H{&i z7L7z1d(epdv?XXxIMt+;ML2*Q!1ZZAG`&-1czAe~;O2D9ffqyck-(5oF<`TPOI@-I z*`Ao*%KljQzAh#;A`n{RS*dmhGJ*i5w&MvU)AFbhlSrtPsRN3g|Km+ zJL7q>?89~0OmLU-e1^|NYtetSB|k7QRz)^fH+?v)x-qqI-myHBVEH+(VDcDI3m79_rA(M_f`Av|T0sEuhPlW@@7byRBulT9F?v>P_PG}(>afAJYy8-@xH-{|-vq19IO$TQPmoBQC*-ppWQd%> z<<`lm{eA^xSI;^^chVf}@$HNHPK#mtRkg(fL@PLXvB0H~|HOsMrb$!NNo46722|cA zQ*Yl)Mpcka02^y!=Ep zp?46zJ{IZRyaniX|GvrX`jGXkX?BO?Z84JH);LKI_pbk&Js;DY^`X-WZAxDYO;JD- zEM3M!jBT8v1L{b;C+=Bbw36wA8-LPY7&Tg>q6Bx|0wkp&1DGp|Ru&o$bZ z0#<^LNO3n!e*dP6T)pZHYk-V#{t&(EwW7S>RLLm=gNwlQ>u_z3@TBJUrD{jZo-(Bk zSnRv)po4lH=c+EzJXh;$PaWZ;N`tQ7+(&k3W;F2dl1E$WI6&IvdyRwnZ;uKBS0T^b z4w6w`(b4tX77sdTab@b$*Vi}9hc4LUxw$7C4QSarzq|VjV{1LxNo_L$1)((7{LCC8 zPW2-j9lr-Lm?uBSt+b8+E03#<4Mto23x#w8?DUm>$s5gSEmklKyV+M?lDXyU+hWc4 zXA@N6XtTChTFg2b?4tJJ1Us3*%o#e5$`x60=*mPDHd>pf@PoeFobKxM7HZBqz}KW& z1h<@gat9*A?%M~n)}_!dQ?;arXquDjmwIxpVVm-l# zQ#jGKQX;T=!RgQ=0J==x`|Xk6mJVLsC+u^tB$iRQg^JvuJ#W7BEH&+cdG=d7xet~L z-F%~ylao84(sX&wFz^-O`gVD%?J;6_hxk(~pFjc2VAYNcn*EM8Jj9w&iPOf8c^8?j zrL`i0ky8wHc&x6blk*}xjxkSoRg*qp&*rlP-U3JT}7s;PE`jtIx#hMrxyCwPc* zI~iajEnL`8@}#&DxXWNPML1$|f!_Lk4%535+H8FXGt#IFSQTV3$#edwpPsJwxVYiVuWK*rHp zHTetEa!!pmwDf3Pd6h<1UYwJ>SeSzsj_TseEYjQQy!65widhx|+*0e$uZk|tFAhSi z*WU#bH>w)S2XkTVa^eP?emNml4mDPPpI%~&7m{}%bz<9Yi@U2J5V?stH)E`HSA zEoKB~KZK_y%Ee9wH39ny#COPqXg9>Gh0T#b7JEgbv_1zq=HGZLdFWVbw_wv9Z=ysx z`KJN*v$<%^tLIOz6LdCtMb$lpDbf`6MNwf(^N~9J6SlvQ|H2$!&~|8UX|1Bc{+b$H zKs9%&*Qcv=j!cOm^V+KYp}0zdxPy6on0;&URe;D<^XF%gjV%)6>SnS#dgS=YQ<@gt zU{iHa`IWSl)vDK)i)cMh_g+_Vi=vnIdchV}vO{BovQj^rgRV52qdeM_^@JaXJwVAy zJEE@NOFC>I*ofUlQ+?>557~tPb>{+=PHsC4+urhqojOa3uCDnTe;Mdk| z$0JIIaZc`Yt7>T0hGbNIghn{(J6B$)F9r5J6wH{^#qnvg)mz9p7Y=K)%k%tYs@E3D_H}Ejd6bte&(e7 z-dTwHV_~YFFtKfpOYfyWc&4UiWT@#V-NGg+vvg1)&o%qF=~DDFTax39(-8)ZEFh3L z@!opJkGyVz!PQN9vo<|)^wg}LT}PTwwmQAt#PeJ$l-$o{Vg;P&d14ZYNto}tCYxS- z64tVmRkC&pzSQy+2zWcfB7kABm)}%(<;iTnadQO#jbH3~T33%v<+@0IJM8I|@9v-Z zJSXHRPPUfQ3emf%rP^x4{2Z;%PK)L(b-SmvnRrpZ0^KO0n`wD(J6Sg`iOV7z@QXGG z9OLcIzY!AoUzxxfhN(Cw&<>S}X3U?s8yQx9-@YR5Jrn&4vjrEoKw-cjNE7Bos4_di zR*&>;Px=Jqm>VHd50!mBVjxrFM5Zuq_IFy(cCYQXFF}lGzNC+OdIKGhT1V5|%Vcv3 zJOAbKyn>i9{2=nJx=6ar$9At!f#Bhez_d(+$i!xND$<(E=d=x`1qHGg1!Z*!0EN2l z63NbDNE?!)^X|(2N^+RV7YT~!89Q-C>{<@IU0d=y4|977%=D-8rrjuKKFlvMpD(m7 z>&uH%L5i9mZwk^gv*yt?F3WqEqf`eoQ@<+w7iM!5468BB)s!XGq+9OcsJ|H zX5xtUDD?d?^2QD{4OKfh{*zS)h8ZvO2g~ERe4T~sQZ_&( zBue&kWqD<#6>R>;c`lRW|)3{w;)wTFGQc+gm zuGex{@{kGL>eXq+6uIedwi6Hk%C7ZA}3c$l2t_#Q{>an4HtHn0w+wJ^q7tQ#H zEiQDHIviGB-N4k}t7Tr6Kr2h$QjeXR;tm^~8f)G%)81Z#bB1XK2XR#&s5$NlduWg71hgaB z7h`SU(3{uI9;+_9cw#^OE)hu20C|_hm)ER7-P8Pmqrs^uv4eUflb%W65j`h>Lcsm~Ju)dI!J}aRvnPn-8ds0! zbi&-1a3cwWmSoiyr7$7Js$e&VM3IQR;rh1(%MVWpt)lR=`k%#7urbC0jwNcpT9(6M{6Y}YhCJ@e80q7_FE+RwZqrlL@xHT=UZauIJ?x9sm-*SWu3}**g zli>#q=!Xr!6c&b1A5zoc+tUCy@JwP}soPxDAk)aalReEsMU~u%Q zpEkE$&OfLF~BXAulu3Q*MOK zFoxsqQ*%POqO=xM!8!yZ?^1R45aABqgeti-zP~PZ1pfo;zV9C%(5P-E#ku`1C-u@&ytcHwv?#r!V0r$T zokD`iX&N9yA2PV@3d2gp10&b>$He zGAERF_S~iMU2l?Trs;o}7g|6r8GP@0zZQjf*79?D9np}2LK1kg!3ngfjZwpd{S9qw zjd<1V>dq!(Ku|%2V~&ott}Kmreh#vwX-~$?z%;HkWFX7sJ@$=aqT>`!qd3A1QK533 zTVhr7we{F@p>YzZD1Voe28#j57G5og-9s<)r!3BZjl4aZuCk$$$A~Iju^*^62f&Mc z%bmns@$K~xt{5%uY*gD8?X712Z13!PV5#dp|JdBz1LL_s!TQX6rt+!m^}Sc_rhw&t zOMiH3Eo&ydLKizz-QK>>*e$DqK30?Z%j9^aNLy7kP+Lo@@;SIMQT;0(I0(X}l!1-- z)p5m^gTH=$i&(biNSuPBtY}F`VyN2C?N2j)v?e8UMnt9T`-19(`p-YOUNB`#XWt3_U&O8>m9=4 zX@K%c)n|9^1^78_r5_F7$zVR0nrNFi6kuAn1_tE+F)vFgDep*-b{CE<7`$tVCT~yZ z`-`w$RotsnL@@zEsVPLb`CZShtxVblhtov4JGFC5x!8XgI$>BT&N|5m#A}E*T1kz>1Lma9aYw6@0S|i8h~yx{ z63f=}rca}I2nJ|$iH;hk+;;@>Dl4jA@(awOGBQ3|qw2G5CurgboZs=tnKt&Y&?RE{ zsCd(`AU#}0DUQ%t9TSdaHB5``3Bu9o8M^b#M=!b#&JDdNl;?i#3n4wK26Bhs3XXHv z0V?#_e#I^dHh#%!K)thiXkiF5!s6zS>D!43MK3DCTBO+u8+re0Jkf^m5Fx#ip<@Jj z7mYw#RL+*JoU|;(fvGnWqa33hgi<BTTcF~$jI+uwp5kcNnmHnI z_TQ-T#w7b#jM}6w*hz=_3F7!v*CJe`H zUw*w%RleXJEl-@BJm+OxnuwsdEmapLa>pObpMH#9+dNk0d+2}a4q+>TLWm0I+fd+B zw7nV%4EpE^*bvzMLrfbWP`nWekN%kD@ok;ZQp!eNK2~ayCtlYHI`j6iuDp|I0bj~T z*%gsN%BW^#y8N1u+LA!&3wpD@e{@K|l>xca?Vv_)hqi!S)rQZ;e$OD>SM%Wszu>`SU=1xcNRlW3_^>fo7)l%u#uFt_PC2k}>%DwH$Cph^g3$tDiaRn-qlpIfHDm z-(jQJ``q+M;l5b#EnI=Gd!(6$DNnHItvh?6O$7X2RbL6ENVij59-C9E$a>~iYlgG< zjd=e~Fq~WbshZLgC*4{w-D;oSQJ_Q^6cE)RbKThiOad+GsLKlD$0B^1<5Q2CKV)q> zZ6Px65#@MZFKTP+mi|K)lYjR;o>iOsBE8^xG(y3(iS>!K>an(^_3nuEE?-dAtJC&W zFAV%8)Jy)0EThK(5krGg{7xRcj(3wn)BWjD!iORPRgUZ`>Jh?>PqOo>+PrVx$=ml0 zX6Sy)kD?K3)JP^qyqha=bRMHTU`S5yE!I zb)R`%Df21ADx<6QEI#l>gO1E)0Kv#Jv<3=E^hrDjbxdTNg=^~UDw7V(03zkFS( z4r085hKY?>k|^=dEo8mPhyHmA2mGv!JmAjhTC2UXqsjE^6u+6L_U(7rEqJm`GBk-D z5x;@(&m_;DAi6bO`fxJT-BeqCw0u|5CBZzyk4aBrsL@Op_pqm{q1;0GNBp*#QfHU+I$|BieX6OuRa zy(2lrc;$%9p6d5Q$DPqClBBN;53QLM6B@52f`tCp2Q)Pr<~advEEHcE^nZRal-Eo& zuIao9^Udf}*pqzp?8w-~3|^LYx*vQ?*ri&qyo!IN7-s2+eKYfuHr@7NdRcf&7(jS( zdenML=T6v%9h6_RbgDDkw`ypO_~WfR#In zILV(V4jLl5B@o%GEq!XKzNC^RD^Bj4aB6Xh9-@_TG<6YO@>au)s=_032p6YcybwM#!)H!a@ZZAe6)c8qj zI@^BwXN69`X|(_zyw&`bKz0RSCVa$sBpn$(y-RS|E)b-(*u}0P$&KTBx$o25{CV1! zkH%3!c1lzN<|&UvKpH&HKvrm~xYWS9;htIfNAB3opPGA>OkT}!w3(3@77FN9>C z>|v(oO!DDeSwj<6g)Puom8K%Y*t{?t8tVp~99_MTSR{7AEps zgYgLSfah`YK3XI*wLV&U1|wf8hJ2(*;+U|F{IT?u5j;a4mJZ9f>GmNwutr;wq<}Fh z=BU(x>c^2=!^gs~IZ=htGqB^Se0;%o2Db$a*A8JOot&C5^VnbLlO(Oyv)HEglVN};^pSf7u-zusMG$k!SV>Zv7-Q`AJ(*;HF^#rEse#V&9^t-1F-(5JWqejn1 zaZ=gfU;B6`|BOM$D~{k>%yY7TeGQ)(locR45M#Xyrex4!=H>FnbOXk@qkWJ>wzlfa z{L&Q0QOG@dMxiwIZm|R=*X4J4M!>$V#K>fQwq0*ztv_*B+L@`3ZxnGJZTtu#T zZD)nC7vF9-yI)(n95-$^i zXb3;|P!-N2X%fNh4EDoX@}zJL3Nx{vR+w49na<%UJN-D+#_Xc^;p|dHp5OmK7VJ^B z>#G5;E9E>326AD9A9L_WUMk>nt%X^8kNG2M7oXbrdS?b5zJ}a=9q=Le!? zV|Pj#4ZBfxNM66j+xzR1Ry0Rb$mzE1NV~zxR%hGsBV_e(GiZo9x-j-HOnG)*U9Ppt zu>-oTE!0!@#Tkj$Q-eF2S8iP2T-h+DfsQh}KymWvePM%l0_waI4xdvgI(qmz)wpGe)JqU#?l3_cA?J;JJ8 zZK1mg=|p;%KXWLvNi?8`TVZ@>J!1IC2XSuA0s)0hX_*T0)Jr5Ktavh&r+wAn6fBNv10oExR?WyB>cQYD^K>iH~J$j9%R#C zj+W<_F{pXByV3^Lp_1e7+F$09ljD(AR$u0?|H5=Ho&R|&`=>ljzV3$kNkTafVAsm) z$k)|+jkM6q>b;FnPm8pAn3PBS9LZ-6M*DT$=j0$2*6aQ;J`H?QS2bmrXRFKNB!>v< zeAtjmmT|J0n7XB@0c3XD9DK-Yh0>QO|1q~C;fSI>|TWQD@R~->~Djy9< z2SGPQn;;82o&Rw)ZBt(L4c%R;0bKWU1SJ5qe)Aq=3%lm)9L%PxtFB5Y+-?d-HggFs zHF1MKtBDRmV18Lq{Tj&D&|K3|x}|Pc#9f)K$+OWv)4r2LOKsxQcNG%HO+OE>^KET* zrHNo>*^zhtL;+6!1(Buo^L>X^B?naH{RaXXsR-d~tt=te)kUR8OXwg>Vv zGMepQ&xCaG-6wcfyUe|CSMtqu-3#uw*9vi9BH{XxD@hncRO#?c4R( zDMPm_@cy!(do<_!7@kE6zl)?3I>dOqM|8iDtwY|&f|=pWfXpqno~=5=1yI>QBnelp zldDk`RKTU8_0dCPQEo5k@4ugurtck`*7t3)pXF?KZ+OR>aZq5PVfjt+Eb3fqATF%t z(2kf*pe_92fvR^?Ro{~6#Igmt^wc)hokk?!7D-*|I`-+B%Of7O^dxJa7_27gHOdMu z2JLH&6bp%M^?1Y;HaT>guF%%SnAVae2$s2P9uiGW3Gwj_M#sU{+7uY|F;#RHlcqdN zoB8-&Zs}1<^B_nLP|A(izvC($remJE)uU&C)C|8 zTpD*ky!YwR>$xvj&U5U{Haf0+$?o0y$z%o;Q+c-bx2mDgry!~tnYu+;)~=TG_t#}v zaXd7Wgv;_1=}QSXWP1tdDI`XQj=fQlfe*1T@$kKA=OU>v)Y;xEVY}61FSZ_DSqh{eBZY+{oho zD#W|k4Izg0YoI}Y@%#%T#aMgE|0+5;Hnxq3Uifm^uU~zUKu_#rG&rm`OL!!$Q8>kxfteGo@OY%8N z?OMiT*clz3LSfos>4J+-_=Mn%LmSILK9sO1rhdHXLPh1GdMqK8~t0yL@AY$Q_dXQ^-MZ_zBF9r0MZz zcVJ;rnECjz`yE|fSHAznhYQguy-$W6hi{i}9;Bmi$b>(06z7M3;jDRoN=sefeEC#b zK9)+|)EDy#&6_o;cX)Ec-=jmzmUlQrp-5-e*;eM0a z;M?n)dSm)h%h_+bCsu>L43_>XWCJ(YUuex?o%q^SyP6@?8-~U7Wm;KSvH80jMWW1a zm6Li#eB(b71ITXOmBnjp_}ECsgpn~t?tWZr7B|2JSy>L6 zcPn&s6#Wt3ex!1oP+!lACNE%sOr9x-qu|=e%H`|{-c!6 zZ+maKOb3#Cv6-!{h`DW<&?BqhlQ^-7GIg@s3KSY@Os=e~^uH?;hw4-|V6XU5o|DST zh&lnZH>Vjey%X$x?reQ-75@+1m>Pq%KTxI=-pGXL1QSUu&HzdcSjHtLh%e2wkZ=4h zMJN>Iu%{{=j;os0B$#kTTP{$UZj#i}(yaH(wp_{-z^=#ygyEx})haJ#v!%34kMyqM zrXR<BL}Pi2Br2N)BOOS8GviU54Qep7;Aatd}+rZj~z{!h%(5)jbk{FU(_^iuV+ZR_`r| z`+i34SPK_M((`eumVq}p&TU3g=U$?q9=#NNSt7deC*uoTGtj?Y;`MNC$kFE;qngwC ztu{2l-e9u8Lp$4k*@5J_hOHVACHQ{m-$YCtW}}~kTQdmh17{O(Wd^m6LIR0>k)nkj`XZg{T(t;)TN^r z*6Ffj)-Ao``T1Q!hDcXuqnf45MCSO&32@}K@4E2MP8Ft`|c{RrhMwm}%e@GGGvXZlcC z)`#WQC=O*X|5KWhTg|b&PWK`xFuRERRzO|ax}!lDqD5X20%*5uZI8dcS6u6+q{VIs zsr;vra|&zC+h6&Oky|g;_pc(h^3ojjlq4;2{sfMp6nSX##4Od~5u9W$(Wfgo*!3PK zIjP^qb0$x)iW5|IdGB`QP_Sxi4JoK7T(1`l_b7ZdDn#U241{eSj4p=idi6!lo5p2G`WZa*75B+YrIL3X8 zT`U@^Y~S_+fS*pT^-G?p#-EoSV*(plBU0#DnVG2Sb#VgoO3mKV64e#{NS|WJ4BnM*)SR%^A_S%59g2+1i-bylK=8@ zAFCDI<}6=8ar|GH4j)S9!FxvsBROw)xgK*lL?!#NwL&(+R+i;}tCl*j@&YD4WH&qq zzK@vz$BfDisug@}vgcXg#!lntacR_URJ7C(&J%`wWzV<8TJ7SbS4p3kYFSQuaVMcY zCLx9b24*`^g^wql`6Nw<--#VPp)?3SfO0H>u&UiQ@iy^)+zTqy6-;;Xi{$F;|`VH(qB3E2bs{}>tkng-$@zbh7L9_G3MdAoE%L4~og zHSbyFKc|It0iHmYtRQaU4+E5$NgVQME|K~GhCcPd3F?5yUo$kd3d@Pw#MXs^$G)ch zOWJze+$iJo^7J#C3t5-2)%B6x*S4PmK`4ZD4WGqkPpu7x@-DFOPzMzvW! zOLA5KLd&1pmQ!`CN^AlrwzRv1)x9O`knMVvIXUEQ@4=c$i*I+%0XQMTUu-2|=ra%^ zM`+7y$zIG#nO0(ekMHc{SovH$^7&gbOD&yS#ywCGf8e|)-3GSWwv!U7;=AI%$M}*( z`V;1rin28lxp^)Ld^;;woCjpEt~Z}j#2Z6CFC`joaKItz5@&N^Uyt~SAx%w?Au~pp z&}+BfG)@%iHXF@D|2st+Uw7Wr)dQiqnwHWdtNMPm7-I`|eBX*+hTDf@uRiNly78p& zYKTB)asm2q%{jUFrG>;R+9>%giA+PEISOR4-u+bY4_j$>eY9ZtU=8q)ev-}iM>VZ% zOtX=D<-2Bg;9aJiiruKu9ru@D?K|!s{B<$-ooV7VsuoU-z_vb-hbW`_hp+tJzEm%` z$t1reePd*gbGb4 z5D#U6*H<0w>t6rU89#RlOy4SZLI-5Zsm3 zCLLsyItp4ijA9;$j|YR!BP)TMwzP+6)B5`~^GpQE$OU%sEyc0#dUc)7x5~_OXg`eT zJrkrH5qN9M%9t;SIClaEqU{-x5_ml(lxIV-i^m)~NFBtJYAwG$Zae6@H80$k#Cd9~ zYsl9Ww3*&-dtHcu`Cnb`&MENmTx!g=KB%U1nnUgdi84wf8-x3HW0+cwE^O_XI*v** z!W8xZ)+@Y_`O7wr?H1`zcCI^hoC05&L|_;zZDhL)B`@bX)CL1&fauIZ9q~&_i|A!^_J4Djj$xK{4SNJ{ZX;c z+-89(^H}iQuV_bCJlJ1owMubwuWrO5ds~e}j_rr2n7Mg_cqzO6@L3;wt*pYm)m^-A zpCFn(VSdXBAk$Bca!hGu+&<$>E~Dit@v!yoWJ{A`ck?c47w7`4;zY3h498fMqt~LhHmz28wsu8|iJ@0f>1Dox(zZZ@#&l97qOO9z*y&#vVAW4lHs6O>+2WeY&(gOM9Y!zh4{pdp2OXXvXxN_vd$ zGIfXUa^v;3(*&K>q3zC2WpbUg`g^A?B890FyXvT#{%KQG!BB!rE$-bn0nNxhu@x?q z7+&e9zJ{BUs{GoS;e+d4tKn_-+Gq}|8WrP})P9;(w6)em+~N}Nw3TryQ=6q{T^GGQ zbR`4H;Yv2Zha8^rjo?xDlj`_iLLb&qw~<7-OX zYK>{L%8d&sF@5D*p7pzhEEr!d&wu8}GowEgtBF46Oorgr6*Seg*(?CbvIIa_Ye{Fv zB6w-bOg0u2Lun-#uW}I~yrvX~UuM{{DMxIHqzFXJ8F6hJPTDJ3en^RCOzA6n@46=- z`??Mpxl!;-(2%1o0oWN3eG+$4he|vhS-^~nVv$rzp)<>2^NkfK<-aCMot7kEJmBo- zC{Q)V%VwJSCdtaX`91U51tj+o*NH@Y7{pw3PO`yZ063VuUgG{dLwWB1W9%)X+KRev zVJH-eyL)kWcPLQY-Jt|`EiT2a#e=)MyF0<%-QAtu^m(7}9p8`p;n` zb{Gd+^!lEHeia0NA`{VQo?^s+bnRXxeqR`yIp^;Yy`EH!@3#ewH(Y{VSmJawFZg^B zFlw`tii+~;8cTcrLxOsuF?cHvuMEt#^$Vx){Z@{ayD?nT#<=-Uf7+aIwjF@@57rfx zUm@HRsNW}v^d7=WtsU{lb7D~f9+S#)<`}Y@Re5z?QuVpcAO`m@+5}Ma?W5M7@eJIf)2eBG4g)? z+!2%=u^@Byi=rHAd=QzHfKfrTA;BNDw>^p#S$1^C0`s-ZMaUwl^IX5)}_ ztBxM`=v1nap)EK)EG#+w{(!jKUNK_pu$FF8FFBF0m?lKnDDGmMs1nbFtmUg{aX zuB@D2C1|>mm*9#tD^jDuKZV?;YUZWm?)a48s?~l|O_Z{}?DE-%do%By^nb=Y_TF9A zOx6p-t!e6!mzp!!6o>G?&8tBk__qRG-16N*^9CaLrPk8qP5Rod^+2N@Zq9(cNS4ua zT}{+S-2b*}1e%I6Ur>sJr)ysjACaMU$IR5_WYaR?a@>BQ4>fG2W9f`uYtWhB%u-ci?dCD@o+HJ`FJai^1s;0oWyF*@b#bHuk$iz>=1 zwcs@+;C{kzP-iZph(3wRC+4R7`S~ZBG(Z3q1xcNXK4e5%W9psTjX&TE&!OuQ^4`%< z{KTx0GwXWjLkZzE>HN4Ya7jSzH;Byl7m+GGt(>Azyp6Z8iHj>&y7n{{nZ1%f|J(Am_{l5q~9 zZn}BbOy~K>4^<&U8n>U)RN%xkl{@aIl_h845&dH?Y2pbL@3aKrthE zynUZI`dSFZ7#rwK0Zk!Z~q_L{q=~{ zD!53byx?&c{89az#03iK^KgRZoa^!ht}alP$~CmyI5h;Ovd9xqg+R5AY`ozdD2z<} z{dxhseTvpm*7_*t$d@Ib*iKdw&~t$_Gyrca4C8D4Wc-fmRx}@qAHqbDW8KBp5tzW+ z*G11REMGzX=b-5?q=5)sAgnBO;HL8n`M)v6;}6;9bZWs4v3p8dT36zXvbB7t?yycu zGG{)mp4{p7A)h6o!J|EC3DwBugQYhMtcCDOnFN|l8b{w#)L&X6H65r2X>{aW**qsv z;niXM-tg|8r?RnGU)MOkVbDuUEi!c5zGcuKXK+=GRJampI?!r^(NO2jtA@O# zJHAg9rR=!H_v=wynH;G*DqZkIhk0VnVyoic|Je04Gw_T4_oRQ-wPp`09Rcahc)8iU z&|{eADCur3#9nD7gxo0Td9BQTz;`aJ96vIGuVbA+Ny^_IR3qM*{SpeQF|5@;Az>Tv z9dcTG(~GkX>?i+%@E57$)HQGm;lGBZQ-!=jf>2M1+2X`?iS-fT$h zEK93(JtnmTodBN4KD56OU;BOD{C-CsG3a+jofD%;-Dz+?D84m+MD(YxRsQ*9UlT&_ z8`v*-I4BH-Go=Lvd)%=4U`5nT0V}Q|SU=RG!8BbiqUoVK4VJ$U3fcUFJm61eu2ubs zAqv6$h^Vxv)5nGVKr|FJ=@aE435q=`*Sk#jRS?dtQ4F!)%X^{6;Xfpa2UlxuhwkmZ z(4)d^pLK13>v0K6g_|dHTSR&Q;M>v6;TO1%I;S~u0{$CH?lOxkALWd}tl4t>Alx@Z zKMBqHWX`kCtLK^^ zlmo3sXX*skjP^aV$>AE!HvU79BKn}=E#1msh#Kgyp*7^fLI_GBROyc0$xi(3LUG#s zrpoj35dN*Ns6$&DwY(hM7cVt;DywF?r2N3Ni}%wGeSJd^p#1lfukk-z1-#D7BmV0% zBZERQu!76E&jt!|J7eP08#Wz16zS58sBbxo*kDb?*&MpJp0rkCY;ENGd6tBUT+Bs+ zVQ5X=QMn1DzA%{Wjg%!}O07r>rV3BymgQz-s*-x?=T#1p+>|Db9&78YXS@@oF~RPX z&YX(UAdy&1=GJ(IM}A9_=OExBxhZ!Us$bzC@k#_Y@+Y(T>Lv$o@_@O)xX5d>hTavM2Ki$PPU~2ZTQN0N?#bE$33C(x0RgqKN z@c7i}tbUkj;Jc}IY7#Fr_U&n zWnqn->y5wjYsw4u4vIAqMWvhAbqZ?*SF`0*oR>RI3g3g@J;5!VFRR2e*V}0FmdRV1 zubC*OU7SUZDL#{))~c@=VhoG1qZ9$pNS&SOc5c;^D!Aj7brS56u=S%{Z<0PI`t@ch zJtw;Nc?TV+tIdRd$7ACy;7ogkX{xK2I~0(|=e0^(RFXj~LRJ>!nW^lYu;%9egD9YpuK1_$&*T znVU&f?Ni!=J418zwB~cW0&!1E=?LcQpfp%ON_W2nz;#6LshzUkIOdvOkUT<{1a+FN9(6 zPfoxbl(|)j<#Bsy$#Sioy_E%p%CzLhBSOLt2P}^2Kg&s@F&3-pP;SOAx*G{wt{WWR z^v${KF+p@`rI3l|Bm^;A`M_7kf<}`|w=Gzwg9kl`}r#TKrf6ukBFW(eP24AwoNC6#8~MO7caCt_m9#=#*LYeA zrpB1rcKS4q7v1t&1Yt*P${#*GH7Y!=nXQczpWEUo6NEI@qvoLc9})|LdN`xUznX5y z>M-``MRk4c7|~uWs$eIZaEGQSiSBcod>b(Ql>bJ3+?G*c=T5+xd$^;}U%(>ry~udV zYj-7dO!tVY^vbaYn!4ZWKxcu&kEjh(t2>HJbzu@ z-<%U;uSwDG2|=n4*e{RG_R~W8IK+vJd0ww z;vl^3iYVtc6TvOXykI))asKs%xnv?{$PzJInqUGLYD|qE;s^I)C*N2C?#wjVzm{jME?Wru z(&=^9)SJHAChPvvb<&tc4$0U9R>jZ1Vx__gsHxd!n(GKo5H+1$s;JFY&zhAqhE|v+ z_ti5o!mWw1;d3>G*e9w@89SIz_ME3&5FZW*t|XFw9^9vjHM?A^DHY*zZjNo77joy~ zJF@j*uWRa&Ja?r*(k&XSL#)ENRuW!ANfh0S=Rwfn&Wg{O6GUuJ`R&Iaf2Vz5drlg9 zLj-oCR#x@cPuows(>s89Fz4@8RxPlh2ZaBe2;ny-1ooo!KPT@2VMUWlCq+kwM=?D; za0lbqG5kZGRr!#O>(}K98vE{Q?iS&j?mSoOigiDtLE~*KUyqcvFHiYaxI0X+IKdZ2 zLQ(#8S>m3At)eJDYNv%fyu2_qzTnAu59P{qoj8x@ZBcJ3Pf`X+wN3lV=WM{SUA$p-eEIiS^|{9KthZh0h5 zegZyoyNYYK2=npNFodaX&-bg(?^t9|Vs=H3g`*bk8CV%>8Z~HDs&6uGB*7}(gRq2E zt|RAOi3+DRok*=Ek5aEC^Y>!ruTvcQp{XMyJ=~7iuzTVn?oEoQCEuJvt*$mo{l%6k zd4pPe@;qZwYXPIH2bK)4Ij>l{<}70b5Mz#ZIBR7$=5ah5{P-WWMg1m|kaPBy8yMz2 z2d3#zt7lQLKN-)S66!C|#cnZ!oYMxR*$X17apt&iT4Fmw!JTXUq+%nQ9X6a&ZP$5_ z?gxxGS)(lk;iuBLj5$t+S3(=mscWjpIZ=+%oN-J(%h@0Ry8|>fPZY9d6S6)~G1_+& zvkw)k)bi_rhN`{+(K!@~D(h>$O|-XCLqW*SioTZJH#-%i-qWg-NSlGl@F{2_X>M=( zw{>JN&M)2x3&(gM0cXXQwHQLZXw+K<+ZKL_0N%io!TfQb40b_Y;coYGW(1P< zlAic&k_GoO1Et;(wzN`nHK`^GatnMl%u2U@2yV-zQo5@Hsn0Jvmr!*bVlP{xwGuCV z1FF*;XlZ4}b9foobRH=qCA%)jmUxX7ZCRDAm!Fk27aPIC>C5Dn@fU+hI{RnOnrdi0 z*s9v0<>$u<99JQ(Ss9De`l>&?Yt>tKB*URieHO0B(HajH@jnJIVkWePyTIV9Yuwm5{<-=XC~LxwalXwSA>-#cC3a=!jTE+eq|q~` z^&caye3&ohutZSJxlg&&8(9--zKSv=eicL>K8`1>t%rN!)i3jFg#1{GR@@@j`h~|a zQOhrzj*`mcLEXd5rUT*)F|F}hk1`t!g2y=v9evVLV?j%{VA49Bj~(f;U|+_<>z|hI zR{15t6_}t;tZB|`{8$%b(&;dumLb{B$EN-a!asa1tN1^O zjBW?lBa%|Jje1kBh}?jN$Gk;8p%Civw#9dqQ@*QWXm;MyJS_E}UIDx7D_IFfk=84lL zqOF3E^J5~A@K76G6)~+rA;R6%As9Spm_NZ>%xH6i4w zG;}28xbn4BCvH$Mf7Hb}py7iul(WUyT0dE#vA~4EUk%=4yAm$ zK-01di#eX-G--dFJoGPw4VXohxd8Az*5R8l7@;<*gS~fuD`OAa$YUwOb(^_fjJ4LuOomYz;)+w7a~n#+SNzbOgElE}2L^+Ub@Z={5mm_Opc zJ;h#x6f3dS{h{DRcj3OOv9dBiB-?`?Om_i`SQtv!!LRlIOe-q`^SUCzhyTQQCKD2) z&X)hN*um>tJx}PJ;fGdIszqVHwMlN!%iM`ITj*0cPq5)b7 zb(9Z)@OMMarbBplq6}$41K5Vo?#O#|hQFhcFZLDX>D`pW8DO{34JD{BbK(+55E z?T|Gr{$vemy(GEoeT|GUpjOlgscodAB{sE${v>#xaL4>$?BIi^+gv13%>B*YK#IQ< z=79@5?xUAaOCTcjrvJoG|CV0wE+Gh!ptKyLi82>_P~KtUWPrGLakp)oS8`hc7HohM zihom-{}ZRyOg?HAJ6svhzU>~@~KZ+bWof2AN2^TxJa+z8+^s; z^J*>41XCfr)nUd5Djj#X{HZC^rA%CF69t-<5mr4*N=rDl8--3@10&&GY|-IUhX|}~ zYGPw{K4{wU=%}2_U(r%8n>#P|)#(Yyo4U$2choR3D~bx|FL0;_zMs4}l22$fb0A}% z-Iw2gyPUWLsa2~24KAv!SA^y;cXlAB$0P&=Iae2&shg4eRx(dKRyH=q?9TPS$t7E- zuEXZrw$mKdPAU=W$3cAM%{+&=)V3w$ z@*>CXc+8~Ur59@VO46YVw9i+38v+|i2wQA^(tbxxsiVU#Ue9eWVjJ@a5*_vrS2URL zuz}zxjBg|uW4aVU^GmF@Ne~3O!>*?7D zsA+KkoW3QZM}J?NUcz*#c`TYd6I~q-{duM;KFT99$Il{!Kvpwt7MHNm`|^09P+S0p z7MCwr6`7h^$7<*Kc@{O>1a4i(7cru`+V(Ru6xsTOERfeF#E=K*-$&M61lf!GcFX5OZ$BJYb^I3?or1;EZOk6US{(Sn|uOu$pLtE`;`LQB#eo z_I8nqBEloIq1?%L0w*cEyala7(pQqX)lSyv!ilA_vY#s(V-gn@E`*3)R-oM3I$uD z*5QpcRiNV0A#}5Db+$D03x$7Go4U*r&B@*=208wAPoG4vz?a%DPg=j|2t1nHX~^#O z7VA6zsOBoPtShu*lFpd$5 zUkR7|2fzncSP2!)^KN5>Lgq`((jEg^>RhZZoNBc~{I(azERyAd?Uj^)GFs5@7&5}W zu>Byu#Mta@hVNO&Pwz_CP-6laP%+@rcG&jMXZ-J zMNI-`qvPMu_oV79kXika25|+H=kDAtYK;PU)z9w9^n& zH7Xb#2CNedb=Yj^i8P)*&}en9@O};(J+*&I zHi?NyH_?jr7uJc5oD58Ac+Rwe&FyKX<_}zg($qLlH?p#Cdnhtdz;vxZSC#UP`ZOUJ zTBEvvK}Ez=^i*WA<%LT%rY0Iuk& zuY@@I&dJ628lCm0#mp^wkrT3CTb@hAj5)#GRpc_^@qc>1T0jD`6z&ddGkJzoZ~$E` zUC>Ln(&TRDDoz*bYQJCvlCC;;ic6hRo5u(*zhw+a&^J0pMK@X!^ROS%0&g+wAhQj+ z?cg)BS9M?h{5-8I^}X&vsj#HQ0t;$5k4 zukGuJiLC_SMe+s}jCg>5!vZ7Y!Nz&m7Wnav{D8lut)*fL>6}RuyEh z8zV$Joa`KYp*b!gFDgkM9kvr0tp8-cqFTHchg(sLQ@!zdR_CJ$VX3Hpa8rYKaGQ5y z9J#_RsI3L}&i5)WBze?~7{qBIbXdce+i}w-o|r|hse;l0R=`_ZIf_#LlIrSKsiH2$ z5dDac{74KRi{xC?@A(YDIw-iTx`P2c6dbnz&;J;i;yO$U;YqG$`m30Rv==H1Xt*ce zCPjlnV?AM2^6`lqnlRcuh)%3ZaGwnfOz(8|bjE|f8E@I~r=#Jyk=Cxc$EnFZxVQ1g zwp?CHTrdg9KbN2W0kVdSpR7TMZmEG2e7W$4t^Fzo9a@bOIajLbIo17K<4+nj`6wGE znV+|D{sEYQeRsoX_j?Rbk|oHs9aGFp^SGdsaZdKKZviu|IV3m6q^UIOHqH4vtYVQo zy4UQ^i3HlYG9SBXO1h!Szjvuo+x;-4^8zknli0W@)rREKm|9X%2l|!PgV{YH1`5N% z8Nzqkhv$cFtzh-Aqf6cAs_CXCyMGoMsR!B8KZMO^>!b28sRG}a4v4^iK^Sg&>-EQ~ zdG>!H80@0**Wq_lY(fhn&hHL|McGM>%2+`gq+y-inc!Go&*>0OekV(oerAHDUUlh8Yo&=+uBQ_t~!w;AJ7AR*a?`3x^@xUgM z!hp*-L@GMZFl0dc_m$*Xf9Iyshy64u1Vhife%&DXjEDYf`;wcGrI0#uJw5(=dbr#H zhf$r@rXhJJPMq;x?F?&q_;szNHjA4tbF#30;Dw*@0{WZhGQKznQ>t zsfs>)v(zniBXaY{@!D|r*yW^=vP%8bc16pg!Nl$6^Y6e5ckQ9MG=^0Y7axM_3uWWG ziBRr30iEs(?eG@0CqW9A`aD^~{)dDI)e+pN14go@Ieq!Fxj2~WQ4v_Mq98^c!iu46 zbu8v+G6wO3t6m0goy#SihN|m3T8|7VlD&HN1ws7DNglJk#-lKL_+Ty^MWg-i!p26C zApnuSFKO%V_o3(XoT45U&^H`BdO&$}-&%ltO+&j|u!>PL7i5&&v!1o*{8>Yz_BjJt z#$`|im`G(!Tiv|zZ0$&BVg;}0`C@ScGyd*O+7zJX0ZVID{Q?I_L#d<6|I-aC4PB0G zJv?RTA-HXP<0OQv%#~?*Se%**Nmdd=C0@e{^NMEaojhT0n%hS<#G)rusZCx`RhXNa ztIsq^*G%Eg?U@VU_P_DNvZ<)*2kRT;a{XRUaJlrBgZOQ8D8zl@(h$*m&EQmpSQaqn zsM?pA6gg(xehxkVO;o`6h#MjvkBcp3VJq@pqFS%s3rm8 zzQ((+{bw;?Gh!y0AbDZbJP;K09(Znk&H!s-f>kjEPYt5mC&57{&4-LB8cY;ul+XVF z2b;Oz?R702W5s-*(X`DCES>bvXM?a)YU)D{N$N9}x_k4P5e5q* zb)kzBFZk>?z;rh;xY9Z#6+3gPhK9bgcz9GrAYr>V@elUwGc7W*v7OBj*HoOd!OOY{ zx=BoVTxvAP2di1ln` zYO$e@X{7UX@T4%tlNu68wg|k=QccY`_&8ge z9}?^f3pn^soLiSC0Pl+?NPxLZa;55%2oicQIYH@xWmS*o*VfHz=t(JcM#7mf=+;O; z1I@pGv~+S4%N7U9OT3+@s`QT8yZ$`*!nQxk;WNB+eqmVr@8$j@8JF_vjSaZDEo{On z%Z{N>`M?9qbiG4+O2o!m&|t$EHzE?ROGmx@66b^^$b+Z2gm~*{*MV9!UY~!q2v6Gy zW(#u$g>J+=_Pf_s4oZwBa$d88CdGG#Mf>Nu--PKr#PGSm1z3dvgm6bN5GD1cBof)! zfqCl_KTk#WT z#xNWejQ}u&>r0v!d+B$sjhbavIc^-6^P8xz(FtmHWA}|LJh1NVfKIz9Y)XAu#HU2r zlfn=b3Y*%vXFbq`pLTzo)1d>A|MK@YYyoT;K4~D-zBjwf5HOd0fBbi7$ZJ4Hfo!<4 z%8b0U%;HQR7Eh_gZ-t|rPL0e?1)(dfsJWX#VhxRscnuB-qDWif@4L%d{!;l&`jz={ zK+yl0SKLyk$6w~Jx6nnuW+3PK17h|-h4 z5I5I+iV&r=mCLf<(ryecYNyr>orsdJbO3M%l8B&JrHZhNE;Z%_-SNmPx)|EOUwNNhFtIiE$DN7Nf zq%oR$tt-;2Y9l|syx5R@x5OuMMO@MNdG}-m281bv2czB3b9B&Stc#gs9Ta>nn!;Y&bRvGkEiW$KoFQbn!M09<%3Q zTh9GxS$BLh^GLW7dA8yb4X2LDJm>5oKNguYdTO8y^UE#C+Yn{~*BisO#~aSq$)DIT*m@%wiy zMbtXz#@E9aRT8}LRk7I|0>!&hrKzc92BFP&I#@qUKY|Au2vSMcSNkQPB0W`jKJPEI z1+cfefjFIEu{vSauAp{f<>5`X`DL!2Jt8a(*ym=NTX_?pW@_wZZ@tlbie7>Q!vnPU z`~v2=wqytdPWZlJE=e=)uGC(9Nl-50{bl3$YV3Eds@}#vOfrStD_&SoJ`~o0Cs~wDK`P(jnBfl=oP)kg^C1VaLCi zFjDVjV{41SFQl%nDB|$qksJNX(}?ipF?-k9$y-$kqTW$uyJ<-RqwW*3qtEeviwKm8 zkL7#&3~NvK$vmY*U7Kh(dAxa=?14lc;{{CaHclI_TPGZdH}#YNt*rrf{7#5WzHV8+ zvE!X&C7)2L?4ewN=fQY7^O5cFwp^lWg(yB_<$xr==6eVB?1$VtWsHElBu z-qHuzi%e+~b3!|Iozh@bMVGzbzy9Jdgz_};*0=hg@z8Uy*5qYDR*Ijq6w1|U3if3j zfu*#YGN0NHFND82-w(x#>A9oXB2fH5MD(7Wq|QM^L!9}3Y7Gcz`^m>7`RzRs8&6Xc z!)0|&Eli)2v%mSdKKmg}G^2&B)n|KYet@?I%D@?nlwWPWcyNX~x3#F9g^+Os3rY3-J{0*GTdr`^SOp)_4}y4Sw>~ zI=;Lc3cmpP~(+!^|!EM-A7kz+t_qI-&XS`s+5HL4DFJ)Uw_#q4Y zi%5(o-}AuNGqmLV7XqxAEwB9WlNWdEQ z1qlZJ z`*e{bPR)aXP=N@el{r{)W&nJ?FLP}W_5<8_oEr)GIAJ$Bxg&_g4r0mr`GrV)>Mw+O z+hx%$%HI2jIatM>78R^o{|WLF%qJ*FNJ#Li0RahtM#d_tY>es{@F(Z0W}CEU`r3%) zzk>9T!l)EXUu(+yCFZPIad4ZTq9Y@tB-i@b6oAU%22`1F;@*(0z+BVuCnAq3>GikI zf36Vq!wyE|Kz&!Lnx8VMD)UlBujUB5Q{T`ivEUzJ%ZaPav^D^#ei#(VSBNu8yMqE( zo6?S|Y`V@afNPxm;vFH21oT2l%1}g`IZ;+jIiKbNpJOE0jXJeHcsZ>ruj=E}uS{P@ zQc_|*;I>%Uy}52_3%VOx5(AR9?o;wyekM1i+YB^keBGgzmXOE5#Er>ro=>Z`BdlXb z1`ZGfnf7}t%pFnYp-p^6RhQYv4_KfsuU)o1;Ma2M*flUsBG((BWK{$Cbg(>pl64uO#>^{m0o&`PkU#Pbw43DVB{ObT?oB?<4L{dC-Esz58F54 zRn;qU_@xd(NiO)jk@Q5s&UlsJjuTcBqBH1SQ|?LaOxJ&QO(!i6imKF2#~5cw9@{Sf zmC|nL_I#%f{+6o>ng>>~cky3!y$831{|p>uA$^LZXNMOgRa2+A)`)wPD_BV$v(xs7 z+MsNT?VPovTIhV0n-F@HB=UKP;CnqsGcK-Am{ZrJrJ@e7XCWP2d%|R4D3KS1(>Z3b zGX+pV@XoP8YiuP06G7BKvjYG?n{99_>BMc<7_LxR3n(p)2c6f;36tAk1VF5#U{7*n zu+r~uiw(;VdX+eST;cw{_LZ1Z85!&gNGeG058Nk;7<=Ll3rj&y1r0RER3C#H=dUC| zpnfT3<>58*UQLxsK>GO4z+0vR-9l|uyzSekuRO1p1Vx)33!01Vr)K=ZKKq0|j|nhj z>7sPmh!BDJ0V#ucFM1aq?iYrWp>^F_O;{e7Pvnl!rY-!ygN$Jv%ER7DC3<>*$HB*W0pAHuMGSI0}laAfG6Q*RSeOP8NtNZ4+Vyv9C; zKuu@f1HMBb-=61~$(loX$#OrZtd?7na$oaB65##N0rNTdy~!ZI zh3BxzncL`>O;+wFa6Vkkjpx|?Vxcf|*+N$^Z)Dy~`d9+FO+^#FV6-4|PN zN-NaVp0_pLr9E!GJa~EBljr=N^(yr6)?Ku4pVDQz;PdA>#W%UVtnGL~{Rd#qT;B^X z`=Mk1@T$OA!Zi`f%`2< zv(A{uVqQWwm1Hh~j*lyFTKlsA?AKNbG>Q~#I3{eK$-pXwUj+%5kthT+f5 zc6?99Y$fO&I378jqStcF^ZII2ygL?`HIL;ZAcg zCq}Z(A*rF##FL#fl|rxL+xYK!;y1~>fv0E(`deRmj0L_GW~Zy=#X?F9D8o9!I%@!o z@r(d^7?AuQU--H=zQbaG@yH_03G7N=IB86TSdZ%3_-pK)=W+TC{ckhDKt=(gfiC0{ znFD|`e~ph;W%a4qQi~@*SLKF*J;9bWm@tghgcg_*sVq@aLWsKWbd~@mGvpDl>Pg;u z1~a|Id9hOUA;`zcuw9?=`Pcoa+bvrAfPQavy*Vd8dWl}&W*;HIBxSp*oWmKZ*3glO z>cC+yDIcFa?1CLOKPMN?K{lk4;()TJ|H|HxMN$~`H*K*x6k9IcoI#CGkteM(E6~g= zI>eNn#SRiwq=g&)O%#oo8{HWf_fcUlSHG!S`!MN>B{DXKkMir9ZbC|;-ULY3Hsk4W zwEZ`c*%?UInjLe2jnxvU8;)vLsRJ6*vru6F<&i>)gJ>o^G0|uLTiEc;fA&X{xL-2u zec2WEj6PGj?9&^lHP}r|hBkBo*UsG!qm3cyn@N)3=)N?r8Z_zjR^!1xygk`XiBb)hNf4hl0RD@;SgE|^dJ$FiSy@G(&g4aOU{8Q(S(~#LQ!43 z2V-X)S5!~=C;jFw!A@V*&c}C!*Ufv_!~1>yzYtZle#}2Nye4ip+%s?6A2SZyFMJN2 zFJChLLM$d+e6$yOc6FV&|AjD6nP<*=6T2u|*xJmWA$3c5g^^Xd51M-Ew^2+Xt)sqD z({o<-b0|YgDkLMFBhK5pW^&G?o?50r35Am*FMc!S(0xj2*3(YoQ5vNn4K!eyU`Jxdu%g*7R63%MX zDOA`t{p$duD3Q^e;uF^*LOK~KmN8J_dB*Iu6*K8$Kt#YdJ1ui&&>m4MU1Jl-H+u(8ruAh(W+ zplpyz5|KOcdO@~p6sxWmpXWeJd+&_1L$Ly&VF)#Fz>YD@6jeUetT)9dI~rL48jm9p zv7MqTrSK@j*GzCMf+s#u?tX{-kwwLePgP~l2{peH^YgmCJNzVt zhBjhkWhPk5Uf7Rjt6h;iF@H@V1ToyhiL6BJE;>Wpd&zOJDV*-$N@2*i%zs~YOAV2@ zWK#Xykz__>Li@SwIa>WdZl^uuD<+kGb_E+XNIlsAX{nVeAbc!ptqoM$j;LV#MPl1! zjliTkeX#q=4vYhSwW z!lx4g_0ek0tEvqGO-&lnFC5~<>L~0spg)t33`w>6D#J)71X}(Hj)*%N+EL%NE@(lg zlqtz-9&$D!TFe+&YAkb=*Yr#(olbMPKY&O>&gg#}lCPbv`n$q|41IDW3m9co;xSv~ z4}`T3-v-zE+d(bK&g^(eviwgtm;>9}x``X+Zs-^8R6N_;8~{seW;ho)IkwZZue#w` z%J!;4xh|1rpuNKIN+ofn08S&EPfOfvyFK&HZ9>|fNq>%`ZEIFN%CKA{SXQjLDtQfz zr`cJ>zs`04WGXerEABrg-P$RTVvt9xQ(64;u`i=Hm)Mn3>{k8Rgrg5PWf4sUTcT0` zaSb2nDV}b!FAq)>=2Uqio^#|&y23vs5PG3Ucva$4fTMgJ2f>P?T2=;Bj%t-n1Jp3M zR>o4%DI^GP1&p*V^EmDmENbrqN0|IMVZrBwOEHJiI)pfi)w%1rbW1jY9|#q zwSu@)qGuV~hg1bXZ%FQZSB@M~(0oetsG=!Lw16}D{{H5?U--s>7ci76TN>Fb*hXVa z4Dvm8hNv`bqh<}9J0yzX)2P(Y`19gS;mS9OYgH-12kzOOVcfs!fIa}N%kE~%M5e3$ zE83QTME(S4b~_9ZQw?o1k-3`^JA*p{das`BU^@X08Zot+iG$=Z&5nAms#f9xrAn@= z90rtAWFr7zom{5@(9X38rT(R3a)_$zQ7(|L_mve*lnIV4Biu=V+|r7kFbi&pPU%Y$ zBD6u?Ys^&hyB6#Y<*^l6mTtIeJwiRG`d)?UXBc+*IID%#5-DD-#?beOY9kh$4TjaR z<~uVpM<3{JBlsx}o9Mg2AKYJ8pjA(C!JEPbbIORXWp#%>1WR6oLC`EeK{EbMSgKTF z_~%9i5lX>2pOphzEB4illERNd;xzGLQ_l2{NkwNwTOkZs#uk)&RpCraujzTeQ&1eu zTkfGc8IWm=9{7_gd(!#iTY9>{3tP}Z%74v~F|=z<%r;U&@97?6aS}_)Py?ZgA|b~^ zo+jz2f%JB`idd(4ql}xUla;S|ool(6(ex$V+xv|ZT@8~w<;s!r-EM|6PFv~;tAD4I zrJ5-s26&_Ylw@>Fyn0+Mdbo-j@%j-EmTP3Lk`zIqANjuOoJ3Ghtmag&%0F|NLY&Yy=V)QAU zq=jx2goUKn+n^g|2hGhaCmDv9iOSR_3uE~v6WGKA8#XXJ=QSj}W`)$J_2)S_ZIwY? zxLE-OV+NcXf=)C6GmkvuTQMh#4LSS>qGk?*jaVM&F;=Bn`lN9CY#y>9C)oWLqjmfb z18Y@`9Z+OUJn`!yLCWWQ@ce#2v~U*i+OF z41Y##+RtfFYSC1h4)v?{wiet(jTtKcsZ|jU+oO_`XWSoQ-U5T3R=s zIB(-X;|dghQR^KS4e|^)hAigkhYFW868}PHNsOmn!%n=k7`8}&@lE>*f%4G8qF3GA zx?L;RiIPGMK>n*;8xl!W>3}c;YdqH&I}b}-{}%I3Hh=yvghLxaGz@fbY(O{!gOtkD zVgk8X9xF&&hHs$i$AChS!M86WXs2iaJx?i-ns`J^_^jkV#U?&oteBMM35(!rp%#d= z*ipPdiVGCgI0JdY+k+(eFqqGc7oez5?C!G3Z%X7wa&Sz z<(3h}5Ec+Fh-mAQLMqg@H3L`ey~GQ<%46>1PcXx)yb&%T!f#L0RLo0Rqta z`V3TwZWsg!1Tv~DmK)2Ma-)_|LkZ_4m%GMa4#&L${8%Ur5CHS=`T)vh!@!R3NJA)Bm*p#x!+}E##g9zJfm=zg%u(0O zJDty?Pl-HN;q+PnWZyR#PB=k^E*#=~EM|TAh-O6+pRKzT$HxuG$H(m|iG3P(0Z>y` z=LVM@Hp7m7t}*N5hUr3)1nZRrdZn3n_bKDRm}JWMpdDL{0d)rCXVyYZ9K0*L67Xb= zZPLdDLfQDbMpK}8L3yFsh{*l8@w4-_UpFbgT@JMY8$Iz;igti6s;HKlhybZGaTraY ziPUl_~$RAezNCoq~O2;(lbgd%i%?Vtiar;Ro zt*A)_Ywb5NK~+7;sZa*a+-!bq6Od6Ig%tV*q>xz3Dv7u$y8QldqE;5h<*o_b(@!DP z?F9lmLdRMyAHV(CiONb@l8kM%8WHEna=LN*&Eov$d zxzs4=wW5N{)|`^YJ;B;S1jUIC*GCCMq0Q}cxiGktX9g+*pUhoE;M2YbDZ@MQ7>mv{ z&s+2+bFdaezudG}z@+huQ$hpD`=R%ZF?Wb<+0&se$Y`aW-1(f6!&>O5WTI#CrZU3T z*3?@g#(7d2=s9UP>046iB2F2JpSW#0!(C-qRCt2%vkMS_lv)YSI0esFNd4x0+Wn0+ z@KHVwL6JhQG8{5;XwC>gyu=Mt!om5$j-h=FIGSs;KKyGYM|iQg@JdzCEK_L;04^Zb zVf(co5qs$y^c)V$X@AF%D(fHM@62f^RGP2~kV7R>{x|GTQDO>0@WpXs$+9qXrhu@d z9l>=8o`lv&z*qFvmOw%YP41t6A)o`ZZ4+=$&@1<Ep>~8I|lT-dKqYK0I?P*cg$`u+WP3rVkfHpBDk6vw_?B^o*9eWqzLgu zKOpsAL8ZxZvKcR+D^W1=(!nLt*7c!fgZ&C8+)DFUfdCSI>KuZj@| zkd`8&ZkB7H8=eF(E(*XxtzBWle&fw^n&UOEuiL2T6!+3A`LGx>b=$zgl3=30y-M4Zt)-$YGh* zivnYuF^tPQ%u{|*SP&&-1FcKTPJ@W9kXm&S6NJ~Sr#EO_7sTTUj{r>v$?a^=)=B?QF0 zvXtgyAyE%dj$qU+3@pIwGQ?TDw_XN9X@iVG!%*=$X+uy2%F`C*cT*#o$8mbaU@1{{ zjY=ms@PpudPQ;^$Ul2*AR?8fCdgdyaWy3Puxq8QRimoCHh_PfsSeB=Gf^?O_u=0UK z3Nr?vXD~CE7r9H^7nxv8UIM=dFyq6tWw$9fi*6XVs4?5-Q^c=CQ)I3+H3eM4=0-bT z7Efs;KvjJsfpv%hUSQobsA4r7t;_=g)zO91%&dS0UirZgSt1unE(}~o?nKPZ;vA$f z#C)PH0SaGo5qWrotxB*X17f+AOl@7313?Ca{{Ybzg$))7OPT?$a;X^@SnW}K2}PJi z>>|Sm#ol2X2=2Zj5^{bZYZaJtv<+XA3enN+D(5_)L{wqR_56n`Y7O9~ls+s(G6 z;2HrILgAozJXHpWa1}O|1TuFk`%-RoLJrdHo9Ms{7&RUR>LL<_`$T0(;xB7rugr{Y zMZ5Bi!$&aheC1_RDn!y=kwl~0qjuCH1lUZfm<3UW3gsmYfqA-ic10jS4jEvKf%6sf zR9INxNZ}rNq@qUt3~W4EBWd zOl%sdPDp|&b1`ZQ9^b(iXf+Ej{Xkd!N9vpM`JKPaQN$SPJXgf8G{%ORhf^BV*@%VW zA$81R?2K_3Va!6P#X%}p%rlr(xHY&<(=EKr%4PSM-GN^TF^>m|rBZ}4m?ZDOtTKa` zS%Te7lXPzj2}sn$TIKTSWi% zrtuV*zEXskd`g6@3xWn=gOedZnRTgOT|;yP(>4a(Prb;K!Z^h%%?sTC>tkM;yF*6$9} z`*oBym-O6Cx$-af1%s}lInn!dg-A>LW^S0ff7xZSpS8u@pKtpy=rzavl?oc*uu-AF zZ`$E{Ll%fPV37Xi@mNij-F3FCUdR=RA@G?1jhJj@QJDa~ui{t%*>9-K4y{ql0+e4L z=^Rn+{{U%%7+%M$zRDP&yF1NwC=u(WnF%mO{mPdKY7$`z2MftHo!(m|U=X2D#H}e# z&-OLL?myX;Tf)gh6CFquJwTlVlAdBkEAm6Sl-SCrX(h7bJ)BcIfivc5#) z->o7U{?=dva^s?itEex>~jEqFl_u6B9ejx)7Z`3*( zdw!yMhfrB%&bUliv`Xq@A%s^2%do+225JvTS%OZ~>`K@m5i1#jRj@;UeV~SZy`lB{ z?K1E0w7rX)hNfkkOT#kinHAv}$M^uU8^jKhoh3RzUZ4&ldQ5I7Zf%)ZD7;t2e-vM! zt*tnN)}R4Jk;eMK`#w<(LTcTTs#mIyCwRfO!XAS1WrQzOV)|T#YMq`{92STnDN$a8 zyo=~!)Xr@!AF_^+wExId{8z89-9^(p9SAigaW04wY;~inTvp!=G<5Y9KAY?ORgU)bj z@@PS(-jGq390}~CL>_fdaGVory_g*Z?v2omx1i&_C`^h%mMFRr1+J;!_0u9S&5|1c z^M%k4I0CVq<3kL78}Qz|^*>q&8Uup)E5G6Je}^_Yn1q^$;^MJUAAfKh*WY-Kkr1Af zwL5ct6K*P9ZGHEaUOxN8&OZCbZ|n0eWc%+jxcl!a;!(v+>`XBkOGTW;eg6QF9%8vm ztg%x1nsG0zO<0)q3UT7UQ5y3XtiPFH<~l}9D#5MBT}NvY#K$t0+Rgm4{IR1m=0R-UB zF9qFYz3|#ttJXq*<&{IJcal2?HY`r8VAVBeNUc&{ zEQsb)Jj;ET)*@Ke3tridG;WGl4a0hiNHWAxp@Ej((URW2nx-gDw;bpU+*BhqU7Yza zlHftk4r8DJ>x|2p!Hwhh0Ofy{A{1=Sh!I`G-e#jl3r;ARu+AE38fC49T+M_A%a}S4 z8zOXDQ#S0E<>T;whhZR$2qURR4JgWViD1F$EaG-$mx;3Hh)jl zeBz~dkG|1CYEyWNltST1qAFSz#A4jGu>%nC0*GO#K?!csi=A{q-0sUcjo=ER5tmmP zOh#)TeWKd>&y=Uo4RmH+~b27)ac0tKW{UQm=7 zhzlWC>R~0q3v3j;%6~LNl_ZvOT>|BZDhY3g64pcvS6JDEHHQW5&sQ8nUSI|Q<$hkQ zw4^Qi^oN74t$gUo2OVf1KTF^tfU4D}zdl6}9=2p?atfF5$3mbM&PFAO)Qe8;I}zQv zxmOF&i>V7!^5Xq508cf4aOq&97K*(W)y2&I=3~MTBh^xk1AuAtVV36-%~g}wf=VT9%6g3BeZ_M_KkKVm2Tpbqm5~5TFM` zKJWP`-OFB(`_8^U2l!Z`t}`=k7heeBFd&kKC4%t@;v2*_hz@BTa8%+KKZMx@O^=B{ z;#G7J^N8Z&8;JbH!zj;!7D2=!rAoLWp;q7!^9a1oCN>2Zo>1V{;c;hILD7fLKrN})tQ9rbBeWk_j`lqOsWdvP~3PY0u5>QBh%KRom@kb%eu41#x}n5)4a?0j1m| z0cr{W-KH!9R*RYuN43VI`&)payKG|KB1Y%ih3H%Cf^k4b&F3WESE0c$3ODfp26XH| z0IF{gD%u-h3gM)9yWJlm3=NVea&csp*um~#5|J{1G@M<;=qD9<7C63%slEci z*_<(HYy_^l`dJb|4S)+1I4P(Rfk`zs-GZ}Sswb8f8*I>Wam$%qR^%7&2BxSq!ia}h zm}XWo#z|T-4RU1ww<}LbYz>YwbmlL|ck{spR$m6j5m$ASxeWAB;rE?@%fcoUzvLU08xMG9^AfSiubrG14Ort2<<}I0g z!YbB0<^~u5#5%zc4rg{hS-x4EE_dbW39oo9LTaWc0Z4kXp%^xe49Y}yY82U_36+;uWUzMXkMVvl8{-stOEQdyL~-&7jL&D&^D<6SZTY(+5T^65;fo z3@j(CrB$QBW@gr?b(L*`W3U6G7pu%x-!ux*%7=K9u?uS9EYdhcDq~#{77(GvFAy>c zFc7CPdgk5EZZp0Khi!VyG#2ccKQg_--E4fL3}sOumi%2&QQ)@esj&5ynjv^TE0rHu~IN|r5e0~q{co2;uBoq-A zA>entr+#D#J2JG+9ki!^)tBmjsE~2sHV@4)T4;e z*WYPliD>P3BIPa0FRW%SHy=hKnc^cAscJ`S688zhWAA89e^1mEe@Fnq?fRT7Hc-Rm z1n2L(ep#D;eWkB|eWq>8>o}HHWtBb|ZFm^vQn&=}RG@PUGZUCO%xmA@XqUK+OX^Z5 zO$xObG9Y*L{m#$dc+es#;v^)BaTi~FqMu*n)qh^oOZD*?S--weQ*ily`$Tgpz%Xtl z_!y?|19Z&|c+29yfHu*|S2vN%0NgT%LCg`T=ua(t!d9AfO3juz3|<>H+5DF&-Q1?@ zKn&WrA{>Vt*a$UVmX)9CEp3n+xk2AEH%EEn(bvlY1Y{kS_x5Xtq?<_oTGYne^f|q4tBuddM z7cVNkXF(RC9?UKfX%~^R2PD}I6v^b>%C($aivIv0#9)dZZMUv-9Hvo$fpwTyZ8-}! zg7n9PCfoteI1R9sMp7GchXgTOz0x7;%*a(=gCdNpSLHV1SnvED%$njHc1@KV>@zt{ zJteJx$|TKMkxr7#G_iYZ8?%XDdB`_wY^AlqEbkMo-{e^KmGXoDwY_?@_k<@H+N;Xo zj;(54U_8*RiU3_Ty)bjQMPkqkI!aN`6vDg`f)b|Dmg^dhTGm}sQLjzB;6Nl(&f}p< zTohX`W^`^x5n6W%-WRL0gr>6v)e1 z_u6%zeWLaI?HT_7zo@trHwehWP)tRR-dj0o>)O}%cgUSaeN#y}4UI1sp;PAx{7x7=iP3VFQrv)%O z%hXnd<#hIl4hUD55CM`%72YcJ{{Uut0lUqB@QA%j_kvzG0w&*r7QB>!iOJgI$`1xJ z3$obthzUnl+|uG0P@(Lumj`@ly)nWBEF)=Q9WQf7W}z*XA%UGXxv4sN$jf`Gq^;r?dHd2(7MvTwlA5App$LlI?JCA+DUALY)wg^u&pxndxN*L*5D`Lp z9=O5oYnU(^D;GOcCJH&XUg;_;w@0jtFC zm%Q|YSjy~~I9MalgMzYGko;U@0KA8~e^6+)hF#PY-XMJU=f~jx00M!*@VZ2I28b`#WQ^+ z6)=w2lx`B6#B68t9p#GEvebZim<-OkCI?w$B$vylV?1xge*jvB=d>?{s9Wm^I-XeX z>jAC37q>CaT7c@u`;1;JPWmytU8>MK9=EEEQ9aiShi1&`0<;;71C1{Hqoi0DR4pCL zjn1}QOgK!()Dt27u;* znvCcUQrj8#nVO?+n{uz4EW+uB8jCOi((g5iMS5u2`Kp1tb!ltNX_hv27(4A7uLD9~ zv}PLc=X}(&QdMc~1slvX46@*4+FZ`7Q<|2wE2KqFev$8hm87zg)G(8d>nayXb}vq_ zO3=96geUhDeyL4@P^<}OF#}hCCoOthuRX@lr+aZ6X#qo4J7UH;;R-R3pn6$yi_tiJ z!@Lg5l}!sHe4SxjsCxB!%j2yYWaq7W#s>{kV+V$)tAsd=?Ny_+B-`VMvlk%bt!6h+ z$Y2Iw(pua^p=()|o9%$!nGmLYK8__>4k6_41V+}!XmMl*pjBDgGXg$K^W*S;fVl`+ zW0;m&!*)XH;ny3IArOj|!H{G~r!hLd0Kh!V<*mgcIEmsbL>Gib{{VOMO+M^Q#vc-j!{f9HVht#SOh5z>&85w`ncU2~h`Wus zk5A%uJ{T?|-PA&;iA-uW5emkpB6P>Nu57V07V((obdlyGF>hu!SIiRI<|;Aq5|C0y zf+C?xKoE{$VqsdGjD)Xsz2Xq=hv+EmsC%P0bc| z78o_<8cuT5atqE45Z9KhI0KLcY~JEhDJPm?i_xgUR8cyG%#5VAmR~tiS@lmX1P4a@ z+^yB%<(PSHUco7vw#@JT#VmGQqyGS9T#BrmRK;^!j3^8Q5MABX>jvd|x}x9~uoS^~ z_l9FV%98H5IKGjPDAu|xzik000ZLeOwuTZa-0RvXu&1oeT?Ty9OP0PWH#1QZ88 zaE4(G+S;%MJ(aiLot>hAIrB@ca(OUndBWA#RO7t8AhuY(ZZFSqVMo6q=H|v-M(w}? z=ts%0fG&LUnte%GR5M({ICP<(I0O$bKsrG|uD(xIjmt?k;a2j*OOY#N&ufY4Fav4P z5u)maiXaaZW70<9&jWfG2-sW%9Dr>FE zqL~)MybJ_gPgv?6Y#>od7I#O*u+QHnL#w6m8Fw?Lc70a24yh|}3tinE;n6Uv3(>l- ziHoG>vYVv*If_n3&%+Xm0Y?`JChKJ60akQ~vIkMjUeb#tI;(*iOXx}@3yv(&-9bJ} z^W*S;hC{5-4zONfJistUA%em1`%(HvIEY0NV~K1L2L?(a_3-(&z`29tH$LbY+zo_H>B^*W*5~{>PRzjr0{37g`QpR+Vu&=(-!~A}x zW&R(iJw88EOY7ovN8d?yULb)ArU^yLd4xNi-@fxkWi9>pj5h_v!f!C!mUAz-3dCc) z0jdJLF*(kqm_O=mznPo;e&DH}zVNA-3z*|^TOKFkzkwT-eFtOiSa1Zav3k<3QAZ-^ zLA9lWzVIFTj_~^wZns2$F4e(NqXx6q5N<#XQEO@w7oo&=%V5NeDV6A7q$n*zD=02= zctMQVpF`H=_Aq5TR*S%t(=BH%>K!QJ;Wqip$uG_G6D~baxt5p(uS+}S^NVbo9j{Q< zI?5n2QD|X3F}r|NA;c84vrRWyvY-wY$afK^25Oi^HmLxK$^o}Ua|uP+VUgL%&&OG#GD~(09R~d7B*vArGoYiJ*_q19CYI!l`-XW#Jq? zd71PfX=?5lWQ91F)&(7MyKUW)&<-;-Lz%F>%L3jypirs zEU}1SFxlGi>i+;y;*m(%EJ5{(N1f^3g#m$OS$5$Fqc;I8F#_My^#|+q zEWACxP|E)R57f+G!}Tjq>H30c@%n@Xit_zJ3?YF;0EELYtfKQb<~6yOb1mj~W##A9 z{{UkjU+klQUhqfX`xEK@%J}>5ABFw%lyOs_m1dx;oT9e8<&3=xgsj9jkG}KC_uc`s z@4OY_zWKpUAgEG+6*T4;?orIIn9@1SU#IyDH}m?2A79k7>->jqAA3W#V6DdMm{^#Y zi%dtxCJkI@)kTy$kIHpleWOlq@08EKzR}wH{6jedXId05Xmu}Z8+DR%8|L5TwGWjIk?pX zMpq)*!K%bXq^hOb<;zcS+#Rb70T8g* z5Hs~UJJw};RJ?|LW@^cKW1N?A*l3kZ*7^cD-eSq;wZ%zNz%AhB57R=hz0$2VcFLJy z=R6XCLq%G5%P=HBr%zHD7KjF#gnW467hW90(v3&nHo*9cOZ-u+TO>B^5SDYKJcyYDmd4wkM28> z%GUeER0W(wqyt%E51r$@R-*&bTAWl5E1QXwbQIQ&#Ku5&s$h>BJ)p(VOjOMaX?24` z=KwP3cdX@@fGtg%uh7?ci!2L}ww09+VjuwM;44KM^qAxEhR^4K5tTqS&m*p$<1v*=cy{^_T`Am@ctO^V{)6XB*?21=^G3zdk<)_&wJ= zkmh%)In1K71FR0P`oMXB;tU{C0z&C8fz!m=BvC0Ph*m69p9{I*1&HM;#bRDYXoB(g z-Z{_LyhHWVy+lDhF)d&pT5zX&);cn&i?!^FI{Yqc2>NMr;E^+tTcBOK;M5Dl^!csYu2f{VY7y%$I5U^GyPV3fR%(R!0 zSocv!GW?_RVi>r+e*4CG`|mR{Oq-U8V1k4;pw^&FR1k3hGXqld9XXCWjywDB7)<=l z8I@Lk`^w0#zuM*22&)qHp%Z3%PP=U0AjC= zUl0fa$_oQwWF0 znQmgVTL`#Z%`cCo%TbrgwT7iqP@_pq1y!o6hmA@y^VdP|DXi!?4qs*-s-vK=_Be}hR%*PElMx8EQ)tw=6-<^{v=Lh|QifKB z!H+jmoybMsoxv-Z!B*@{(DZ6Exn)gQI}?V@NAGHmLKfEsE-TU)12uLYu3{$Mp@h|? zXvSdV`YE}Cs3nPlz^TeVp|e7Mm$n3D3*dE5by-sD3ZsRv`exf;Ev5e zI)+FJl_Cwo2QaD3-p$#k zvl8~jJjX_6a^Ns{`_^71Vx}9F7&-gW7I^RoDHh@kaWfRG#0{b!^*NLJOUL5BhEW7U z2kV0LFDW%q);1bM2T>9%P)Ar*(2XUCtwthhN-D)FMgf~7v{gkMwQpDw8GVY?i)Gl$ z)t07|6sr_uM>aQd;17%|5){yF>kD^@OdT^(B@YBaq$RckDFD&2wQ8NQ3jOFBFfU`DbYoy+H|RCr$`j7M&&0ryK5G@ zOb+4x*kt4ZD-l`O7&&tzme(Ac-J6yuZx0;1m9Ic3x~_1wPaz;< zt`3XvbB9>&7?nT}{-tOY!o~8gBLzYPK_b%E;u`A9=O`3#1sKh6mtBd{&YY{t6tEy0 zcY1nWCZPf2wv&gXK-X~F+%;oZii9O)io7w?yrf?|Al(3Pu5L2W!%$4MC>ml4t4${d zdw{S7=XVa)?;+pHE}5Dxh0&hS+6A{%u2<^=qF4f=yCJZzoKjXVK0gQep^~B`Q84B? z%wrc98De8GIAZmhGRygv^DX8R%m!G*z%U*mJWh!z**kH!QDWkVsV@X>4lT~?EzBg? zQsD~_&R|1u!*gvjYjWGn&gNUp?o9ig*-hpV%&FY(#!BKNh)v=TNxu=!9}QUHn{g_- zjFay%qP-<<A*aL&*W8C+=!I-PCS(J7jn@!&xR;h)S(oM&40-r1Oj6<( z5LmFgEX^rK;fa_9W(uwRN``+E2LAvOqnPW+!)`5H^DS9xP**CbhcQlIIh^T#i1_?h z@kRiMSTtHu=MlDbUOpd+GqRS~BEaXRf&uDW6%4?M4>&}o);Qy&wQVwQu9wCdEJSE_CK;HzwL(`)Az@~XU%P?oJK`&TCW#iccxB$doPCsH z#&nTAVEQZUR3Kp5!(MU?H5?VmR3m|YC0j~r=Eqoicq2j4y(s)g{YZb){{Rxm0othy zgWL~+pfhgEYPPu>8QzF7?)Vve48O$o^5)y*R_jB|@c2K+VrptBc$gC;-cyL{xa4D)=QF<_8G(EJPV5JmPcU9#urDyE zmRmb>u@K@jii&X<;ygi%)kPB6A}51f?oD}s8-^Q$Tl`E;WuutSGj?UyncVT3OITUV ztz)MduHYCXz=DyG-X|SF=`py74kBj}hYz`mnRr)hTrMvtBbUGKCs)7jBg^lsYh~{i z*^DFv-jR$-_P&Bw0^%cs+mRo z_nDcN%-;lsBAl^9x!+$M@n6E_w{pH%vbtcd$w2_;C0i`ghib~;LlAGV+^alg^5ipuW$l%d>W(o>cE~6H^FEJ?Qro+Y{%Tc@(?ZRh(OUeAy z2zn!IP3RpGiQuiZEh_m+LI$s#?Fe^J39kF^q`9HZ9p==X*?=JS=M`~xWO$%ANbA7h zpKqT2X;;A2-e-JBEN}qxHh4mu;bFePhQw}= zz$m8d%zH{v9E?@^E6mS$?kSC06%_MA4@!l>z^&zgMmo22p5NkKkFVt(r{(@|NClvu6*4+#3SX6(h2ud;=eS0dU-aT) z;C(d_Sg&*bPGO>jw?GD2rzt$xrekfK81lp-R^uW55DJrUL2z9Kk2m~25AeOqFoawn zF>WgpFHpi|;72izSzEc@V)gs)HD~X<(VxEay9wqWSWF8r#4un~H;)Ig;4$DK65=GZ zVB#FdIh1oOa~rHo<(AuW&SlFs%zK#k1iZ>`GK=KoE>UkYxjfOj%;mD`xJ@t+nHYym z!s2uig_Wx_F|G+*qO%<5@3cy1@3eZ~-)WaKx%b*PD9z?|()hdrycBp!+v^V>ivAgO z9rc7hWiAuDj5tK|{K2X;H`|NrT_Iwdyb0d=`Ob2rhL`?Ag@0}rT@j4On*&$WVr5sU zaE_AI`-KYv##6I&Z6+Iw6?7r1?<)a^YPbO^*Q5vz5oLW$D(=Lh2E{vhWKN7(2&zWh z9TFxEvyi)Wm*Nh&4sS^>1YD(0GjZ2j-mwpX$X|h(RxB$kxB;~Thpl#uj~21hh5$i2 zA%BSG56H?Y%h(QRS;S~HL0G}TA7G>6RSaoz=W)!dnpj=jK}-b4_ZMJFF%=-{MON$w zu@gr?NTdCVTD(SAxm*F2vkMVeqo4H`$V=s6Y&OA`lI0zwYP%rN-Ku34iqU`3fS>}$ z&%C;&lzA|eZE*#Vmm@eGHa!;|j9^(B?PL(o%1{k+nbe62x>~)6m{_id&?xnl5MPK3 z6)$M%Yay+%(hdYh`dqPSwL?ThgC|+*)m1|AJt0q6C7ITCv-*k^9l5`1mZfaF8sw<& z$Kd|}1`{)^P4je0uoaf#E-qITOG6PyGpYCDcmDfM=ig}f%lpMm3>7U=w&Kd1 zA+vF$wuSOX<3nC`VA$Sw5ggux&`j9Ai1CP(8b)zugDqwoIGP@?ciD}ab`ZFph|Kaq zQro4!xEV^`=;WLM3>@w-&f9YohY>~H0p0hMM8*P-V8TTt#;+=Nj%sdpf2om-E;gbD zwwI|4XIxZr>r1ZuL=XnDZig<&mup@sU?4m2VIXwH|2E0&#}AnrwB*qS_Ag|A~)YHzWNd7?gwJmqGyB0RFO z=_?KtR;gj!u+AK1R;B&jRKO|&P6(aI1P5TJ$tkJH>_6gCr4CHRDN)@B0q(^pyV{@J zQnl4I{{V-<{sS8B<|{16V?GuG5IG0+c%8T%CqRqRA;d$7<|&F12+_&ki8ev&H)a;D4LO^0H^pu;`9!&rcVcy& z+25LTI;^za!Q~Rcw|F7MJ6ZQK^YX;U*zFko5exqS5tIHP7Kj&6CsE3bVl7IgEXgy4 z%^B3ym}pCg(m@)9OrdM;WfulnyDuCb*rk5-GeCJd>m)T9hqXpHsBl!+}qTk$10=eq78SEWHr1rR}wrJx`Rf zsIQJKVxi_Ma8R`^t(bLC`&u=SSG;+su*V|`9ygX%9>CZ;M^yKhIy%MB;0DRVzu;yrxUJE9n%x4GV27H=v$;W-GqWn-+()<8$c)_D;e;#9H0Q z5LAG5nW8AW4y?~1NHtYe?+PpyE+{@F-4G1DSFd?z4_8&oHwNVkVQQ~rTm-~f=&P6| z;!bKYVvWyPJVA(pp1mVldExuqGXnd64BXF53ceY4k|Gy|6?gN66;gpkI!041=-aJC z85Shh3o-D{7okwYS%dK+SC)n1p|>CnnIGvACmVFNmi5DNgm_l94gnJTUB(;}5&9$% zNFhkt3(J(tE>}vjudqe>EV?2AgcW>Wu_D`c;W)-KGS^bHFmM-P27rWiK14+6F+qy4 z6~u7abqGE5W&?wJvwc}n&?_gQOB_JbguYup5T;QtMIs}4=HdmSjbk6w0)Y0o>fN8X zDp5l-WAc^sjp3Xp6`VEW@PCGA=au0XF}znvM-q-92!Mb<&Su=ey18R9rm3kgs8ce> zSUyZa+Y-#p5rcDEbGrwu7OoReUSUk5DHd@R;seC(#K}=OOvt6ZBBoZPd0#T2%-f$1 z?q!m}jhMF_TY~H0Q8ngQ%+I;5*>5nOZUrDRmNEnb{KmIGp74v7`Y_zS zV;g+MaEZbsDzTKpj^!yUOwD{mKlgi${hKh%n0iDpB!_6UK=J@W#A(&%rgaX z7AlyE)*^I?TAd^9E>1r`6XL&t>xdrXkJcb6ZLTxn>U5Piy5D4L0-mfW>Kj|tHrP{vTaDV%kVnZN+U%WCEnPOd8V*c3H<#MBb~BQ@{wa0y2v z7eUbZ$F==pG}?AN@gEwMHU>-88IH4W#Q^IK@o`Nm(R=7X;{Kokqt0az_Uoxx!n%Ur zU?Wcd0NIaHXlbPBXA$AkMXkDTk~RXZ^e-K*DO+49L?}|?;47wHzvLYwO|eZYFcxas z?9aq%g)MhLnX6qLV}wvEY!4MjJhP#a2P9CfqDeZ%b}8mWO}oW^NlRrN?G}-KZA2Ab z(v+`safaZ-lp$Ii8I)Cmnvmx(0PT@<*jHE_?v14dH0jZTkfr9p7NZr7olGChM>a7x zR?vH59p=52zUJB(o#^PXay|A;hVE)q@u0fIM@a>Pl6O=wB%a8i0mOEvGVLBBgOz(> zcdLTkwxlzZL+&;SmN_qcFvq1rsmk8%Xz+;R1>r&1I`V~mM5Kl zVic-3m0ri3b)})sMN_f&TRL4=k&&+-gZyCA6pT*9@miFTBfL%U#Q8 zxo+llF+g}~oy=X$S&z#rtjFs#=65EH!D}-9VLD+j6fO`C63!*uP56|KB^Qqj#b9Pr zbGbHVcjCOuxt2wV&OP`A2|Y0g#CU}6O*xvgF`2n}xPdnWF~k+e$LfEGex>V&x1VWe z`2M2j`hKDd{XbD{{XbDli1x%n;tLpKjAgk>TLO&D8HHJ3rw|pG3cX@7mMpo6aYC`){!cDEXA@9Hi=P{7NdKz7Pz(-nO$F}M`tO4pV(4*cfQo|K3LqTBB-c3L|Gn7=T4=`JE7}{p61h{&) zkTvG5`Nay=f}M2#03!xdxXz`4Nmoad2JOM@Of}XZw|)4Bhb;{Y7at37mSeejfE0!F za_nG=430#6`>{T`12%I(+!JEEG&;5UmCNAB{{T>fEJSt(waspU^M!OsRH}|Bhij7_ zOs1@J8Uf{p0ChMEj;b@T+3zofN@{HM+T;Grf`!calKK2V&~!*5r)!3mT@4kSLzUMZPsdnbRXAlIV-Z-bRYV#N8VQM1-=ViQ z#KrKHEZs-mC3GC{YL~n})|Fwa#y5+t>N|@sBq>z$v*ygLg?=E!N{FX;=)eF%>v#7N zJr6bqpnDf7Mwc0dr>+)px6NF;##B3o?p%~UHT04CDd@uKyJN9z-oH(2j6l$TUj zSInqEY6U8wbb<~cgNR_EpIs#iQ7gH&cOz#kea7)i3`(wSgEH5Eg0S%tnYmXon#{qu z--Po7N(f7daYVKH{K2>M{ms9BnX~$S;sf>hkMw_W)Ajj@Y(*Cl4MiBjM-t^#nMh_~ z-`{8nzrN5>%mn6UOVAj+M5tJVbBSMsQ9K8QMk2L{m{K-AzcUZl_Yb%IoL^rv=#9UR z#eV=(s%lAYOjItKH(VZ5ut9uf!#vH(z%E`|S(7l}QRD&M=%@zDU5kBK6)e0<>ihCnx$~IPu|q z>K!m5gerB!Y2jknB_qPLLr6yYYGhGmTW)s=NU+&eyly5FQTeUQrlGAz`oQI$krpsj zzI7}O&clQ5;3$~U(lcw7qsj=e5p-B=>%(TG&)39O)p1*XavfUN*q zvGl%JiMC@1Shl%c92w+*wg77)o=0dF0u)DL_3;h9)Zu`3#-m})XB4)|VZn%sun^Wu zMChaCa3CtiZo0WDrbGxuT&s80UHZUvReAxw@CHZ9eI!{2rNH!IMPrQkJ536nw1Y3A zweU+p0<~J#k;~X+Y+xuZ%bjd|s%5LTY2WH|I(Bg*M~}h&7pXMVKqW*F<{5Or$$x#N z7fhz}_u3|YzY*=v-)QUg{Y=Ahz}qd#%l1}*!TG-h*<>vO&L+GeS1+_qfJekQT8 z8xe6GNpvG(UKcPE3_64u3qmr0d%qCHgPhH|nOSYdd6vEor9>=~Cgs;Go$t&bk`Lic z$le!rcVN3<9}u1+@3ge~{6l|F)Y)GT)W?&aKT*s6pQxb!08i91{eB@F5KD-&QHa&J z+@)On%rw6Xm5epyFp-S4))2Ly zT`vgC!v*Tpj6gVpbj#}ok(8GM5JbFpHFCuYp-XJ)jxW479T|rl3m&jy)){zlJEXnV zL5zbd&5#2_)`0uVVsO~li*@NZ14*R4{{WKN3~W;0K2VDo(djlcVjlcOI=WUtfRwCp zv#Cw3BqA(jf`LvmQr-q|-t=E+6&(vkSp{1qC53~9PB$;a+W5H6l(0{!kE}%uKAscRlQ9|Ie%<5l*L5&^%0K^no zQ(@Znz$ntKdv{J)0BscqqL%^TDwIAT)l5agvf;d6NGoH`4#CNbnLSgX zz_+Cif-nZx0xpg4h9&}nJ1WU+@rW;wDJ{bpLn7O;}`6BQS2(jRcQJw+Jn zcbr4=f(H~o-z>Bbu!V+Wv~A~>y&!eNi%fTJ7C<3bfOg=I(e^VvqYeme63hWd(s$K` z()z$uePq1{7nq-jDiDPj!exe!AA|g0Wl2%EVYU%@`I|F0{{U!><~DN|IgM_9`@~(w zy~eURS(FB4VVHHfcRw=zW&F$8YD;Nmh`5bw!W=}zMI+f86BjbDh7!PpTmsvHZ@pjy zTWkAJ_H+Hr&-FG-V^*bGFqjgk0L`;xxw&-nLJ2s-_|=cU-2D3;&C1uX;YYn6^n6k^vt=P6tjtGtC#WMF1kMx zwL2M#I+WHmHQ6kpp($hrn*2e>_=83efWZVXO72v=Z^eHA320^-{kNcCd#(<|zN~oN zhvby)+Neujku)xPC&-|g!~%43ln+h7=`T6hnXd4T5batQxdtB#8Xf}Sc=|$O00<>t z`#8;Skza__Gi}~4Z1T;uJb*>q$(ZN zYr7os^T=noJM$G_%04W);`utTc{(6{y1nKTDQCAf8(Ei|x0DFR$HfrpsS7}-f zq%P)j0HI1XR|O&!)Lvsy%D}WD_9NO>Cd|fyrTjA02Ow(sl{rLSr4OVDEN4*X7?cIj z$Sibp-<%h0*+@qc@_<-20v+Wb3Sh}(zerTUreNG2C_~Z)g`=~ETFYMb6d9x|2w+2C zs@iGu!~_G{E8_Ulda;D?Gc>i;$Hm98C>w}#6s*Rr%<~QTilWrxIUWLI!$zXDE~w2> z9?VLD$N)7d5CkDA=4{Sk)1SGWMsxj6JNBkkvfIp6mV6YLTmY0@tV@|3%lVhS0K<8Q z1(yE+H3nnBrEUo!jLD7J|)yddf=^0o-3y^ZT1If^Hhq6@B{HfGGuZ{?&G zy>4L<%sqd|7^CG3Tds6!qXB7Vv7G0asx+i-*dIn1idOkS;6{U-%$5?YJIj|eS?3t9 zp1Y8n1JmclcU%NmqX66Gec<*hYA%jfpD2|q+ZMWlUvMKvcD99=4w?dv;JX`rqeJP@ z92g8h!ownf0Pk#1j~6Rm!~yDeVl~J$I1g^IK!XzWZmXwuESv51Ym+DD3$>`?+^*zo zJH@Z|BRV()O=;Exq5=(=2#2gGad(bjI1TYDDWu(W^_tr!usxQ?F+mz%S>O>Fo<(pU zLD2b(LDT}(ba}$&(aA`0ZLW^+u^yU0=c}px%RO&X3@lV^HEN7K=4QA}*zTUUoWg`s zWG74Q(xtyEM%Z(7Xsmk7>ow4C&3N*=nVng5wgt38n*n7U*-*jJiFj`R0Hz4K&==}r z7sj~&aF@E*T}qJT13B@1rOGd{Y-v}@>l%VWnzB2mC~$c(Hw|py>|Qk->tww6=*P>t z$2v;0RvtNy%}dHiu~vuLS^*dVNoHNkQ9!)q@Jz+&6Y{7QDJYqHctV3~q%L(C z=`v|Dt8qNpU@6MtvyYFkOg#?1^|zsEsu!i4e_|`yS7C3I!wk zGqO&KE*KfVP>_#*uHQvi-*s7il~Z=+&^z-9!_m8%GObNpgwr}~4MqPiNDKJt> zV$aL2@CXb^<`-QQ?5trQ$+%q8agga>sZ|@| zLB4{jpW3|0nF>DL)Hbf?jfcDyjTEXPWC7=c3KqR#!Am^Qipljki$BuxoB**rw=rGd ztar>gig24WN;fS>kK23PYNM(FhcJGX&_S?Gdx?4qD$k@kWvD?98i`4^I_(u!pXOp{ zk;2{5E_>^B<9EfB2t25gobx{bgHwXoRGh(E7zSfk!XBZRwEp~!2G!sBC{@6$OgFG0 zovn_DnO|kfB`XW*Gky69BTsIVSh;JVK&e)?wUuRi#-bWKuJM4Wl~;0IPu$zfjXg?Njbu6; z*raD)nBXLc+SD%x>yQ0=m@{#D2i}UPO@4psds}k}6zsp^@%;4^8}OyI=eOsUSYS7A zI*l4=5-&UZnin4zl|NH(j*-Zd7LUAEz)OEW7I4>8Jat+AmhJBt0|FU31SKNeKaARcy%TQdtfIBelJO1QSY z!Jy8HSU!n<%3VH1Z(dGR-P9GufuX~UaKLGC_j|`BRcG`}5 zub^)G<0)z0fjAMt3ML-~m5x~HsJ~ho%Uy^!FFyj7l7Jn<(@B#8YH+iYA;Sp!!h9Mu zkK}v7L)vOc2t}2*Xoj0KQJ(odRlIULIs7dlZ{Y@I7K|(n{I04+4zZt&i462+iVkzZ zA0ioQWEvl>uQ(i&=})T584u7LsxMmXytu*P-a@=%|b`ZZR*g5k zW;23cpFN48E!IAp^lJoFJrLH!7OF%O8WS$W##=>;-a4bnmRgPr)_l!QL4Mu&LIlSp zEG`PKP(;kEE>d^EVQ@4K1|QN3<(|Yi!Lj6{_`p)8fsAa9*eWk7SL!R`;3FauT8N~U zbOAMNb}P|qQ`h}{uGqk1@UuOlj2vPE17GGC8{96E$;2XCC<9R;3^0U%F)b><%E&O= z9RovE#rE6JJqlsWy5Gq-Q6K?#!wpd7Ct_Z%p+pzKEr1Ulp@wGbz=|L8>*7V!}y27@`^p zqn&2Nnif^e??V_7r}hFc&9gE#t#u_T}qRm%nb{;TdEe+V?XqxOHBg2 zFZOBPX$rS0>M|Wl*{5207;X5;R%neYqMZU@M%^4FUf@U5=5mvP6LQ!$h@7IdyU*<;!K{$(X@RjHU31~^4UH9L+JJb1rlSnBICsVgNX2EUf_ zdALn+`A;cTk2paIe|swY`SFnmU;xVa<3|wa`=wGs7=fnHD4LN0rqAvvz8?3xQ@)+K zaya-xTD)FEQC(UR!#PgSV58Sxq=*pAg={A4dPDW;2>ERe5~7J@NUCZl)?F9GRs)BZ zi)jE}drVBNAMbgfi5HvXZ13K(bTihOHhec#;lY^);LGn2lFvaBQ-)29Ih@ zW-(0+f6CaXce#!ciIlMxOlM}f;1a~w1t}1?D^Lf?So9GIj1#@%EUzvogrjAW6>-x9 zq}2-CU179-_6aqWBgU;xyd+}u7L>u_M|Ij6UjYi{aDaI;aGntkrNz%?E z!T~Ph8B*~K`XjxUB!b>A@}fk`i~>>63uZ;EPPGfDEchRGFUP5f$hI3ok7k-c7k2d| zI*k-owf*1T$k*Ta$ehq9GrG#Q5KrnY5Ls#LVe$1L0cNfPu|xN7!#btV-wXMRI(Nr# zBjT$?(@WsWglS!$%VTAUB{tk1VD%hyMkOj~Z>-o?Ywu9{of$}@qfPUx!1)goE*t(Z zQr-z)`gpFEbCdK5;L~9%QZFXCnyuIC4vQRNZE4o@Q}<2D*&Gk*`!#a-UEvT{oAe@a zal!olwDq^c?jc#K7#`Z=Ilc3ya!gdeiy=`Ko(o$owuF6xHz}7ng!SVK_*LA2Qjwb} zM{Bv>zaY;tw*|#&R0<&$=PS{&As^pQ5q8^k(&ic6TKT!5ntxY|QNCGXs*~mvKI+P~ zCHePerXdx+L#!4YsCUd%iOfn6?ITyQm3GES4U*>ov7y-LzR_-q%4|O3GD+adDNQt+ z+1uwfFCI#*I-8{kg8<=qcKsa~=AUpuZ-|&~d0RRVUBj6(9;1M9|#qPSU42c``{S>?$+6p{rQ*`KZ z7Q0I_+>K*4oMZ6=hq1~2$y%=~lW##JMkYxgEr=+&zNwYWo!t3RVkIaQ&7FFMm525- z;3Z8DqpXFF3S|w91sCi0G=ORssJ2hT58mc2sD6@RZJ@ z1x$Go1?l_74I%or6PWlFLuWm+rXbM~wEX%?iu9u)Tbn3r^t!UjBKSOJX9ql#yH&3f z0mvPBH+724T&KiGt)K2Y+p}B}oS$W0ov86*`jEpmA7P*_QKNhHD{2ldYfSo_>>Cdq ziZ?ExYJJDD=KPwF&bi7+GJcX8`$pcl9bCn)FY+bD33HM4KH8V!#fkbT0xA~P#oCn= zsuZ^eJ$-dS(ntDyN_2!|S`}=@&3wI18fNJ1%6)Tla|`f~lXB{33RG#%m*2xubb_st zMvU|Gi&wYyc8iL@P*51Dk@XCaVSMK(|=r_mel< zup!e2H&56e%WB^p(RJn*QZFQK1lyI3^aP5Gq004i400IBN(^txi;z^*3rB2prPW4m zmCYH$*VyHwRICP1qchp))fp2#oF8rc>u9qXIeJwG@WCznC)y@q%TyA`Sqa;26~1)U{We6<#^Ss zrvW`xL_&^~4IgW-D3`+EEs>KE!;B)?!g5C$qp*E5-ChkyXmwv08qE-{yzGcxL3|Mp zp_-!n9&m1{;MD(vS7RgF&rOr<_(tQvicjUnb$)`Zt^N?ountxBq>TKCrfY{aYAr1f z=g7FCG^UtY40e1)8OOB)#AZVf2tmOlU&YGN2^YxVLfL0lGT_li(-Kagw;yZoT|Svq z&PDX(Epp#@^W{g*xnR_hySMXN@|O)5K|UQ!xn5qI-vfIkefut-ASZw7Hf7OldVC7mE0YIyZY4ZL*@PI5&E9u$g*K2U*-prF6U7Mq^CL5eEQ z$q6?crCsvzny@T@{HL5gbx>fkOZFfki}l|#LaT3wa>!EaC|VhU2w~wiqZ|{Sq%9v0 z@X4b}^EPJ8*(%hUQP_0Lu*BRpVOWTS){n%eoHmpVhWqi17KR34rbn4hsqMdqfuP0oY_A7_I&l{Vw$)H$?haFrHDBowHRS&09VP*$C$gp4*f>l$K?@KEEy59kNmVa~ zBXCOVF_8V=^>WHRBF`PRy&we3(70{XV|g~qJX?F0upJPx>DJ&NqKPMt=?1AOJ4^WN zDVR`RbR(n@AG9NX4%f$?5OHb9Ysfd+&?=#A7Ld^vnsU%bt0&w8SnPxhD4jXvi@SGq z@A$>sm|?i@_9zX-R7Q^ZlH-r?(4PtSB7hLA$$>1hh##{#7>sbiah$OKPKEO=?4CvH zgEoPR0h-vNiZI+6(GkI92kja1XkeWoO|-Z*No7j5z}-OosH=;%h)vY~y_r&{)YpYC z$!B4}5=21}HXH+*o+V#E0D#;o5{xyVRf((QrsCsaWW2DF852TWrv0w0W%b8{=kas~ zmuW-p4|Z79W)Hi5{}9syQ;R@gv~0l<9`PLjQr}m2a*Ns3^4VuHfxtLzofI|wCR-4w z0PU>kv)gWe1eL_c>mlA)7k6gQmh}st4$1i8?(NH8{sH+z&!(Ui?YSQd4zopSYI2sf zg=($jnB6d=Dvt|*gBes*bW{|WG5y!50)V*iIJ5|OG<3Wm_rh63e0m;f8Oxxgx}S2| zI#$Wx-nm@@K3Oe~;QBt@6b63z|5{vlDL}cdNG;C=bV|)dU+)85b2-{rAs{$SP&O1t zo1loLT$-ksRevYdS;Rev#LlS!n4CVFWqconWvC|F`i*$6yg#rQ)nc zqO=Ce@oJpp#FA<@74>TT9U4vB_tv;AUjJNNkCHVTMwafl%$9%Tr5(e6%dX2pNFd9S zMpv!{hUl2G=tFdd$!>SnLj)C(UQ|iG;z%*uN|J&DW#h=lDN|Wc^aRPi_RtiuUABZ}OFoNj3%*}gbCfKI)_kg_ zz=*v`+4D`VpWZje1Bi0=n@oEL1lz~Jq(D2HnP7?0e!5~(w2~M3EBka2amg;Hl_xr z1&O!Ryq&=3BDt=jmRljWU4TH6zzgA-s z_@g|9U2G>lyVaK}JGMv!Cz`LcARGZwO+bg6s+wj`ibhz@+E-tp2OR?^o~-JHmwVJ> zi)}%Q#F9%U;mk*U6hwUWdd}cHwULmKla-M^7^4s!3mN5^ec04;wD#|G2J^uyQn`$0 zyz%yx@+dFtt?71i4@v|mga*C8AB?^%D(%K{+1(mEufnIf z?89F5OM#Pq3;TBl7>V;zb0hu8z^EH>M^kaI+lv%g)1Q!25~sM7Pos@iEF-kIuIn^z zz*V|<3IlNhmr4Keo(N&cDv3*jv)kU#6n7p5%g8&rDKw?p zs^*dtK%j_Px8O=0(@3^QWIG)vq@;qP7{w{CBci5Yl}C`X1!ivL@3D zcgA2%9iaNLuEE7eizJ)Dx-6c&hqS_?Omwj^0+&uJ_wgVUbX-9!?~jZoY&RJJWAkFO zMMaDoXAYX#t)QYkx8OPi0u}|*-a6SZr|;UqVI)2~goIg&P7P>U(gtyhpe_a)`9+(G zBh@b9a$1NS4e&eqPECkOxe8WMkZmo4)xMF$Wn>FO)uKR;WM<2N%`3m< zc=mSeUiQ`)d{@9O*<^cJ=7}iLshMS5F%EZISb@nRDc#1yfo`LKbX)kJ`!?xumtQ?t zE3{&HeIx3HLjlzW1@-ZBkn;8K+P18>NpCM?zyfMhY79|jH%A6EPQ zrUvDQ(>F0JeARXy2t5Td0MqZ;kRyfjR}6%nz7zAWqaC%IG5(-#Wlwxke33DY7!zJY zJ9wk_eP*p%>66`yoKx%e;rg0TMbtllXL4Ab^zD9=lhWF$&5`o+OSRw7qB|&H&F3Kw zdgxG{yb>_K)iU^$lf#ZwJuKa1Y$3U2rW2+#n~+jR+Ov z;h++ILSke}_(6>DMF)mKc|alFh;lRF+STu}*uFFoKN2}VBu!|Loq5pU+5rUVZ z^x(9UaOQg>5fbhbwB^P-eV_$yJCLBA4T|2R#vkEjm3j*sG5wzrV#uF*h9$hNi=tSH zf(YLdV~g=%JuG|LERUcR7JnKAc#rU|pq@$B_1I$h-Y~asB7Fh~OvU!^2lY{pzNL$> zFvBbrFkrW%Q*n1_p{d1t`$icM<6=^h`K4}~Zj+;b-FKu#jR%%M{9U2ljQR(xr&RP; z_y6Tsi&FpQP1WqrU!NLV?(W3@`NLVZXjsH1tQRyUS{{bo`zfIl5 zKPxFby^wXXz7OG_Z5h_KFZvK)JgvA*sgfV}T`Wan=lJPAT=F>4 zB&c8f?O~WA!YOmsTuE1Z0D zHk&9m*Flr8YUD^s2!`z}+R}cz#Jm~W3&9rX9jbfsFtHeu$BRlexw%ZQfhUDIU;W z%Jk?gM3$C5Z}kErAPCxSAN{TD$cFt*DfV{AhZLtKVA+&#g#~5Ev}Z!ypdW-l%+mBr z@79rM6gK%R@xPA(UE8EoZ&MDQ-l&XR{fZqN5Ku^=suY}E zKrRpb2wQwP!RlhF;Zn<5!9n?IYDS6%tvJDYXtJE-q$y%AcBctd`QqEY3SVB9(b`s0 zOw1e%a6-wTemu}32W?f%1ZdFQ98RZg&50Rprt|HMM(bxVmx0MhvLipzFyZ8WYwoU6 zt9-lU=c{k)?V7W+_SVqqp6P>r??SD!mc8`jP7GYT7a5h5n!+6aosX|Vd}xM3hN5fI z&msjfb}!z7$s%zzG8-|PfzP-yDL^;*tp#Z0)}Qo(PaX#pCXMi1 ze(*NM0YoJwfy2PP-|d4n#<_lWMfnqY#bTc)JY(x%Sb&B_RJd^nA``Rjg*kK>ADeO| zB2F`PR0oWQLPTsxRunl-rL(frr;yzU;pz}vao+S>e8R)g&{#cZw1Z$c5r)^Tt;BK% z&AMThF_--qSUC9EUe~~{WpmLp;Ww9;loZdK4*QI8LTgSXAxZB|P{NWKJY;ln>g@4e z^V=z<>!(93C&Y?|giz8vdVuF96mg*OD;Yex^5)2IIcLNXIFy*LGNLvZBkvLjaO5J0 z1l~suGHCPm5**y^z{AVDWv`&-nM`2KlS;|0`&KLtl<{)e8k;s#`Uaw!i>Vu9ufqo=6tg4@%pb5gt3Cz;RY zl0*{9C3eMA1rZhd=PNJZQFuQOI|4zqzTOk(!qJ%|GY~L)@R|s84?UsmocO zIDg$Lac#J1IImvjyGd1T4XV>bEQxnS)Vix{g2Gif%b9P4A4Fx}-P0wBgyDu=kFCZ| zrCqu+{h-`XP5cl=x%r>%uz}(CmCv;w=2?vCa&sayq3o}`BEZALTY#XETW0e{doP!YVy>5* zq-Qgl0Zb-TAI)_6PF<=uwZ0p^i}XHj#Eo-*K(IhSD2d_b$ZQmZ?Oengj?@Szze3?i z=mUY{*~b5A%TWXSM&#YKjV%c{Gk}%kDCP_<={1_h=3pm;}Sw_ zw+hB5mzM+A3j<%@2W|4?++6kC{xZk5u`e_l6gi`h!0}h)rRJ_6q!}6b zCOr`G325yBdG5C?L#hlG-z1ZLDkI*`cn54f%;;U>d*4Q!l>+4QjptO=Cf^fD=NU9l zd(q@^2~Q>39OV?>KY;o#Fs@qytrg0gA3`k8cq(hXGKSBNgwi_U%9D6aQT17k@TbEG zuqXXRJv~23pO=8|6e4c>!wF>2dlV=bN6x2!Ee+8`55#b#(t)tqBeyiG0lV2N2YEC( zeKnuAVXg&_wqX>};oE%~kd~j_=j)HKsortR&yX&S?l9jZGfo!! zCU%*(Kzhv1){QHhubp`(Ee5n1tN3`ss=__2oNP``zTrM+2XTmTHoU?eR`n%86VZq| zJ;Lm~SnP!);F`x4k9tsH@=1zVPMeXwK>ENxfN@`TUYw4(L4?no8El9V2M@0zDs#F*ypkm!Manmz8D!fUWjx6$ETKOz9`*J8(U$tRqjG4 z?6_54wz#H8UYOS||t85MD zC=B~-m_x60^&95eNt5P$p%RW80%0fLJe@lFqhg-cAu1}Q;0m3?Grct?e#V?ZbrnD1 zO++jVEh@JHL(`4&KEXq6|IH*Z0vg&~mK1(x#Djc_1*)B$u=isG1!e@2%q61u*7IP6 zDcu+=`32y6W!r>5qM#79$W=Exn_w?<(LHriP!vus9I-OJDBGg8e0EB{voVf~>cub2 zp5j&3Y94>A3Ok=@7RVlc?4&tcTfw6Zs|ao=_u|ZWJZ_juIf^Tz*$6*cYL$UM5#n%> z8-9C#fjU+$8gFUvKY)D?jFONbFXttQT@aR{W;;J02>?OYhCP2!J%m6)#FRY9lS5d8 z-%aErgHt8*P!yFQUu_SzO8%jyH}3`zA!8v{lWSsCbJ4~F}pM> zw*tnoj+9miNJ=VuUw_7L%Pe zp?vV7PcvPJv1seXB2YR&twEgTORnBRcLRT=Ys4+q0By;5!kv(H#J1~E@f(i^E$~^K zjg;^9UXw8KkfMdhj#04kp~KtjNuzb9ER|P%Vj{P5%RW7M_8w`PP*+9@<9^x-%AcKDK6D^kHNMFnv zRiyJ8h>#1TN6G_3B;~Gu2T}{dsR*8QP<6)QGH-RoA zC#N$2dSE0lcQh5!Y;8_e%_H*fl_Z*F4VelDY{&QVJYJy$07SYJPYL|Qd`Oy=6?x6F zfLF_v!pWi(g$O^(Fb5Q-Lso&qGcZh%}gAT+R>7V}KiRM81fd-yv=ZGPW1;=_?X# zk-%Efj9t$bC$kOL{N{tG;@19~b15rtECX|J61-e_sk_JEkfV919zi{y&2guGsry3r z^SCFGlzjstF&ucP?98P=)_H%aTWf!UwKXpC$yuH+5{h)RzGt-G+ww>azC9cZ4 z8xvIwtvSN*vidUL-ywx?wcyW1vw;6s3ZEl!k#Dl_XN>nbbpUttUPwV3yg-MEeA&+u z_gi{VHV45JVZOJAk0<{CaGuE{-D}^_-$}YXBfAYqxo+CGwWOJk&9n$gs5&`)PHJJF z570ZNq~4>JbH@_G9te!6rk1`WiMYtQraIbkQ=)U{&(pvk9Z!ee#wT237q&)_BkxJc zEn^pU_2c|*2xRsZx+#n&aEA!}-`6pmKFslAuM6+_dVXM|8k49&x(26^;r`LVN{>lo zUPAdUTmo}Pz$=GfSZ49fdhEWbM^>fXIiT(8AFBEos)6?wn_VKaOw=duF z#Qzof|7~SS!Ma&eux^(8@wek6km#?AmsImlFM$WgNrY2e`8wg%9b;W3>}xe59E*GI zXbHK6?jbsXNs;c>Mn5~DD@I8VrfqM~y+7v4f?Inb-O2+Zb(N3)#s)2l2DwCM*CJsG zZbPNN>2Y?@$J$u^sbl~ZIywqw^7IPFi0z%4v|(<~JEF18|N}kdB?_&&rR2Ll^J(@RBNVc_Ho>k+)g)LF+buzNOS&vh0KU{F=|* j+NH>1N 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 G`F{ZJu+V-0 literal 0 HcmV?d00001 diff --git a/source/images/projects/faire-lyrics.jpg b/source/images/projects/faire-lyrics.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a2e88755a38b4c0c68f0c8e079608be895c4bae4 GIT binary patch literal 14438 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 W3>peR%w|MQ6eaJoZXd!wbN>s~-04XG literal 0 HcmV?d00001 diff --git a/source/images/projects/heart-points.jpg b/source/images/projects/heart-points.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f6ec018c8c2242ecf5df539d0fa684f163ec2df1 GIT binary patch literal 41506 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⪙7% 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 V2CV5I{j~hdD6zJ;Hv6B2{|B)$(m4PC literal 0 HcmV?d00001 diff --git a/source/images/projects/personal-site.jpg b/source/images/projects/personal-site.jpg new file mode 100644 index 0000000000000000000000000000000000000000..833eb24df86327aa658c9343d34620ecd15918c5 GIT binary patch literal 57776 zcmce-1zeO(_dmRpQVK{2(jZ7ncS|lMOD`oI%hDmKA|;a2EFqmsFCEfKcP*iyq<|

m)yno&Q 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 Mh|$0p_CJUJ1-B}PEC2ui literal 0 HcmV?d00001 diff --git a/themes/tgt/layout/_partial/article.ejs b/themes/tgt/layout/_partial/article.ejs index 57a4a89e..a7c42d15 100644 --- a/themes/tgt/layout/_partial/article.ejs +++ b/themes/tgt/layout/_partial/article.ejs @@ -1,6 +1,4 @@ -

-
-

<%= post.title %>

-
- <%- post.content %> -
+
+

<%= post.title %>

+
+
<%- post.content %>
diff --git a/themes/tgt/layout/layout.ejs b/themes/tgt/layout/layout.ejs index 81f58148..d0e7fc5c 100644 --- a/themes/tgt/layout/layout.ejs +++ b/themes/tgt/layout/layout.ejs @@ -5,8 +5,8 @@ <%- partial('_partial/head') %> - +
diff --git a/themes/tgt/layout/page.ejs b/themes/tgt/layout/page.ejs deleted file mode 100644 index 825754db..00000000 --- a/themes/tgt/layout/page.ejs +++ /dev/null @@ -1 +0,0 @@ -<%- partial('_partial/article', { post: page, index: false }) %> diff --git a/themes/tgt/layout/page.hbs b/themes/tgt/layout/page.hbs new file mode 100644 index 00000000..4872f4e1 --- /dev/null +++ b/themes/tgt/layout/page.hbs @@ -0,0 +1,26 @@ + +
+

{{page.title}}

+
+
+ {{#each site.data.projects}} +
  • +
    + +
    +

    {{this.name}}

    +

    {{this.description}}

    +
    +
    +
    +
  • + {{/each}} +
    diff --git a/themes/tgt/source/style.scss b/themes/tgt/source/style.scss new file mode 100644 index 00000000..a1dadc8f --- /dev/null +++ b/themes/tgt/source/style.scss @@ -0,0 +1,14 @@ +@import 'style/variables'; +@import 'style/resets'; +@import 'style/mixins'; + +// Utilities + +.constrained { + padding-inline: var(--padding); + + @include respond-to('tablet') { + margin: 0 auto; + max-width: 50rem; + } +} diff --git a/themes/tgt/source/style/_mixins.scss b/themes/tgt/source/style/_mixins.scss new file mode 100644 index 00000000..b5b445f2 --- /dev/null +++ b/themes/tgt/source/style/_mixins.scss @@ -0,0 +1,11 @@ +@mixin respond-to($device) { + $min-width: map-get($breakpoints, $device); + + @if $min-width { + @media (min-width: $min-width) { + @content; + } + } @else { + @error "Unknown device #{$device}. Supported devices are #{map-keys($breakpoints)}."; + } +} \ No newline at end of file diff --git a/themes/tgt/source/style/_resets.scss b/themes/tgt/source/style/_resets.scss new file mode 100644 index 00000000..48a2c79f --- /dev/null +++ b/themes/tgt/source/style/_resets.scss @@ -0,0 +1,26 @@ +* { + box-sizing: inherit; + line-height: inherit; + margin: 0; + padding: 0; +} + +:root { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + -webkit-tap-highlight-color: #0000; + -webkit-touch-callout: none; + box-sizing: border-box; + font-size: 62.5%; +} + +body { + box-sizing: border-box; + height: 100%; + line-height: 1; +} + +a { + color: inherit; + text-decoration: none; +} diff --git a/themes/tgt/source/style/_variables.scss b/themes/tgt/source/style/_variables.scss new file mode 100644 index 00000000..5c2f4c54 --- /dev/null +++ b/themes/tgt/source/style/_variables.scss @@ -0,0 +1,13 @@ +// TODO: What values work well here? +$breakpoints: ( + 'tablet': 500px, + 'desktop': 1200px, +); + +$padding-base: 1rem; + +// CSS variables + +:root { + --padding: $padding-base; +} \ No newline at end of file From 3b40b32bd1a5d2c09129b4d28effa21eaf4456b9 Mon Sep 17 00:00:00 2001 From: "Tim G. Thomas" Date: Sat, 20 Jul 2024 19:03:06 -0500 Subject: [PATCH 07/13] refine layout --- source/projects/index.md | 2 +- source/speaking/index.md | 2 +- themes/tgt/layout/_partial/article.ejs | 4 ++-- themes/tgt/layout/{page.hbs => _partial/list.hbs} | 7 +++---- themes/tgt/layout/_partial/masthead.hbs | 4 ++++ themes/tgt/layout/layout.ejs | 9 +++------ themes/tgt/layout/page.ejs | 1 + themes/tgt/source/style.scss | 10 ++++------ themes/tgt/source/style/_resets.scss | 4 ++++ themes/tgt/source/style/_variables.scss | 14 ++++++++++---- 10 files changed, 33 insertions(+), 24 deletions(-) rename themes/tgt/layout/{page.hbs => _partial/list.hbs} (71%) create mode 100644 themes/tgt/layout/_partial/masthead.hbs create mode 100644 themes/tgt/layout/page.ejs diff --git a/source/projects/index.md b/source/projects/index.md index 6c532429..4862eff7 100644 --- a/source/projects/index.md +++ b/source/projects/index.md @@ -1,4 +1,4 @@ -data: projects +dataKey: projects layout: projects title: Projects --- diff --git a/source/speaking/index.md b/source/speaking/index.md index 8ef9dc9e..a930f02d 100644 --- a/source/speaking/index.md +++ b/source/speaking/index.md @@ -1,4 +1,4 @@ -data: talks +dataKey: talks layout: speaking title: Speaking --- diff --git a/themes/tgt/layout/_partial/article.ejs b/themes/tgt/layout/_partial/article.ejs index a7c42d15..bba8bcb4 100644 --- a/themes/tgt/layout/_partial/article.ejs +++ b/themes/tgt/layout/_partial/article.ejs @@ -1,4 +1,4 @@
    -

    <%= post.title %>

    +

    <%= post.title %>

    -
    <%- post.content %>
    +
    <%- post.content %>
    diff --git a/themes/tgt/layout/page.hbs b/themes/tgt/layout/_partial/list.hbs similarity index 71% rename from themes/tgt/layout/page.hbs rename to themes/tgt/layout/_partial/list.hbs index 4872f4e1..2a0ea903 100644 --- a/themes/tgt/layout/page.hbs +++ b/themes/tgt/layout/_partial/list.hbs @@ -1,9 +1,8 @@ -
    -

    {{page.title}}

    +

    {{page.title}}

    -
    - {{#each site.data.projects}} +
    + {{#each data}}
  • diff --git a/themes/tgt/layout/_partial/masthead.hbs b/themes/tgt/layout/_partial/masthead.hbs new file mode 100644 index 00000000..791bbff7 --- /dev/null +++ b/themes/tgt/layout/_partial/masthead.hbs @@ -0,0 +1,4 @@ +
    +

    {{config.title}}

    + {{partial '_partial/nav'}} +
    diff --git a/themes/tgt/layout/layout.ejs b/themes/tgt/layout/layout.ejs index d0e7fc5c..fb338540 100644 --- a/themes/tgt/layout/layout.ejs +++ b/themes/tgt/layout/layout.ejs @@ -9,16 +9,13 @@ -
    -

    <%= config.title %>

    - <%- partial('_partial/nav') %> -
    -
    <%- body %>
    + <%- partial('_partial/masthead') %> +
    <%- body %>
    Site data
    <%= JSON.stringify(site.pages, null, 2) %>
    -
    +

    © <%= config.author %>. All rights reserved.

    diff --git a/themes/tgt/layout/page.ejs b/themes/tgt/layout/page.ejs new file mode 100644 index 00000000..131f1553 --- /dev/null +++ b/themes/tgt/layout/page.ejs @@ -0,0 +1 @@ +<%- partial('_partial/list', { data: site.data[page.dataKey] }) %> diff --git a/themes/tgt/source/style.scss b/themes/tgt/source/style.scss index a1dadc8f..3a2fa48b 100644 --- a/themes/tgt/source/style.scss +++ b/themes/tgt/source/style.scss @@ -4,11 +4,9 @@ // Utilities -.constrained { +.constrain { + display: grid; + grid-template-columns: var(--measure); + justify-content: center; padding-inline: var(--padding); - - @include respond-to('tablet') { - margin: 0 auto; - max-width: 50rem; - } } diff --git a/themes/tgt/source/style/_resets.scss b/themes/tgt/source/style/_resets.scss index 48a2c79f..8306dc41 100644 --- a/themes/tgt/source/style/_resets.scss +++ b/themes/tgt/source/style/_resets.scss @@ -24,3 +24,7 @@ a { color: inherit; text-decoration: none; } + +img { + max-width: 100%; +} diff --git a/themes/tgt/source/style/_variables.scss b/themes/tgt/source/style/_variables.scss index 5c2f4c54..e640c0e0 100644 --- a/themes/tgt/source/style/_variables.scss +++ b/themes/tgt/source/style/_variables.scss @@ -1,7 +1,7 @@ // TODO: What values work well here? $breakpoints: ( - 'tablet': 500px, - 'desktop': 1200px, + "tablet": 500px, + "desktop": 1200px, ); $padding-base: 1rem; @@ -9,5 +9,11 @@ $padding-base: 1rem; // CSS variables :root { - --padding: $padding-base; -} \ No newline at end of file + // TODO: Test and adjust for safe areas + --measure: min(50rem, calc(100vw - var(--padding-comfy))); + + // TODO: Looks like this doesn't get replaced in prod? + --padding: 1rem; // $padding-base; + --padding-comfy: calc(2 * var(--padding)); + --padding-cozy: calc(var(--padding) / 2); +} From b6b839bf716d9d9451dd0fcbcc9771e4c0a2baec Mon Sep 17 00:00:00 2001 From: "Tim G. Thomas" Date: Sat, 20 Jul 2024 21:44:05 -0500 Subject: [PATCH 08/13] add stylelint --- .stylelintrc.json | 3 + package-lock.json | 2365 ++++++++++++++++++++++- package.json | 7 +- themes/tgt/source/style/_mixins.scss | 4 +- themes/tgt/source/style/_variables.scss | 1 - 5 files changed, 2308 insertions(+), 72 deletions(-) create mode 100644 .stylelintrc.json diff --git a/.stylelintrc.json b/.stylelintrc.json new file mode 100644 index 00000000..eff25609 --- /dev/null +++ b/.stylelintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "stylelint-config-standard-scss" +} diff --git a/package-lock.json b/package-lock.json index df6fad10..a937a77a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,9 @@ "hexo-renderer-marked": "^6.3.0", "hexo-renderer-sass": "^0.5.0", "hexo-renderer-stylus": "^3.0.1", - "hexo-server": "^3.0.0" + "hexo-server": "^3.0.0", + "stylelint": "^16.7.0", + "stylelint-config-standard-scss": "^13.1.0" } }, "../../../../lib/hexo-theme-tgt": { @@ -41,6 +43,267 @@ "dev": true, "license": "MIT" }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true, + "license": "ISC" + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true, + "license": "ISC" + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.7.1.tgz", + "integrity": "sha512-2SJS42gxmACHgikc1WGesXLIT8d/q2l0UFM7TaEeIzdFCE/FPMtTiizcPGGJtlPo2xuQzY09OhrLTzRxqJqwGw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^2.4.1" + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.4.1.tgz", + "integrity": "sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18" + } + }, + "node_modules/@csstools/media-query-list-parser": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.13.tgz", + "integrity": "sha512-XaHr+16KRU9Gf8XLi3q8kDlI18d5vzKSKCY510Vrtc9iNR0NJzbY9hhTmwhzYZj/ZwGL4VmB3TA9hJW0Um2qFA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.1.1.tgz", + "integrity": "sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.13" + } + }, + "node_modules/@dual-bundle/import-meta-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", + "integrity": "sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -166,6 +429,23 @@ "dev": true, "license": "MIT" }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, "node_modules/ansi-regex": { "version": "5.0.1", "dev": true, @@ -210,6 +490,16 @@ "dev": true, "license": "Python-2.0" }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/arraybuffer.slice": { "version": "0.0.7", "dev": true, @@ -220,6 +510,16 @@ "dev": true, "license": "MIT" }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/async": { "version": "1.5.2", "dev": true, @@ -261,6 +561,24 @@ "url": "https://tidelift.com/funding/github/npm/autoprefixer" } }, + "node_modules/autoprefixer/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, "node_modules/axios": { "version": "0.21.4", "dev": true, @@ -338,11 +656,13 @@ } }, "node_modules/braces": { - "version": "3.0.2", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -463,6 +783,16 @@ "node": ">= 0.8" } }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/camel-case": { "version": "4.1.2", "dev": true, @@ -557,6 +887,13 @@ "dev": true, "license": "MIT" }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true, + "license": "MIT" + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -674,6 +1011,33 @@ "node": ">= 0.6" } }, + "node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "dev": true, @@ -687,6 +1051,43 @@ "node": ">= 8" } }, + "node_modules/css-functions-list": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.2.tgz", + "integrity": "sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12 || >=16" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/cssom": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", @@ -811,13 +1212,26 @@ "node": ">= 0.8.0" } }, - "node_modules/dlv": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/dom-serializer": { - "version": "1.3.2", + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/dom-serializer": { + "version": "1.3.2", "dev": true, "license": "MIT", "dependencies": { @@ -1064,6 +1478,26 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, "node_modules/escalade": { "version": "3.1.1", "dev": true, @@ -1077,6 +1511,16 @@ "dev": true, "license": "MIT" }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/escodegen": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", @@ -1144,6 +1588,13 @@ "dev": true, "license": "MIT" }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, "node_modules/fast-equals": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-3.0.3.tgz", @@ -1151,6 +1602,63 @@ "dev": true, "license": "MIT" }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-uri": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-9.0.0.tgz", + "integrity": "sha512-6MgEugi8p2tiUhqO7GnPsmbCCzj0YRCwwaTbpGRyKZesjRSzkqkAE9fPp7V2yMs5hwfgbQLgdvSSkGNg1s5Uvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/filelist": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", @@ -1185,7 +1693,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "license": "MIT", "dependencies": { @@ -1224,6 +1734,27 @@ "node": ">=8" } }, + "node_modules/flat-cache": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-5.0.0.tgz", + "integrity": "sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.3.1", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true, + "license": "ISC" + }, "node_modules/follow-redirects": { "version": "1.14.5", "dev": true, @@ -1349,6 +1880,75 @@ "node": ">= 6" } }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true, + "license": "MIT" + }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -1486,6 +2086,24 @@ "postcss": "^7.0.7" } }, + "node_modules/hexo-autoprefixer/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, "node_modules/hexo-browsersync": { "version": "0.3.0", "dev": true, @@ -2415,6 +3033,19 @@ "node": ">=12" } }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/htmlparser2": { "version": "6.1.0", "dev": true, @@ -2567,6 +3198,16 @@ "node": ">=0.10.0" } }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, "node_modules/immutable": { "version": "3.8.2", "dev": true, @@ -2575,6 +3216,43 @@ "node": ">=0.10.0" } }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, "node_modules/indexof": { "version": "0.0.1", "dev": true @@ -2596,6 +3274,20 @@ "dev": true, "license": "ISC" }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, "node_modules/is-binary-path": { "version": "2.1.0", "dev": true, @@ -2668,6 +3360,8 @@ }, "node_modules/is-number": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, "license": "MIT", "engines": { @@ -2748,6 +3442,13 @@ "dev": true, "license": "MIT" }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, "node_modules/js-yaml": { "version": "4.1.0", "dev": true, @@ -2818,6 +3519,27 @@ } } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, "node_modules/jsonfile": { "version": "3.0.1", "dev": true, @@ -2836,10 +3558,44 @@ ], "license": "MIT" }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/known-css-properties": { + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.34.0.tgz", + "integrity": "sha512-tBECoUqNFbyAY4RrbqsBQqDFpGXAEbdD5QKr8kACx3+rnArmuuR22nKQWKazvp07N9yjTyDZaw/20UIH8tL9DQ==", + "dev": true, + "license": "MIT" + }, "node_modules/limiter": { "version": "1.1.5", "dev": true }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, "node_modules/localtunnel": { "version": "2.0.2", "dev": true, @@ -2958,6 +3714,13 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true, + "license": "MIT" + }, "node_modules/lower-case": { "version": "2.0.2", "dev": true, @@ -2989,6 +3752,47 @@ "node": ">= 12" } }, + "node_modules/mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/meow": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, "node_modules/micro-memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/micro-memoize/-/micro-memoize-4.1.2.tgz", @@ -2997,12 +3801,14 @@ "license": "MIT" }, "node_modules/micromatch": { - "version": "4.0.4", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "dev": true, "license": "MIT", "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.3", + "picomatch": "^2.3.1" }, "engines": { "node": ">=8.6" @@ -3121,8 +3927,27 @@ "dev": true, "license": "MIT" }, - "node_modules/negotiator": { - "version": "0.6.2", + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.2", "dev": true, "license": "MIT", "engines": { @@ -3317,6 +4142,38 @@ "node": ">=6" } }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/parse5": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", @@ -3403,13 +4260,25 @@ "dev": true, "license": "MIT" }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/picocolors": { "version": "0.2.1", "dev": true, "license": "ISC" }, "node_modules/picomatch": { - "version": "2.3.0", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "license": "MIT", "engines": { @@ -3433,26 +4302,130 @@ } }, "node_modules/postcss": { - "version": "7.0.39", + "version": "8.4.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", + "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" }, "engines": { - "node": ">=6.0.0" + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true, + "license": "MIT" + }, + "node_modules/postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "dev": true, + "license": "MIT" + }, + "node_modules/postcss-safe-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.0.tgz", + "integrity": "sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": ">=18.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-scss": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", + "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-scss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.4.29" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", + "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" } }, "node_modules/postcss-value-parser": { - "version": "4.1.0", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true, "license": "MIT" }, + "node_modules/postcss/node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true, + "license": "ISC" + }, "node_modules/pretty-hrtime": { "version": "1.0.3", "dev": true, @@ -3512,6 +4485,27 @@ "dev": true, "license": "MIT" }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/range-parser": { "version": "1.2.1", "dev": true, @@ -3576,6 +4570,16 @@ "node": ">=0.10.0" } }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/require-main-filename": { "version": "2.0.0", "dev": true, @@ -3604,6 +4608,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/resp-modifier": { "version": "6.0.2", "dev": true, @@ -3615,6 +4629,17 @@ "node": ">= 0.8.0" } }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, "node_modules/rfdc": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", @@ -3622,6 +4647,30 @@ "dev": true, "license": "MIT" }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, "node_modules/rx": { "version": "4.1.0", "dev": true, @@ -3869,6 +4918,47 @@ "node": ">=8" } }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, "node_modules/socket.io": { "version": "2.4.0", "dev": true, @@ -4054,42 +5144,290 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ], + "license": "MIT" + }, + "node_modules/string-width": { + "version": "4.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylelint": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.7.0.tgz", + "integrity": "sha512-Q1ATiXlz+wYr37a7TGsfvqYn2nSR3T/isw3IWlZQzFzCNoACHuGBb6xBplZXz56/uDRJHIygxjh7jbV/8isewA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + }, + { + "type": "github", + "url": "https://github.com/sponsors/stylelint" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/media-query-list-parser": "^2.1.13", + "@csstools/selector-specificity": "^3.1.1", + "@dual-bundle/import-meta-resolve": "^4.1.0", + "balanced-match": "^2.0.0", + "colord": "^2.9.3", + "cosmiconfig": "^9.0.0", + "css-functions-list": "^3.2.2", + "css-tree": "^2.3.1", + "debug": "^4.3.5", + "fast-glob": "^3.3.2", + "fastest-levenshtein": "^1.0.16", + "file-entry-cache": "^9.0.0", + "global-modules": "^2.0.0", + "globby": "^11.1.0", + "globjoin": "^0.1.4", + "html-tags": "^3.3.1", + "ignore": "^5.3.1", + "imurmurhash": "^0.1.4", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.34.0", + "mathml-tag-names": "^2.1.3", + "meow": "^13.2.0", + "micromatch": "^4.0.7", + "normalize-path": "^3.0.0", + "picocolors": "^1.0.1", + "postcss": "^8.4.39", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^7.0.0", + "postcss-selector-parser": "^6.1.0", + "postcss-value-parser": "^4.2.0", + "resolve-from": "^5.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^7.1.0", + "supports-hyperlinks": "^3.0.0", + "svg-tags": "^1.0.0", + "table": "^6.8.2", + "write-file-atomic": "^5.0.1" + }, + "bin": { + "stylelint": "bin/stylelint.mjs" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/stylelint-config-recommended": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.1.tgz", + "integrity": "sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + }, + { + "type": "github", + "url": "https://github.com/sponsors/stylelint" + } + ], + "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "stylelint": "^16.1.0" + } + }, + "node_modules/stylelint-config-recommended-scss": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-14.1.0.tgz", + "integrity": "sha512-bhaMhh1u5dQqSsf6ri2GVWWQW5iUjBYgcHkh7SgDDn92ijoItC/cfO/W+fpXshgTQWhwFkP1rVcewcv4jaftRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-scss": "^4.0.9", + "stylelint-config-recommended": "^14.0.1", + "stylelint-scss": "^6.4.0" + }, + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "postcss": "^8.3.3", + "stylelint": "^16.6.1" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + } + } + }, + "node_modules/stylelint-config-standard": { + "version": "36.0.1", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-36.0.1.tgz", + "integrity": "sha512-8aX8mTzJ6cuO8mmD5yon61CWuIM4UD8Q5aBcWKGSf6kg+EC3uhB+iOywpTK4ca6ZL7B49en8yanOFtUW0qNzyw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + }, + { + "type": "github", + "url": "https://github.com/sponsors/stylelint" + } + ], + "license": "MIT", + "dependencies": { + "stylelint-config-recommended": "^14.0.1" + }, + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "stylelint": "^16.1.0" + } + }, + "node_modules/stylelint-config-standard-scss": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-13.1.0.tgz", + "integrity": "sha512-Eo5w7/XvwGHWkeGLtdm2FZLOMYoZl1omP2/jgFCXyl2x5yNz7/8vv4Tj6slHvMSSUNTaGoam/GAZ0ZhukvalfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "stylelint-config-recommended-scss": "^14.0.0", + "stylelint-config-standard": "^36.0.0" + }, + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "postcss": "^8.3.3", + "stylelint": "^16.3.1" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + } + } }, - "node_modules/string-width": { - "version": "4.2.3", + "node_modules/stylelint-scss": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.4.1.tgz", + "integrity": "sha512-+clI2bQC2FPOt06ZwUlXZZ95IO2C5bKTP0GLN1LNQPVvISfSNcgMKv/VTwym1mK9vnqhHbOk8lO4rj4nY7L9pw==", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "known-css-properties": "^0.34.0", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-selector-parser": "^6.1.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=8" + "node": ">=18.12.0" + }, + "peerDependencies": { + "stylelint": "^16.0.2" } }, - "node_modules/strip-ansi": { + "node_modules/stylelint/node_modules/ansi-regex": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/stylelint/node_modules/balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true, + "license": "MIT" + }, + "node_modules/stylelint/node_modules/debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "ms": "2.1.2" }, "engines": { - "node": ">=8" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/strip-indent": { - "version": "3.0.0", + "node_modules/stylelint/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/stylelint/node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true, + "license": "ISC" + }, + "node_modules/stylelint/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "license": "MIT", "dependencies": { - "min-indent": "^1.0.0" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/stylus": { @@ -4163,6 +5501,20 @@ "node": ">=8" } }, + "node_modules/supports-hyperlinks": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz", + "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=14.18" + } + }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -4176,6 +5528,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, "node_modules/symbol-observable": { "version": "1.0.1", "dev": true, @@ -4191,6 +5549,23 @@ "dev": true, "license": "MIT" }, + "node_modules/table": { + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", + "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/text-table": { "version": "0.2.0", "dev": true, @@ -4236,14 +5611,6 @@ "node": ">=0.10.0" } }, - "node_modules/tfunk/node_modules/escape-string-regexp": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/tfunk/node_modules/strip-ansi": { "version": "3.0.1", "dev": true, @@ -4297,6 +5664,8 @@ }, "node_modules/to-regex-range": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4582,6 +5951,20 @@ "dev": true, "license": "ISC" }, + "node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/ws": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", @@ -4679,6 +6062,159 @@ "integrity": "sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==", "dev": true }, + "@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dev": true, + "requires": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "dependencies": { + "picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + } + } + }, + "@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "dev": true + }, + "@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@csstools/css-parser-algorithms": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.7.1.tgz", + "integrity": "sha512-2SJS42gxmACHgikc1WGesXLIT8d/q2l0UFM7TaEeIzdFCE/FPMtTiizcPGGJtlPo2xuQzY09OhrLTzRxqJqwGw==", + "dev": true, + "requires": {} + }, + "@csstools/css-tokenizer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.4.1.tgz", + "integrity": "sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg==", + "dev": true + }, + "@csstools/media-query-list-parser": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.13.tgz", + "integrity": "sha512-XaHr+16KRU9Gf8XLi3q8kDlI18d5vzKSKCY510Vrtc9iNR0NJzbY9hhTmwhzYZj/ZwGL4VmB3TA9hJW0Um2qFA==", + "dev": true, + "requires": {} + }, + "@csstools/selector-specificity": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.1.1.tgz", + "integrity": "sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==", + "dev": true, + "requires": {} + }, + "@dual-bundle/import-meta-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", + "integrity": "sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, "@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -4764,6 +6300,18 @@ } } }, + "ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + } + }, "ansi-regex": { "version": "5.0.1", "dev": true @@ -4791,6 +6339,12 @@ "version": "2.0.1", "dev": true }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, "arraybuffer.slice": { "version": "0.0.7", "dev": true @@ -4799,6 +6353,12 @@ "version": "2.0.6", "dev": true }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, "async": { "version": "1.5.2", "dev": true @@ -4824,6 +6384,18 @@ "picocolors": "^0.2.1", "postcss": "^7.0.32", "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } } }, "axios": { @@ -4881,10 +6453,12 @@ } }, "braces": { - "version": "3.0.2", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "requires": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" } }, "browser-sync": { @@ -4974,6 +6548,12 @@ "version": "3.0.0", "dev": true }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, "camel-case": { "version": "4.1.2", "dev": true, @@ -5036,6 +6616,12 @@ "version": "1.1.4", "dev": true }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -5119,6 +6705,18 @@ "version": "0.4.1", "dev": true }, + "cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "requires": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + } + }, "cross-spawn": { "version": "7.0.3", "dev": true, @@ -5128,6 +6726,28 @@ "which": "^2.0.1" } }, + "css-functions-list": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.2.tgz", + "integrity": "sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==", + "dev": true + }, + "css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "requires": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + } + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, "cssom": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", @@ -5213,6 +6833,15 @@ "version": "1.0.1", "dev": true }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, "dlv": { "version": "1.1.3", "dev": true @@ -5378,6 +7007,21 @@ "version": "2.2.0", "dev": true }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, "escalade": { "version": "3.1.1", "dev": true @@ -5386,6 +7030,12 @@ "version": "1.0.3", "dev": true }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, "escodegen": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", @@ -5422,12 +7072,61 @@ "version": "4.0.7", "dev": true }, - "fast-equals": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-3.0.3.tgz", - "integrity": "sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg==", + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-equals": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-3.0.3.tgz", + "integrity": "sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg==", + "dev": true + }, + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-uri": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true }, + "fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-9.0.0.tgz", + "integrity": "sha512-6MgEugi8p2tiUhqO7GnPsmbCCzj0YRCwwaTbpGRyKZesjRSzkqkAE9fPp7V2yMs5hwfgbQLgdvSSkGNg1s5Uvw==", + "dev": true, + "requires": { + "flat-cache": "^5.0.0" + } + }, "filelist": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", @@ -5458,7 +7157,9 @@ } }, "fill-range": { - "version": "7.0.1", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "requires": { "to-regex-range": "^5.0.1" @@ -5485,6 +7186,22 @@ "path-exists": "^4.0.0" } }, + "flat-cache": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-5.0.0.tgz", + "integrity": "sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==", + "dev": true, + "requires": { + "flatted": "^3.3.1", + "keyv": "^4.5.4" + } + }, + "flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, "follow-redirects": { "version": "1.14.5", "dev": true @@ -5557,6 +7274,57 @@ "is-glob": "^4.0.1" } }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true + }, "graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -5732,6 +7500,18 @@ "autoprefixer": "^9.4.3", "minimatch": "^3.0.2", "postcss": "^7.0.7" + }, + "dependencies": { + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + } } }, "hexo-browsersync": { @@ -6295,6 +8075,12 @@ "whatwg-encoding": "^2.0.0" } }, + "html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true + }, "htmlparser2": { "version": "6.1.0", "dev": true, @@ -6397,10 +8183,40 @@ "safer-buffer": ">= 2.1.2 < 3" } }, + "ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true + }, "immutable": { "version": "3.8.2", "dev": true }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, "indexof": { "version": "0.0.1", "dev": true @@ -6419,6 +8235,18 @@ "version": "2.0.4", "dev": true }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, "is-binary-path": { "version": "2.1.0", "dev": true, @@ -6458,6 +8286,8 @@ }, "is-number": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, "is-number-like": { @@ -6516,6 +8346,12 @@ } } }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, "js-yaml": { "version": "4.1.0", "dev": true, @@ -6566,6 +8402,24 @@ "xml-name-validator": "^4.0.0" } }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, "jsonfile": { "version": "3.0.1", "dev": true, @@ -6579,10 +8433,37 @@ "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true }, + "keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "known-css-properties": { + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.34.0.tgz", + "integrity": "sha512-tBECoUqNFbyAY4RrbqsBQqDFpGXAEbdD5QKr8kACx3+rnArmuuR22nKQWKazvp07N9yjTyDZaw/20UIH8tL9DQ==", + "dev": true + }, "limiter": { "version": "1.1.5", "dev": true }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, "localtunnel": { "version": "2.0.2", "dev": true, @@ -6660,6 +8541,12 @@ "version": "3.3.2", "dev": true }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, "lower-case": { "version": "2.0.2", "dev": true, @@ -6679,6 +8566,30 @@ "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", "dev": true }, + "mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true + }, + "mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true + }, + "meow": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, "micro-memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/micro-memoize/-/micro-memoize-4.1.2.tgz", @@ -6686,11 +8597,13 @@ "dev": true }, "micromatch": { - "version": "4.0.4", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "dev": true, "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.3", + "picomatch": "^2.3.1" } }, "mime": { @@ -6767,6 +8680,12 @@ "version": "2.0.0", "dev": true }, + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true + }, "negotiator": { "version": "0.6.2", "dev": true @@ -6887,6 +8806,27 @@ "version": "2.2.0", "dev": true }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, "parse5": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", @@ -6944,12 +8884,20 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, "picocolors": { "version": "0.2.1", "dev": true }, "picomatch": { - "version": "2.3.0", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "portscanner": { @@ -6961,15 +8909,64 @@ } }, "postcss": { - "version": "7.0.39", + "version": "8.4.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", + "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", "dev": true, "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "dependencies": { + "picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + } + } + }, + "postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true + }, + "postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "dev": true + }, + "postcss-safe-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.0.tgz", + "integrity": "sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg==", + "dev": true, + "requires": {} + }, + "postcss-scss": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", + "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==", + "dev": true, + "requires": {} + }, + "postcss-selector-parser": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", + "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" } }, "postcss-value-parser": { - "version": "4.1.0", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, "pretty-hrtime": { @@ -7008,6 +9005,12 @@ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, "range-parser": { "version": "1.2.1", "dev": true @@ -7050,6 +9053,12 @@ "version": "2.1.1", "dev": true }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, "require-main-filename": { "version": "2.0.0", "dev": true @@ -7069,6 +9078,12 @@ "supports-preserve-symlinks-flag": "^1.0.0" } }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, "resp-modifier": { "version": "6.0.2", "dev": true, @@ -7077,12 +9092,27 @@ "minimatch": "^3.0.2" } }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, "rfdc": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", "dev": true }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, "rx": { "version": "4.1.0", "dev": true @@ -7261,6 +9291,29 @@ "version": "3.0.0", "dev": true }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, "socket.io": { "version": "2.4.0", "dev": true, @@ -7431,6 +9484,147 @@ "min-indent": "^1.0.0" } }, + "stylelint": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.7.0.tgz", + "integrity": "sha512-Q1ATiXlz+wYr37a7TGsfvqYn2nSR3T/isw3IWlZQzFzCNoACHuGBb6xBplZXz56/uDRJHIygxjh7jbV/8isewA==", + "dev": true, + "requires": { + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1", + "@csstools/media-query-list-parser": "^2.1.13", + "@csstools/selector-specificity": "^3.1.1", + "@dual-bundle/import-meta-resolve": "^4.1.0", + "balanced-match": "^2.0.0", + "colord": "^2.9.3", + "cosmiconfig": "^9.0.0", + "css-functions-list": "^3.2.2", + "css-tree": "^2.3.1", + "debug": "^4.3.5", + "fast-glob": "^3.3.2", + "fastest-levenshtein": "^1.0.16", + "file-entry-cache": "^9.0.0", + "global-modules": "^2.0.0", + "globby": "^11.1.0", + "globjoin": "^0.1.4", + "html-tags": "^3.3.1", + "ignore": "^5.3.1", + "imurmurhash": "^0.1.4", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.34.0", + "mathml-tag-names": "^2.1.3", + "meow": "^13.2.0", + "micromatch": "^4.0.7", + "normalize-path": "^3.0.0", + "picocolors": "^1.0.1", + "postcss": "^8.4.39", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^7.0.0", + "postcss-selector-parser": "^6.1.0", + "postcss-value-parser": "^4.2.0", + "resolve-from": "^5.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^7.1.0", + "supports-hyperlinks": "^3.0.0", + "svg-tags": "^1.0.0", + "table": "^6.8.2", + "write-file-atomic": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true + }, + "debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "stylelint-config-recommended": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.1.tgz", + "integrity": "sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg==", + "dev": true, + "requires": {} + }, + "stylelint-config-recommended-scss": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-14.1.0.tgz", + "integrity": "sha512-bhaMhh1u5dQqSsf6ri2GVWWQW5iUjBYgcHkh7SgDDn92ijoItC/cfO/W+fpXshgTQWhwFkP1rVcewcv4jaftRg==", + "dev": true, + "requires": { + "postcss-scss": "^4.0.9", + "stylelint-config-recommended": "^14.0.1", + "stylelint-scss": "^6.4.0" + } + }, + "stylelint-config-standard": { + "version": "36.0.1", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-36.0.1.tgz", + "integrity": "sha512-8aX8mTzJ6cuO8mmD5yon61CWuIM4UD8Q5aBcWKGSf6kg+EC3uhB+iOywpTK4ca6ZL7B49en8yanOFtUW0qNzyw==", + "dev": true, + "requires": { + "stylelint-config-recommended": "^14.0.1" + } + }, + "stylelint-config-standard-scss": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-13.1.0.tgz", + "integrity": "sha512-Eo5w7/XvwGHWkeGLtdm2FZLOMYoZl1omP2/jgFCXyl2x5yNz7/8vv4Tj6slHvMSSUNTaGoam/GAZ0ZhukvalfA==", + "dev": true, + "requires": { + "stylelint-config-recommended-scss": "^14.0.0", + "stylelint-config-standard": "^36.0.0" + } + }, + "stylelint-scss": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.4.1.tgz", + "integrity": "sha512-+clI2bQC2FPOt06ZwUlXZZ95IO2C5bKTP0GLN1LNQPVvISfSNcgMKv/VTwym1mK9vnqhHbOk8lO4rj4nY7L9pw==", + "dev": true, + "requires": { + "known-css-properties": "^0.34.0", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-selector-parser": "^6.1.0", + "postcss-value-parser": "^4.2.0" + } + }, "stylus": { "version": "0.62.0", "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.62.0.tgz", @@ -7476,12 +9670,28 @@ "has-flag": "^4.0.0" } }, + "supports-hyperlinks": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz", + "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, "symbol-observable": { "version": "1.0.1", "dev": true @@ -7492,6 +9702,19 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, + "table": { + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", + "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + } + }, "text-table": { "version": "0.2.0", "dev": true @@ -7523,10 +9746,6 @@ "supports-color": "^2.0.0" } }, - "escape-string-regexp": { - "version": "1.0.5", - "dev": true - }, "strip-ansi": { "version": "3.0.1", "dev": true, @@ -7565,6 +9784,8 @@ }, "to-regex-range": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { "is-number": "^7.0.0" @@ -7749,6 +9970,16 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, + "write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + } + }, "ws": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", diff --git a/package.json b/package.json index 3de2540f..e0d939e2 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,8 @@ }, "scripts": { "start": "hexo server --debug", - "deploy": "NODE_ENV=production hexo deploy -g" + "deploy": "NODE_ENV=production hexo deploy -g", + "lint:css": "stylelint 'themes/tgt/**/*.scss'" }, "devDependencies": { "hexo": "^7.3.0", @@ -23,6 +24,8 @@ "hexo-renderer-marked": "^6.3.0", "hexo-renderer-sass": "^0.5.0", "hexo-renderer-stylus": "^3.0.1", - "hexo-server": "^3.0.0" + "hexo-server": "^3.0.0", + "stylelint": "^16.7.0", + "stylelint-config-standard-scss": "^13.1.0" } } diff --git a/themes/tgt/source/style/_mixins.scss b/themes/tgt/source/style/_mixins.scss index b5b445f2..b3b50cc8 100644 --- a/themes/tgt/source/style/_mixins.scss +++ b/themes/tgt/source/style/_mixins.scss @@ -1,5 +1,5 @@ @mixin respond-to($device) { - $min-width: map-get($breakpoints, $device); + $min-width: map.get($breakpoints, $device); @if $min-width { @media (min-width: $min-width) { @@ -8,4 +8,4 @@ } @else { @error "Unknown device #{$device}. Supported devices are #{map-keys($breakpoints)}."; } -} \ No newline at end of file +} diff --git a/themes/tgt/source/style/_variables.scss b/themes/tgt/source/style/_variables.scss index e640c0e0..e529cb2d 100644 --- a/themes/tgt/source/style/_variables.scss +++ b/themes/tgt/source/style/_variables.scss @@ -3,7 +3,6 @@ $breakpoints: ( "tablet": 500px, "desktop": 1200px, ); - $padding-base: 1rem; // CSS variables From 269f9fe7232f5e08b117102928470d60c8ce13fa Mon Sep 17 00:00:00 2001 From: "Tim G. Thomas" Date: Sat, 20 Jul 2024 22:17:31 -0500 Subject: [PATCH 09/13] clean up some header markup --- themes/tgt/layout/_partial/archive.ejs | 3 +++ themes/tgt/layout/_partial/list.hbs | 4 ++-- themes/tgt/layout/_partial/masthead.hbs | 8 ++++---- themes/tgt/source/style.scss | 9 +++++++++ 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/themes/tgt/layout/_partial/archive.ejs b/themes/tgt/layout/_partial/archive.ejs index dd6b98cd..d1dfb4f4 100644 --- a/themes/tgt/layout/_partial/archive.ejs +++ b/themes/tgt/layout/_partial/archive.ejs @@ -1,3 +1,6 @@ +
    +

    <%= page.title %>

    +
    <% site.posts.sort('date', 'desc').each((post) => { %>

    <%= post.title %> diff --git a/themes/tgt/layout/_partial/list.hbs b/themes/tgt/layout/_partial/list.hbs index 2a0ea903..3aa41a31 100644 --- a/themes/tgt/layout/_partial/list.hbs +++ b/themes/tgt/layout/_partial/list.hbs @@ -1,5 +1,5 @@

    -

    {{page.title}}

    +

    {{page.title}}

    {{#each data}} @@ -22,4 +22,4 @@
  • {{/each}} -
    +
    \ No newline at end of file diff --git a/themes/tgt/layout/_partial/masthead.hbs b/themes/tgt/layout/_partial/masthead.hbs index 791bbff7..72e92637 100644 --- a/themes/tgt/layout/_partial/masthead.hbs +++ b/themes/tgt/layout/_partial/masthead.hbs @@ -1,4 +1,4 @@ -
    -

    {{config.title}}

    - {{partial '_partial/nav'}} -
    +
    +

    {{config.title}}

    + {{partial "_partial/nav"}} +
    \ No newline at end of file diff --git a/themes/tgt/source/style.scss b/themes/tgt/source/style.scss index 3a2fa48b..44606f13 100644 --- a/themes/tgt/source/style.scss +++ b/themes/tgt/source/style.scss @@ -10,3 +10,12 @@ justify-content: center; padding-inline: var(--padding); } + +.masthead { + h1, + nav { + display: flex; + gap: var(--padding-comfy); + justify-content: flex-end; + } +} From da35b6c012b5ffa22227f7b0ffecb87085898582 Mon Sep 17 00:00:00 2001 From: "Tim G. Thomas" Date: Sat, 20 Jul 2024 23:20:31 -0500 Subject: [PATCH 10/13] get some style (heh) --- themes/tgt/layout/_partial/archive.ejs | 2 +- themes/tgt/layout/_partial/article.ejs | 2 +- themes/tgt/layout/_partial/list.hbs | 2 +- themes/tgt/source/style.scss | 11 ++++++++++- themes/tgt/source/style/_resets.scss | 5 +++++ 5 files changed, 18 insertions(+), 4 deletions(-) diff --git a/themes/tgt/layout/_partial/archive.ejs b/themes/tgt/layout/_partial/archive.ejs index d1dfb4f4..2761e3f7 100644 --- a/themes/tgt/layout/_partial/archive.ejs +++ b/themes/tgt/layout/_partial/archive.ejs @@ -1,4 +1,4 @@ -
    +

    <%= page.title %>

    <% site.posts.sort('date', 'desc').each((post) => { %> diff --git a/themes/tgt/layout/_partial/article.ejs b/themes/tgt/layout/_partial/article.ejs index bba8bcb4..b22938db 100644 --- a/themes/tgt/layout/_partial/article.ejs +++ b/themes/tgt/layout/_partial/article.ejs @@ -1,4 +1,4 @@ -
    +

    <%= post.title %>

    <%- post.content %>
    diff --git a/themes/tgt/layout/_partial/list.hbs b/themes/tgt/layout/_partial/list.hbs index 3aa41a31..ab7e2099 100644 --- a/themes/tgt/layout/_partial/list.hbs +++ b/themes/tgt/layout/_partial/list.hbs @@ -1,4 +1,4 @@ -
    +

    {{page.title}}

    diff --git a/themes/tgt/source/style.scss b/themes/tgt/source/style.scss index 44606f13..09480bdd 100644 --- a/themes/tgt/source/style.scss +++ b/themes/tgt/source/style.scss @@ -2,7 +2,11 @@ @import 'style/resets'; @import 'style/mixins'; -// Utilities +body { + background: #222; + color: #ccc; + font-size: 1.7rem; +} .constrain { display: grid; @@ -19,3 +23,8 @@ justify-content: flex-end; } } + +.title { + display: flex; + justify-content: flex-end; +} diff --git a/themes/tgt/source/style/_resets.scss b/themes/tgt/source/style/_resets.scss index 8306dc41..ea00e7c5 100644 --- a/themes/tgt/source/style/_resets.scss +++ b/themes/tgt/source/style/_resets.scss @@ -1,5 +1,6 @@ * { box-sizing: inherit; + font: inherit; line-height: inherit; margin: 0; padding: 0; @@ -28,3 +29,7 @@ a { img { max-width: 100%; } + +li { + list-style: none; +} From a8b673435015dd057861a895b20d822c01527ec0 Mon Sep 17 00:00:00 2001 From: "Tim G. Thomas" Date: Sat, 20 Jul 2024 23:36:01 -0500 Subject: [PATCH 11/13] remove docker stuff --- .dockerignore | 1 - Dockerfile | 8 -------- docker-compose.yml | 11 ----------- 3 files changed, 20 deletions(-) delete mode 100644 .dockerignore delete mode 100644 Dockerfile delete mode 100644 docker-compose.yml diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index 3c3629e6..00000000 --- a/.dockerignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index c4bc8efe..00000000 --- a/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM node:16 -RUN npm install -g hexo-cli -WORKDIR /app -COPY package*.json ./ -RUN npm install -COPY . . -EXPOSE 3000 4000 -CMD [ "npm", "start" ] diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 42428d94..00000000 --- a/docker-compose.yml +++ /dev/null @@ -1,11 +0,0 @@ -version: '3.1' - -services: - hexo: - build: . - ports: - - 3000:3000 # Browsersync - - 4000:4000 # Hexo - volumes: - - .:/app - - /app/node_modules From 403526d5f847cf62266b9711372cac6055d7b4fd Mon Sep 17 00:00:00 2001 From: "Tim G. Thomas" Date: Sat, 20 Jul 2024 23:44:39 -0500 Subject: [PATCH 12/13] set up volta --- package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package.json b/package.json index e0d939e2..1c8322bc 100644 --- a/package.json +++ b/package.json @@ -27,5 +27,8 @@ "hexo-server": "^3.0.0", "stylelint": "^16.7.0", "stylelint-config-standard-scss": "^13.1.0" + }, + "volta": { + "node": "22.5.1" } } From 7bcc7a576692a5692d2e866d24f1125c409b93d0 Mon Sep 17 00:00:00 2001 From: "Tim G. Thomas" Date: Sat, 20 Jul 2024 23:47:07 -0500 Subject: [PATCH 13/13] fix some audit issues --- package-lock.json | 1462 +++++++++++++++++++++------------------------ 1 file changed, 670 insertions(+), 792 deletions(-) diff --git a/package-lock.json b/package-lock.json index a937a77a..4f8ddf71 100644 --- a/package-lock.json +++ b/package-lock.json @@ -304,6 +304,13 @@ "node": ">= 8" } }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "dev": true, + "license": "MIT" + }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -314,6 +321,33 @@ "node": ">= 10" } }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/cors": { + "version": "2.8.17", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", + "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/node": { + "version": "20.14.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz", + "integrity": "sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, "node_modules/a-sync-waterfall": { "version": "1.0.1", "dev": true, @@ -386,11 +420,6 @@ "node": ">=0.4.0" } }, - "node_modules/after": { - "version": "0.8.2", - "dev": true, - "license": "MIT" - }, "node_modules/agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", @@ -500,11 +529,6 @@ "node": ">=8" } }, - "node_modules/arraybuffer.slice": { - "version": "0.0.7", - "dev": true, - "license": "MIT" - }, "node_modules/asap": { "version": "2.0.6", "dev": true, @@ -521,12 +545,19 @@ } }, "node_modules/async": { - "version": "1.5.2", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "lodash": "^4.17.14" + } }, "node_modules/async-each-series": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", + "integrity": "sha512-p4jj6Fws4Iy2m0iCmI2am2ZNZCgbdgE+P8F/8csmn2vx7ixXrO2zGcuNsD46X5uZSVecmkEy/M06X2vG8KD6dQ==", "dev": true, "license": "MIT", "engines": { @@ -587,25 +618,15 @@ "follow-redirects": "^1.14.0" } }, - "node_modules/backo2": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, "node_modules/balanced-match": { "version": "1.0.2", "dev": true, "license": "MIT" }, - "node_modules/base64-arraybuffer": { - "version": "0.1.4", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, "node_modules/base64id": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", "dev": true, "license": "MIT", "engines": { @@ -636,11 +657,6 @@ "node": ">=8" } }, - "node_modules/blob": { - "version": "0.0.5", - "dev": true, - "license": "MIT" - }, "node_modules/bluebird": { "version": "3.7.2", "dev": true, @@ -669,20 +685,22 @@ } }, "node_modules/browser-sync": { - "version": "2.27.7", + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.29.3.tgz", + "integrity": "sha512-NiM38O6XU84+MN+gzspVmXV2fTOoe+jBqIBx3IBdhZrdeURr6ZgznJr/p+hQ+KzkKEiGH/GcC4SQFSL0jV49bg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "browser-sync-client": "^2.27.7", - "browser-sync-ui": "^2.27.7", + "browser-sync-client": "^2.29.3", + "browser-sync-ui": "^2.29.3", "bs-recipes": "1.3.4", - "bs-snippet-injector": "^2.0.1", + "chalk": "4.1.2", "chokidar": "^3.5.1", "connect": "3.6.6", "connect-history-api-fallback": "^1", "dev-ip": "^1.0.1", "easy-extender": "^2.3.4", - "eazy-logger": "3.1.0", + "eazy-logger": "^4.0.1", "etag": "^1.8.1", "fresh": "^0.5.2", "fs-extra": "3.0.1", @@ -691,8 +709,7 @@ "localtunnel": "^2.0.1", "micromatch": "^4.0.2", "opn": "5.3.0", - "portscanner": "2.1.1", - "qs": "6.2.3", + "portscanner": "2.2.0", "raw-body": "^2.3.2", "resp-modifier": "6.0.2", "rx": "4.1.0", @@ -700,9 +717,9 @@ "serve-index": "1.9.1", "serve-static": "1.13.2", "server-destroy": "1.0.1", - "socket.io": "2.4.0", - "ua-parser-js": "1.0.2", - "yargs": "^15.4.1" + "socket.io": "^4.4.1", + "ua-parser-js": "^1.0.33", + "yargs": "^17.3.1" }, "bin": { "browser-sync": "dist/bin.js" @@ -712,29 +729,33 @@ } }, "node_modules/browser-sync-client": { - "version": "2.27.7", + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.29.3.tgz", + "integrity": "sha512-4tK5JKCl7v/3aLbmCBMzpufiYLsB1+UI+7tUXCCp5qF0AllHy/jAqYu6k7hUF3hYtlClKpxExWaR+rH+ny07wQ==", "dev": true, "license": "ISC", "dependencies": { "etag": "1.8.1", "fresh": "0.5.2", - "mitt": "^1.1.3", - "rxjs": "^5.5.6" + "mitt": "^1.1.3" }, "engines": { "node": ">=8.0.0" } }, "node_modules/browser-sync-ui": { - "version": "2.27.7", + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.29.3.tgz", + "integrity": "sha512-kBYOIQjU/D/3kYtUIJtj82e797Egk1FB2broqItkr3i4eF1qiHbFCG6srksu9gWhfmuM/TNG76jMfzAdxEPakg==", "dev": true, "license": "Apache-2.0", "dependencies": { "async-each-series": "0.1.1", + "chalk": "4.1.2", "connect-history-api-fallback": "^1", "immutable": "^3", "server-destroy": "1.0.1", - "socket.io-client": "^2.4.0", + "socket.io-client": "^4.4.1", "stream-throttle": "^0.1.3" } }, @@ -770,11 +791,6 @@ "dev": true, "license": "ISC" }, - "node_modules/bs-snippet-injector": { - "version": "2.0.1", - "dev": true, - "license": "MIT" - }, "node_modules/bytes": { "version": "3.0.0", "dev": true, @@ -802,14 +818,6 @@ "tslib": "^2.0.3" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/caniuse-lite": { "version": "1.0.30001280", "dev": true, @@ -862,13 +870,18 @@ } }, "node_modules/cliui": { - "version": "6.0.0", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "license": "ISC", "dependencies": { "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, "node_modules/color-convert": { @@ -922,19 +935,6 @@ "node": ">= 6" } }, - "node_modules/component-bind": { - "version": "1.0.0", - "dev": true - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "dev": true, - "license": "MIT" - }, - "node_modules/component-inherit": { - "version": "0.0.3", - "dev": true - }, "node_modules/compressible": { "version": "2.0.18", "dev": true, @@ -984,6 +984,8 @@ }, "node_modules/connect-history-api-fallback": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", "dev": true, "license": "MIT", "engines": { @@ -1004,13 +1006,29 @@ } }, "node_modules/cookie": { - "version": "0.4.1", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" } }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/cosmiconfig": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", @@ -1146,14 +1164,6 @@ "ms": "2.0.0" } }, - "node_modules/decamelize": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/decimal.js": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", @@ -1225,11 +1235,6 @@ "node": ">=8" } }, - "node_modules/dlv": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, "node_modules/dom-serializer": { "version": "1.3.2", "dev": true, @@ -1315,10 +1320,12 @@ } }, "node_modules/eazy-logger": { - "version": "3.1.0", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-4.0.1.tgz", + "integrity": "sha512-2GSFtnnC6U4IEKhEI7+PvdxrmjJ04mdsj3wHZTFiw0tUtG4HCWzTr13ZYTk8XOGnA1xQMaDljoBOYlk3D/MMSw==", "dev": true, "dependencies": { - "tfunk": "^4.0.0" + "chalk": "4.1.2" }, "engines": { "node": ">= 0.8.0" @@ -1364,57 +1371,78 @@ } }, "node_modules/engine.io": { - "version": "3.5.0", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.5.tgz", + "integrity": "sha512-C5Pn8Wk+1vKBoHghJODM63yk8MvrO9EWZUfkAt5HAqIgPE4/8FF0PEGHXtEd40l223+cE5ABWuPzm38PHFXfMA==", "dev": true, "license": "MIT", "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", "accepts": "~1.3.4", "base64id": "2.0.0", "cookie": "~0.4.1", - "debug": "~4.1.0", - "engine.io-parser": "~2.2.0", - "ws": "~7.4.2" + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1" }, "engines": { - "node": ">=8.0.0" + "node": ">=10.2.0" } }, "node_modules/engine.io-client": { - "version": "3.5.2", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.4.tgz", + "integrity": "sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==", "dev": true, "license": "MIT", "dependencies": { - "component-emitter": "~1.3.0", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.2.0", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "ws": "~7.4.2", - "xmlhttprequest-ssl": "~1.6.2", - "yeast": "0.1.2" + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1", + "xmlhttprequest-ssl": "~2.0.0" } }, "node_modules/engine.io-client/node_modules/debug": { - "version": "3.1.0", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.0.0" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, + "node_modules/engine.io-client/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true, + "license": "MIT" + }, "node_modules/engine.io-client/node_modules/ws": { - "version": "7.4.6", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=8.3.0" + "node": ">=10.0.0" }, "peerDependencies": { "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { "bufferutil": { @@ -1426,40 +1454,52 @@ } }, "node_modules/engine.io-parser": { - "version": "2.2.1", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", "dev": true, "license": "MIT", - "dependencies": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.4", - "blob": "0.0.5", - "has-binary2": "~1.0.2" + "engines": { + "node": ">=10.0.0" } }, "node_modules/engine.io/node_modules/debug": { - "version": "4.1.1", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "license": "MIT", "dependencies": { - "ms": "^2.1.1" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/engine.io/node_modules/ms": { - "version": "2.1.3", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true, "license": "MIT" }, "node_modules/engine.io/node_modules/ws": { - "version": "7.4.6", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=8.3.0" + "node": ">=10.0.0" }, "peerDependencies": { "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { "bufferutil": { @@ -1722,18 +1762,6 @@ "node": ">= 0.8" } }, - "node_modules/find-up": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/flat-cache": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-5.0.0.tgz", @@ -1756,7 +1784,9 @@ "license": "ISC" }, "node_modules/follow-redirects": { - "version": "1.14.5", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "dev": true, "funding": [ { @@ -1976,38 +2006,6 @@ "uglify-js": "^3.1.4" } }, - "node_modules/has-ansi": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-binary2": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "isarray": "2.0.1" - } - }, - "node_modules/has-cors": { - "version": "1.1.0", - "dev": true, - "license": "MIT" - }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -3210,6 +3208,8 @@ }, "node_modules/immutable": { "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", "dev": true, "license": "MIT", "engines": { @@ -3253,10 +3253,6 @@ "node": ">=0.8.19" } }, - "node_modules/indexof": { - "version": "0.0.1", - "dev": true - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -3370,6 +3366,8 @@ }, "node_modules/is-number-like": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz", + "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==", "dev": true, "license": "ISC", "dependencies": { @@ -3406,11 +3404,6 @@ "node": ">=8" } }, - "node_modules/isarray": { - "version": "2.0.1", - "dev": true, - "license": "MIT" - }, "node_modules/isexe": { "version": "2.0.0", "dev": true, @@ -3587,6 +3580,8 @@ }, "node_modules/limiter": { "version": "1.1.5", + "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", + "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==", "dev": true }, "node_modules/lines-and-columns": { @@ -3644,30 +3639,6 @@ "dev": true, "license": "MIT" }, - "node_modules/localtunnel/node_modules/wrap-ansi": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/localtunnel/node_modules/y18n": { - "version": "5.0.8", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, "node_modules/localtunnel/node_modules/yargs": { "version": "17.1.1", "dev": true, @@ -3693,17 +3664,6 @@ "node": ">=10" } }, - "node_modules/locate-path": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/lodash": { "version": "4.17.21", "dev": true, @@ -3711,6 +3671,8 @@ }, "node_modules/lodash.isfinite": { "version": "3.3.2", + "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", + "integrity": "sha512-7FGG40uhC8Mm633uKW1r58aElFlBlxCrg9JfSi3P6aYiWmfiWF0PgMd86ZUsxE5GwWPdHoS2+48bwTh2VPkIQA==", "dev": true, "license": "MIT" }, @@ -3868,12 +3830,19 @@ } }, "node_modules/minimist": { - "version": "1.2.5", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, - "license": "MIT" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/mitt": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", + "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==", "dev": true, "license": "MIT" }, @@ -3889,7 +3858,9 @@ } }, "node_modules/moment": { - "version": "2.29.1", + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", "dev": true, "license": "MIT", "engines": { @@ -3897,11 +3868,13 @@ } }, "node_modules/moment-timezone": { - "version": "0.5.34", + "version": "0.5.45", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.45.tgz", + "integrity": "sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ==", "dev": true, "license": "MIT", "dependencies": { - "moment": ">= 2.9.0" + "moment": "^2.29.4" }, "engines": { "node": "*" @@ -4008,7 +3981,9 @@ "license": "MIT" }, "node_modules/nunjucks": { - "version": "3.2.3", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz", + "integrity": "sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -4038,6 +4013,16 @@ "dev": true, "license": "MIT" }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/on-finished": { "version": "2.3.0", "dev": true, @@ -4109,39 +4094,6 @@ "node": ">=4" } }, - "node_modules/p-limit": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -4200,18 +4152,8 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/parseqs": { - "version": "0.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/parseuri": { - "version": "0.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/parseurl": { - "version": "1.3.3", + "node_modules/parseurl": { + "version": "1.3.3", "dev": true, "license": "MIT", "engines": { @@ -4227,14 +4169,6 @@ "tslib": "^2.0.3" } }, - "node_modules/path-exists": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -4289,11 +4223,13 @@ } }, "node_modules/portscanner": { - "version": "2.1.1", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz", + "integrity": "sha512-IFroCz/59Lqa2uBvzK3bKDbDDIEaAY8XJ1jFxcLWTqosrsc32//P4VuSB2vZXoHiHqOmx8B5L5hnKOxL/7FlPw==", "dev": true, "license": "MIT", "dependencies": { - "async": "1.5.2", + "async": "^2.6.0", "is-number-like": "^1.0.3" }, "engines": { @@ -4470,14 +4406,6 @@ "teleport": ">=0.2.0" } }, - "node_modules/qs": { - "version": "6.2.3", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.6" - } - }, "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -4580,11 +4508,6 @@ "node": ">=0.10.0" } }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/requires-port": { "version": "1.0.0", "dev": true, @@ -4676,17 +4599,6 @@ "dev": true, "license": "Apache-2.0" }, - "node_modules/rxjs": { - "version": "5.5.12", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "symbol-observable": "1.0.1" - }, - "engines": { - "npm": ">=2.0.0" - } - }, "node_modules/safe-buffer": { "version": "5.1.2", "dev": true, @@ -4886,11 +4798,8 @@ }, "node_modules/server-destroy": { "version": "1.0.1", - "dev": true, - "license": "ISC" - }, - "node_modules/set-blocking": { - "version": "2.0.0", + "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", + "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==", "dev": true, "license": "ISC" }, @@ -4960,97 +4869,184 @@ } }, "node_modules/socket.io": { - "version": "2.4.0", + "version": "4.7.5", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.5.tgz", + "integrity": "sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==", "dev": true, "license": "MIT", "dependencies": { - "debug": "~4.1.0", - "engine.io": "~3.5.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.4.0", - "socket.io-parser": "~3.4.0" + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.5.2", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" } }, "node_modules/socket.io-adapter": { - "version": "1.1.2", + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", + "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "debug": "~4.3.4", + "ws": "~8.17.1" + } }, - "node_modules/socket.io-client": { - "version": "2.4.0", + "node_modules/socket.io-adapter/node_modules/debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "license": "MIT", "dependencies": { - "backo2": "1.0.2", - "component-bind": "1.0.0", - "component-emitter": "~1.3.0", - "debug": "~3.1.0", - "engine.io-client": "~3.5.0", - "has-binary2": "~1.0.2", - "indexof": "0.0.1", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "socket.io-parser": "~3.3.0", - "to-array": "0.1.4" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/socket.io-client/node_modules/debug": { - "version": "3.1.0", + "node_modules/socket.io-adapter/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/socket.io-adapter/node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "dev": true, "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "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/socket.io-client/node_modules/socket.io-parser": { - "version": "3.3.2", + "node_modules/socket.io-client": { + "version": "4.7.5", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz", + "integrity": "sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==", "dev": true, "license": "MIT", "dependencies": { - "component-emitter": "~1.3.0", - "debug": "~3.1.0", - "isarray": "2.0.1" + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.2", + "engine.io-client": "~6.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.0.0" } }, - "node_modules/socket.io-parser": { - "version": "3.4.1", + "node_modules/socket.io-client/node_modules/debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "license": "MIT", "dependencies": { - "component-emitter": "1.2.1", - "debug": "~4.1.0", - "isarray": "2.0.1" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/socket.io-parser/node_modules/component-emitter": { - "version": "1.2.1", + "node_modules/socket.io-client/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true, "license": "MIT" }, + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/socket.io-parser/node_modules/debug": { - "version": "4.1.1", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "license": "MIT", "dependencies": { - "ms": "^2.1.1" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/socket.io-parser/node_modules/ms": { - "version": "2.1.3", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true, "license": "MIT" }, "node_modules/socket.io/node_modules/debug": { - "version": "4.1.1", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "license": "MIT", "dependencies": { - "ms": "^2.1.1" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/socket.io/node_modules/ms": { - "version": "2.1.3", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true, "license": "MIT" }, @@ -5098,6 +5094,8 @@ }, "node_modules/stream-throttle": { "version": "0.1.3", + "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", + "integrity": "sha512-889+B9vN9dq7/vLbGyuHeZ6/ctf5sNuGWsDy89uNxkFTAgzy0eK7+w5fL3KLNRTkLle7EgZGvHUphZW0Q26MnQ==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -5113,6 +5111,8 @@ }, "node_modules/stream-throttle/node_modules/commander": { "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true, "license": "MIT" }, @@ -5534,14 +5534,6 @@ "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", "dev": true }, - "node_modules/symbol-observable": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", @@ -5571,65 +5563,6 @@ "dev": true, "license": "MIT" }, - "node_modules/tfunk": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^1.1.3", - "dlv": "^1.1.3" - } - }, - "node_modules/tfunk/node_modules/ansi-regex": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tfunk/node_modules/ansi-styles": { - "version": "2.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tfunk/node_modules/chalk": { - "version": "1.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tfunk/node_modules/strip-ansi": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tfunk/node_modules/supports-color": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/through2": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", @@ -5658,10 +5591,6 @@ "to-title-case": "bin.js" } }, - "node_modules/to-array": { - "version": "0.1.4", - "dev": true - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -5728,7 +5657,9 @@ "license": "0BSD" }, "node_modules/ua-parser-js": { - "version": "1.0.2", + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz", + "integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==", "dev": true, "funding": [ { @@ -5738,6 +5669,10 @@ { "type": "paypal", "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" } ], "license": "MIT", @@ -5764,6 +5699,13 @@ "node": ">=0.8.0" } }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "license": "MIT" + }, "node_modules/universalify": { "version": "0.1.2", "dev": true, @@ -5921,18 +5863,15 @@ "node": ">= 8" } }, - "node_modules/which-module": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/wordwrap": { "version": "1.0.0", "dev": true, "license": "MIT" }, "node_modules/wrap-ansi": { - "version": "6.2.0", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "license": "MIT", "dependencies": { @@ -5941,7 +5880,10 @@ "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/wrappy": { @@ -6005,54 +5947,52 @@ "license": "MIT" }, "node_modules/xmlhttprequest-ssl": { - "version": "1.6.3", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", + "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", "dev": true, "engines": { "node": ">=0.4.0" } }, "node_modules/y18n": { - "version": "4.0.3", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": ">=10" + } }, "node_modules/yargs": { - "version": "15.4.1", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "license": "MIT", "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=8" + "node": ">=12" } }, "node_modules/yargs-parser": { - "version": "18.1.3", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "license": "ISC", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, "engines": { - "node": ">=6" + "node": ">=12" } - }, - "node_modules/yeast": { - "version": "0.1.2", - "dev": true, - "license": "MIT" } }, "dependencies": { @@ -6215,12 +6155,42 @@ "fastq": "^1.6.0" } }, + "@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "dev": true + }, "@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true }, + "@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true + }, + "@types/cors": { + "version": "2.8.17", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", + "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/node": { + "version": "20.14.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz", + "integrity": "sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==", + "dev": true, + "requires": { + "undici-types": "~5.26.4" + } + }, "a-sync-waterfall": { "version": "1.0.1", "dev": true @@ -6270,10 +6240,6 @@ "acorn": "^8.11.0" } }, - "after": { - "version": "0.8.2", - "dev": true - }, "agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", @@ -6345,10 +6311,6 @@ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, - "arraybuffer.slice": { - "version": "0.0.7", - "dev": true - }, "asap": { "version": "2.0.6", "dev": true @@ -6360,11 +6322,18 @@ "dev": true }, "async": { - "version": "1.5.2", - "dev": true + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } }, "async-each-series": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", + "integrity": "sha512-p4jj6Fws4Iy2m0iCmI2am2ZNZCgbdgE+P8F/8csmn2vx7ixXrO2zGcuNsD46X5uZSVecmkEy/M06X2vG8KD6dQ==", "dev": true }, "asynckit": { @@ -6405,20 +6374,14 @@ "follow-redirects": "^1.14.0" } }, - "backo2": { - "version": "1.0.2", - "dev": true - }, "balanced-match": { "version": "1.0.2", "dev": true }, - "base64-arraybuffer": { - "version": "0.1.4", - "dev": true - }, "base64id": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", "dev": true }, "basic-auth": { @@ -6436,10 +6399,6 @@ "version": "2.2.0", "dev": true }, - "blob": { - "version": "0.0.5", - "dev": true - }, "bluebird": { "version": "3.7.2", "dev": true @@ -6462,19 +6421,21 @@ } }, "browser-sync": { - "version": "2.27.7", + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.29.3.tgz", + "integrity": "sha512-NiM38O6XU84+MN+gzspVmXV2fTOoe+jBqIBx3IBdhZrdeURr6ZgznJr/p+hQ+KzkKEiGH/GcC4SQFSL0jV49bg==", "dev": true, "requires": { - "browser-sync-client": "^2.27.7", - "browser-sync-ui": "^2.27.7", + "browser-sync-client": "^2.29.3", + "browser-sync-ui": "^2.29.3", "bs-recipes": "1.3.4", - "bs-snippet-injector": "^2.0.1", + "chalk": "4.1.2", "chokidar": "^3.5.1", "connect": "3.6.6", "connect-history-api-fallback": "^1", "dev-ip": "^1.0.1", "easy-extender": "^2.3.4", - "eazy-logger": "3.1.0", + "eazy-logger": "^4.0.1", "etag": "^1.8.1", "fresh": "^0.5.2", "fs-extra": "3.0.1", @@ -6483,8 +6444,7 @@ "localtunnel": "^2.0.1", "micromatch": "^4.0.2", "opn": "5.3.0", - "portscanner": "2.1.1", - "qs": "6.2.3", + "portscanner": "2.2.0", "raw-body": "^2.3.2", "resp-modifier": "6.0.2", "rx": "4.1.0", @@ -6492,30 +6452,34 @@ "serve-index": "1.9.1", "serve-static": "1.13.2", "server-destroy": "1.0.1", - "socket.io": "2.4.0", - "ua-parser-js": "1.0.2", - "yargs": "^15.4.1" + "socket.io": "^4.4.1", + "ua-parser-js": "^1.0.33", + "yargs": "^17.3.1" } }, "browser-sync-client": { - "version": "2.27.7", + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.29.3.tgz", + "integrity": "sha512-4tK5JKCl7v/3aLbmCBMzpufiYLsB1+UI+7tUXCCp5qF0AllHy/jAqYu6k7hUF3hYtlClKpxExWaR+rH+ny07wQ==", "dev": true, "requires": { "etag": "1.8.1", "fresh": "0.5.2", - "mitt": "^1.1.3", - "rxjs": "^5.5.6" + "mitt": "^1.1.3" } }, "browser-sync-ui": { - "version": "2.27.7", + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.29.3.tgz", + "integrity": "sha512-kBYOIQjU/D/3kYtUIJtj82e797Egk1FB2broqItkr3i4eF1qiHbFCG6srksu9gWhfmuM/TNG76jMfzAdxEPakg==", "dev": true, "requires": { "async-each-series": "0.1.1", + "chalk": "4.1.2", "connect-history-api-fallback": "^1", "immutable": "^3", "server-destroy": "1.0.1", - "socket.io-client": "^2.4.0", + "socket.io-client": "^4.4.1", "stream-throttle": "^0.1.3" } }, @@ -6540,10 +6504,6 @@ "version": "1.3.4", "dev": true }, - "bs-snippet-injector": { - "version": "2.0.1", - "dev": true - }, "bytes": { "version": "3.0.0", "dev": true @@ -6562,10 +6522,6 @@ "tslib": "^2.0.3" } }, - "camelcase": { - "version": "5.3.1", - "dev": true - }, "caniuse-lite": { "version": "1.0.30001280", "dev": true @@ -6597,12 +6553,14 @@ } }, "cliui": { - "version": "6.0.0", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "requires": { "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" } }, "color-convert": { @@ -6641,18 +6599,6 @@ "version": "5.1.0", "dev": true }, - "component-bind": { - "version": "1.0.0", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "dev": true - }, - "component-inherit": { - "version": "0.0.3", - "dev": true - }, "compressible": { "version": "2.0.18", "dev": true, @@ -6689,6 +6635,8 @@ }, "connect-history-api-fallback": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", "dev": true }, "connect-injector": { @@ -6702,9 +6650,21 @@ } }, "cookie": { - "version": "0.4.1", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "dev": true }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, "cosmiconfig": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", @@ -6795,10 +6755,6 @@ "ms": "2.0.0" } }, - "decamelize": { - "version": "1.2.0", - "dev": true - }, "decimal.js": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", @@ -6842,10 +6798,6 @@ "path-type": "^4.0.0" } }, - "dlv": { - "version": "1.1.3", - "dev": true - }, "dom-serializer": { "version": "1.3.2", "dev": true, @@ -6900,10 +6852,12 @@ } }, "eazy-logger": { - "version": "3.1.0", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-4.0.1.tgz", + "integrity": "sha512-2GSFtnnC6U4IEKhEI7+PvdxrmjJ04mdsj3wHZTFiw0tUtG4HCWzTr13ZYTk8XOGnA1xQMaDljoBOYlk3D/MMSw==", "dev": true, "requires": { - "tfunk": "^4.0.0" + "chalk": "4.1.2" } }, "ee-first": { @@ -6932,76 +6886,89 @@ "dev": true }, "engine.io": { - "version": "3.5.0", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.5.tgz", + "integrity": "sha512-C5Pn8Wk+1vKBoHghJODM63yk8MvrO9EWZUfkAt5HAqIgPE4/8FF0PEGHXtEd40l223+cE5ABWuPzm38PHFXfMA==", "dev": true, "requires": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", "accepts": "~1.3.4", "base64id": "2.0.0", "cookie": "~0.4.1", - "debug": "~4.1.0", - "engine.io-parser": "~2.2.0", - "ws": "~7.4.2" + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1" }, "dependencies": { "debug": { - "version": "4.1.1", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { - "version": "2.1.3", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "ws": { - "version": "7.4.6", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "dev": true, "requires": {} } } }, "engine.io-client": { - "version": "3.5.2", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.4.tgz", + "integrity": "sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==", "dev": true, "requires": { - "component-emitter": "~1.3.0", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.2.0", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "ws": "~7.4.2", - "xmlhttprequest-ssl": "~1.6.2", - "yeast": "0.1.2" + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1", + "xmlhttprequest-ssl": "~2.0.0" }, "dependencies": { "debug": { - "version": "3.1.0", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "2.1.2" } }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, "ws": { - "version": "7.4.6", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "dev": true, "requires": {} } } }, "engine.io-parser": { - "version": "2.2.1", - "dev": true, - "requires": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.4", - "blob": "0.0.5", - "has-binary2": "~1.0.2" - } + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "dev": true }, "entities": { "version": "2.2.0", @@ -7178,14 +7145,6 @@ "unpipe": "~1.0.0" } }, - "find-up": { - "version": "4.1.0", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, "flat-cache": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-5.0.0.tgz", @@ -7203,7 +7162,9 @@ "dev": true }, "follow-redirects": { - "version": "1.14.5", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "dev": true }, "form-data": { @@ -7342,30 +7303,6 @@ "wordwrap": "^1.0.0" } }, - "has-ansi": { - "version": "2.0.0", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "dev": true - } - } - }, - "has-binary2": { - "version": "1.0.3", - "dev": true, - "requires": { - "isarray": "2.0.1" - } - }, - "has-cors": { - "version": "1.1.0", - "dev": true - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -8191,6 +8128,8 @@ }, "immutable": { "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", "dev": true }, "import-fresh": { @@ -8217,10 +8156,6 @@ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true }, - "indexof": { - "version": "0.0.1", - "dev": true - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -8292,6 +8227,8 @@ }, "is-number-like": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz", + "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==", "dev": true, "requires": { "lodash.isfinite": "^3.3.2" @@ -8318,10 +8255,6 @@ "is-docker": "^2.0.0" } }, - "isarray": { - "version": "2.0.1", - "dev": true - }, "isexe": { "version": "2.0.0", "dev": true @@ -8456,6 +8389,8 @@ }, "limiter": { "version": "1.1.5", + "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", + "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==", "dev": true }, "lines-and-columns": { @@ -8494,19 +8429,6 @@ "version": "2.1.2", "dev": true }, - "wrap-ansi": { - "version": "7.0.0", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "5.0.8", - "dev": true - }, "yargs": { "version": "17.1.1", "dev": true, @@ -8526,19 +8448,14 @@ } } }, - "locate-path": { - "version": "5.0.0", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, "lodash": { "version": "4.17.21", "dev": true }, "lodash.isfinite": { "version": "3.3.2", + "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", + "integrity": "sha512-7FGG40uhC8Mm633uKW1r58aElFlBlxCrg9JfSi3P6aYiWmfiWF0PgMd86ZUsxE5GwWPdHoS2+48bwTh2VPkIQA==", "dev": true }, "lodash.truncate": { @@ -8637,11 +8554,15 @@ } }, "minimist": { - "version": "1.2.5", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true }, "mitt": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", + "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==", "dev": true }, "moize": { @@ -8655,14 +8576,18 @@ } }, "moment": { - "version": "2.29.1", + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", "dev": true }, "moment-timezone": { - "version": "0.5.34", + "version": "0.5.45", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.45.tgz", + "integrity": "sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ==", "dev": true, "requires": { - "moment": ">= 2.9.0" + "moment": "^2.29.4" } }, "morgan": { @@ -8726,7 +8651,9 @@ "dev": true }, "nunjucks": { - "version": "3.2.3", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz", + "integrity": "sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==", "dev": true, "requires": { "a-sync-waterfall": "^1.0.0", @@ -8740,6 +8667,12 @@ "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==", "dev": true }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, "on-finished": { "version": "2.3.0", "dev": true, @@ -8788,24 +8721,6 @@ } } }, - "p-limit": { - "version": "2.3.0", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "dev": true - }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -8844,14 +8759,6 @@ } } }, - "parseqs": { - "version": "0.0.6", - "dev": true - }, - "parseuri": { - "version": "0.0.6", - "dev": true - }, "parseurl": { "version": "1.3.3", "dev": true @@ -8864,10 +8771,6 @@ "tslib": "^2.0.3" } }, - "path-exists": { - "version": "4.0.0", - "dev": true - }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -8901,10 +8804,12 @@ "dev": true }, "portscanner": { - "version": "2.1.1", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz", + "integrity": "sha512-IFroCz/59Lqa2uBvzK3bKDbDDIEaAY8XJ1jFxcLWTqosrsc32//P4VuSB2vZXoHiHqOmx8B5L5hnKOxL/7FlPw==", "dev": true, "requires": { - "async": "1.5.2", + "async": "^2.6.0", "is-number-like": "^1.0.3" } }, @@ -8995,10 +8900,6 @@ "version": "1.5.1", "dev": true }, - "qs": { - "version": "6.2.3", - "dev": true - }, "querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -9059,10 +8960,6 @@ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true }, - "require-main-filename": { - "version": "2.0.0", - "dev": true - }, "requires-port": { "version": "1.0.0", "dev": true @@ -9117,13 +9014,6 @@ "version": "4.1.0", "dev": true }, - "rxjs": { - "version": "5.5.12", - "dev": true, - "requires": { - "symbol-observable": "1.0.1" - } - }, "safe-buffer": { "version": "5.1.2", "dev": true @@ -9270,10 +9160,8 @@ }, "server-destroy": { "version": "1.0.1", - "dev": true - }, - "set-blocking": { - "version": "2.0.0", + "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", + "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==", "dev": true }, "setprototypeof": { @@ -9315,91 +9203,123 @@ } }, "socket.io": { - "version": "2.4.0", + "version": "4.7.5", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.5.tgz", + "integrity": "sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==", "dev": true, "requires": { - "debug": "~4.1.0", - "engine.io": "~3.5.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.4.0", - "socket.io-parser": "~3.4.0" + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.5.2", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" }, "dependencies": { "debug": { - "version": "4.1.1", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { - "version": "2.1.3", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } }, "socket.io-adapter": { - "version": "1.1.2", - "dev": true - }, - "socket.io-client": { - "version": "2.4.0", + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", + "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", "dev": true, "requires": { - "backo2": "1.0.2", - "component-bind": "1.0.0", - "component-emitter": "~1.3.0", - "debug": "~3.1.0", - "engine.io-client": "~3.5.0", - "has-binary2": "~1.0.2", - "indexof": "0.0.1", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "socket.io-parser": "~3.3.0", - "to-array": "0.1.4" + "debug": "~4.3.4", + "ws": "~8.17.1" }, "dependencies": { "debug": { - "version": "3.1.0", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "2.1.2" } }, - "socket.io-parser": { - "version": "3.3.2", + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "dev": true, + "requires": {} + } + } + }, + "socket.io-client": { + "version": "4.7.5", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz", + "integrity": "sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==", + "dev": true, + "requires": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.2", + "engine.io-client": "~6.5.2", + "socket.io-parser": "~4.2.4" + }, + "dependencies": { + "debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "requires": { - "component-emitter": "~1.3.0", - "debug": "~3.1.0", - "isarray": "2.0.1" + "ms": "2.1.2" } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, "socket.io-parser": { - "version": "3.4.1", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", "dev": true, "requires": { - "component-emitter": "1.2.1", - "debug": "~4.1.0", - "isarray": "2.0.1" + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" }, "dependencies": { - "component-emitter": { - "version": "1.2.1", - "dev": true - }, "debug": { - "version": "4.1.1", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { - "version": "2.1.3", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } @@ -9432,6 +9352,8 @@ }, "stream-throttle": { "version": "0.1.3", + "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", + "integrity": "sha512-889+B9vN9dq7/vLbGyuHeZ6/ctf5sNuGWsDy89uNxkFTAgzy0eK7+w5fL3KLNRTkLle7EgZGvHUphZW0Q26MnQ==", "dev": true, "requires": { "commander": "^2.2.0", @@ -9440,6 +9362,8 @@ "dependencies": { "commander": { "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true } } @@ -9692,10 +9616,6 @@ "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", "dev": true }, - "symbol-observable": { - "version": "1.0.1", - "dev": true - }, "symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", @@ -9719,46 +9639,6 @@ "version": "0.2.0", "dev": true }, - "tfunk": { - "version": "4.0.0", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "dlv": "^1.1.3" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "dev": true - } - } - }, "through2": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", @@ -9778,10 +9658,6 @@ "version": "1.1.3", "dev": true }, - "to-array": { - "version": "0.1.4", - "dev": true - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -9829,7 +9705,9 @@ "dev": true }, "ua-parser-js": { - "version": "1.0.2", + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz", + "integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==", "dev": true }, "uberproto": { @@ -9841,6 +9719,12 @@ "dev": true, "optional": true }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, "universalify": { "version": "0.1.2", "dev": true @@ -9947,16 +9831,14 @@ "isexe": "^2.0.0" } }, - "which-module": { - "version": "2.0.0", - "dev": true - }, "wordwrap": { "version": "1.0.0", "dev": true }, "wrap-ansi": { - "version": "6.2.0", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { "ansi-styles": "^4.0.0", @@ -10000,40 +9882,36 @@ "dev": true }, "xmlhttprequest-ssl": { - "version": "1.6.3", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", + "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", "dev": true }, "y18n": { - "version": "4.0.3", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true }, "yargs": { - "version": "15.4.1", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" } }, "yargs-parser": { - "version": "18.1.3", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "yeast": { - "version": "0.1.2", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true } }