diff --git a/package-lock.json b/package-lock.json index ce38b7f..5102505 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "sdfv", - "version": "1.6.8", + "version": "1.7.9", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "sdfv", - "version": "1.6.8", + "version": "1.7.9", "hasInstallScript": true, "workspaces": [ "./packages/sdfv" @@ -74,9 +74,9 @@ } }, "node_modules/@babel/cli": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.24.7.tgz", - "integrity": "sha512-8dfPprJgV4O14WTx+AQyEA+opgUKPrsIXX/MdL50J1n06EQJ6m1T+CdsJe0qEC0B/Xl85i+Un5KVAxd/PACX9A==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.24.8.tgz", + "integrity": "sha512-isdp+G6DpRyKc+3Gqxy2rjzgF7Zj9K0mzLNnxz+E/fgeag8qT3vVulX4gY9dGO1q0y+0lUv6V3a+uhUzMzrwXg==", "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", @@ -177,30 +177,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz", - "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz", - "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.7", - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helpers": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/template": "^7.24.7", - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -225,12 +225,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", - "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.4.tgz", + "integrity": "sha512-NFtZmZsyzDPJnk9Zg3BbTfKKc9UlHYzD0E//p2Z3B9nCwwtJW9T0gVbCz8+fBngnn4zf1Dr3IK8PHQQHq0lDQw==", "dev": true, "dependencies": { - "@babel/types": "^7.24.7", + "@babel/types": "^7.25.4", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -265,14 +265,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz", - "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.24.7", - "@babel/helper-validator-option": "^7.24.7", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -305,19 +305,17 @@ "dev": true }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz", - "integrity": "sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", + "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", "@babel/helper-optimise-call-expression": "^7.24.7", - "@babel/helper-replace-supers": "^7.24.7", + "@babel/helper-replace-supers": "^7.25.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/traverse": "^7.25.4", "semver": "^6.3.1" }, "engines": { @@ -337,9 +335,9 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz", - "integrity": "sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", + "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", @@ -378,51 +376,14 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", - "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", - "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", - "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz", - "integrity": "sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", "dev": true, "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -442,16 +403,15 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", - "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-module-imports": "^7.24.7", "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7" + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" }, "engines": { "node": ">=6.9.0" @@ -473,23 +433,23 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", - "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz", - "integrity": "sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", + "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-wrap-function": "^7.24.7" + "@babel/helper-wrap-function": "^7.25.0", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -499,14 +459,14 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz", - "integrity": "sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", + "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-member-expression-to-functions": "^7.24.7", - "@babel/helper-optimise-call-expression": "^7.24.7" + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -541,22 +501,10 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", - "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", - "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "dev": true, "engines": { "node": ">=6.9.0" @@ -572,37 +520,36 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz", - "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz", - "integrity": "sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", + "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.24.7", - "@babel/template": "^7.24.7", - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz", - "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz", + "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==", "dev": true, "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -695,10 +642,13 @@ } }, "node_modules/@babel/parser": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", - "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.4.tgz", + "integrity": "sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA==", "dev": true, + "dependencies": { + "@babel/types": "^7.25.4" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -707,13 +657,28 @@ } }, "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz", - "integrity": "sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==", + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", + "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", + "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -723,12 +688,12 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.7.tgz", - "integrity": "sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", + "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -755,13 +720,13 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz", - "integrity": "sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", + "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -1029,12 +994,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", - "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz", + "integrity": "sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1075,15 +1040,15 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz", - "integrity": "sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz", + "integrity": "sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-remap-async-to-generator": "^7.24.7", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-remap-async-to-generator": "^7.25.0", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/traverse": "^7.25.4" }, "engines": { "node": ">=6.9.0" @@ -1125,12 +1090,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz", - "integrity": "sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", + "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1140,13 +1105,13 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz", - "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz", + "integrity": "sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1173,18 +1138,16 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.7.tgz", - "integrity": "sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz", + "integrity": "sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.7", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-replace-supers": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/traverse": "^7.25.4", "globals": "^11.1.0" }, "engines": { @@ -1220,12 +1183,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz", - "integrity": "sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", + "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1265,6 +1228,22 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", + "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-transform-dynamic-import": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", @@ -1330,14 +1309,14 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz", - "integrity": "sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==", + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", + "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.1" }, "engines": { "node": ">=6.9.0" @@ -1363,12 +1342,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz", - "integrity": "sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", + "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1425,13 +1404,13 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz", - "integrity": "sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", + "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-simple-access": "^7.24.7" }, "engines": { @@ -1442,15 +1421,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz", - "integrity": "sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", + "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", "dev": true, "dependencies": { - "@babel/helper-hoist-variables": "^7.24.7", - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7" + "@babel/helper-module-transforms": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -1589,12 +1568,12 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.7.tgz", - "integrity": "sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", + "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, @@ -1621,13 +1600,13 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz", - "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz", + "integrity": "sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1701,15 +1680,15 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz", - "integrity": "sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.4.tgz", + "integrity": "sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", "semver": "^6.3.1" }, @@ -1791,12 +1770,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.7.tgz", - "integrity": "sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", + "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1806,14 +1785,15 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.7.tgz", - "integrity": "sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz", + "integrity": "sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", "@babel/plugin-syntax-typescript": "^7.24.7" }, "engines": { @@ -1871,13 +1851,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz", - "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz", + "integrity": "sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1887,19 +1867,20 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.7.tgz", - "integrity": "sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-validator-option": "^7.24.7", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.7", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz", + "integrity": "sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.25.4", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", @@ -1920,29 +1901,30 @@ "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.24.7", - "@babel/plugin-transform-async-generator-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", "@babel/plugin-transform-async-to-generator": "^7.24.7", "@babel/plugin-transform-block-scoped-functions": "^7.24.7", - "@babel/plugin-transform-block-scoping": "^7.24.7", - "@babel/plugin-transform-class-properties": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.25.4", "@babel/plugin-transform-class-static-block": "^7.24.7", - "@babel/plugin-transform-classes": "^7.24.7", + "@babel/plugin-transform-classes": "^7.25.4", "@babel/plugin-transform-computed-properties": "^7.24.7", - "@babel/plugin-transform-destructuring": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", "@babel/plugin-transform-dotall-regex": "^7.24.7", "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", "@babel/plugin-transform-dynamic-import": "^7.24.7", "@babel/plugin-transform-exponentiation-operator": "^7.24.7", "@babel/plugin-transform-export-namespace-from": "^7.24.7", "@babel/plugin-transform-for-of": "^7.24.7", - "@babel/plugin-transform-function-name": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", "@babel/plugin-transform-json-strings": "^7.24.7", - "@babel/plugin-transform-literals": "^7.24.7", + "@babel/plugin-transform-literals": "^7.25.2", "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", "@babel/plugin-transform-member-expression-literals": "^7.24.7", "@babel/plugin-transform-modules-amd": "^7.24.7", - "@babel/plugin-transform-modules-commonjs": "^7.24.7", - "@babel/plugin-transform-modules-systemjs": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-modules-systemjs": "^7.25.0", "@babel/plugin-transform-modules-umd": "^7.24.7", "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", "@babel/plugin-transform-new-target": "^7.24.7", @@ -1951,9 +1933,9 @@ "@babel/plugin-transform-object-rest-spread": "^7.24.7", "@babel/plugin-transform-object-super": "^7.24.7", "@babel/plugin-transform-optional-catch-binding": "^7.24.7", - "@babel/plugin-transform-optional-chaining": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", "@babel/plugin-transform-parameters": "^7.24.7", - "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", "@babel/plugin-transform-private-property-in-object": "^7.24.7", "@babel/plugin-transform-property-literals": "^7.24.7", "@babel/plugin-transform-regenerator": "^7.24.7", @@ -1962,16 +1944,16 @@ "@babel/plugin-transform-spread": "^7.24.7", "@babel/plugin-transform-sticky-regex": "^7.24.7", "@babel/plugin-transform-template-literals": "^7.24.7", - "@babel/plugin-transform-typeof-symbol": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.8", "@babel/plugin-transform-unicode-escapes": "^7.24.7", "@babel/plugin-transform-unicode-property-regex": "^7.24.7", "@babel/plugin-transform-unicode-regex": "^7.24.7", - "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.4", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.31.0", + "core-js-compat": "^3.37.1", "semver": "^6.3.1" }, "engines": { @@ -2030,9 +2012,9 @@ "dev": true }, "node_modules/@babel/runtime": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", - "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.4.tgz", + "integrity": "sha512-DSgLeL/FNcpXuzav5wfYvHCGvynXkJbn3Zvc3823AEe9nPwW9IK4UoCSS5yGymmQzN0pCPvivtgS6/8U2kkm1w==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -2041,33 +2023,30 @@ } }, "node_modules/@babel/template": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", - "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", "dev": true, "dependencies": { "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", - "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.4.tgz", + "integrity": "sha512-VJ4XsrD+nOvlXyLzmLzUs/0qjFS4sK30te5yEFlvbbUNEgKaVb2BHZUpAL+ttLPQAHNrsI3zZisbfha5Cvr8vg==", "dev": true, "dependencies": { "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.7", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-hoist-variables": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7", + "@babel/generator": "^7.25.4", + "@babel/parser": "^7.25.4", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.4", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -2085,12 +2064,12 @@ } }, "node_modules/@babel/types": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", - "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.4.tgz", + "integrity": "sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-string-parser": "^7.24.8", "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, @@ -2937,9 +2916,9 @@ } }, "node_modules/@jsonjoy.com/json-pack": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.0.4.tgz", - "integrity": "sha512-aOcSN4MeAtFROysrbqG137b7gaDDSmVrl5mpo6sT/w+kcXpWnzhMjmY/Fh/sDx26NBxyIE7MB1seqLeCAzy9Sg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.1.0.tgz", + "integrity": "sha512-zlQONA+msXPPwHWZMKFVS78ewFczIll5lXiVPwFPCZUsrOKdxc2AvxU1HoNBmMRhqDZUR9HkC3UOm+6pME6Xsg==", "dev": true, "dependencies": { "@jsonjoy.com/base64": "^1.1.1", @@ -2959,9 +2938,9 @@ } }, "node_modules/@jsonjoy.com/util": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.2.0.tgz", - "integrity": "sha512-4B8B+3vFsY4eo33DMKyJPlQ3sBMpPFUZK2dr3O3rXrOGKKbYG44J0XSFkDo1VOQiri5HFEhIeVvItjR2xcazmg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.3.0.tgz", + "integrity": "sha512-Cebt4Vk7k1xHy87kHY7KSPLT77A7Ev7IfOblyLZhtYEhrdQ6fX4EoLq3xOQ3O/DRMEh2ok5nyC180E+ABS8Wmw==", "dev": true, "engines": { "node": ">=10.0" @@ -3654,9 +3633,9 @@ "integrity": "sha512-qp3m9PPz4gULB9MhjGID7wpo3gJ4bTGXm7ltNDsmOvsPduTeHp8wSW9YckBj3mljeOh4F0m2z/0JKAALRKbmLQ==" }, "node_modules/@types/eslint": { - "version": "8.56.10", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", - "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.0.tgz", + "integrity": "sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==", "dev": true, "dependencies": { "@types/estree": "*", @@ -3729,9 +3708,9 @@ "dev": true }, "node_modules/@types/http-proxy": { - "version": "1.17.14", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", - "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "version": "1.17.15", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", + "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", "dev": true, "dependencies": { "@types/node": "*" @@ -3922,24 +3901,24 @@ "dev": true }, "node_modules/@types/vscode": { - "version": "1.91.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.91.0.tgz", - "integrity": "sha512-PgPr+bUODjG3y+ozWUCyzttqR9EHny9sPAfJagddQjDwdtf66y2sDKJMnFZRuzBA2YtBGASqJGPil8VDUPvO6A==", + "version": "1.92.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.92.0.tgz", + "integrity": "sha512-DcZoCj17RXlzB4XJ7IfKdPTcTGDLYvTOcTNkvtjXWF+K2TlKzHHkBEXNWQRpBIXixNEUgx39cQeTFunY0E2msw==", "dev": true }, "node_modules/@types/ws": { - "version": "8.5.10", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", - "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "version": "8.5.12", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", + "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -4518,15 +4497,15 @@ } }, "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", - "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", + "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, "dependencies": { "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.4.1" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -4714,6 +4693,12 @@ "util": "^0.12.5" } }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true + }, "node_modules/async-foreach": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", @@ -4732,9 +4717,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", "dev": true, "funding": [ { @@ -4751,11 +4736,11 @@ } ], "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -4988,13 +4973,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", - "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.1", - "core-js-compat": "^3.36.1" + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -5031,23 +5016,26 @@ } }, "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", "dev": true, "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0" @@ -5383,9 +5371,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", - "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "dev": true, "funding": [ { @@ -5402,9 +5390,9 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001640", - "electron-to-chromium": "^1.4.820", - "node-releases": "^2.0.14", + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", "update-browserslist-db": "^1.1.0" }, "bin": { @@ -5663,9 +5651,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001641", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001641.tgz", - "integrity": "sha512-Phv5thgl67bHYo1TtMY/MurjkHhV4EDaCosezRXgZ8jzA/Ub+wjxAvbGvjoFENStinwi5kCyOYV3mi5tOGykwA==", + "version": "1.0.30001651", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", + "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", "dev": true, "funding": [ { @@ -5707,9 +5695,9 @@ } }, "node_modules/chart.js": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.3.tgz", - "integrity": "sha512-qK1gkGSRYcJzqrrzdR6a+I0vQ4/R+SoODXyAjscQ/4mzuNzySaMCd+hyVxitSY1+L2fjPD1Gbn+ibNqRmwQeLw==", + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.4.tgz", + "integrity": "sha512-emICKGBABnxhMjUjlYRR12PmOXhJ2eJjEHL2/dZlWjxRAZT1D8xplLFq5M0tMQK8ja+wBS/tuVEJB5C6r7VxJA==", "dependencies": { "@kurkle/color": "^0.3.0" }, @@ -6147,12 +6135,12 @@ "hasInstallScript": true }, "node_modules/core-js-compat": { - "version": "3.37.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", - "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", "dev": true, "dependencies": { - "browserslist": "^4.23.0" + "browserslist": "^4.23.3" }, "funding": { "type": "opencollective", @@ -6288,9 +6276,9 @@ } }, "node_modules/debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -6579,10 +6567,25 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/electron-to-chromium": { - "version": "1.4.823", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.823.tgz", - "integrity": "sha512-4h+oPeAiGQOHFyUJOqpoEcPj/xxlicxBzOErVeYVMMmAiXUXsGpsFd0QXBMaUUbnD8hhSfLf9uw+MlsoIA7j5w==", + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", + "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==", "dev": true }, "node_modules/emittery": { @@ -6633,9 +6636,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz", - "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -7124,6 +7127,12 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, + "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 + }, "node_modules/fastest-levenshtein": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", @@ -7213,6 +7222,27 @@ "url": "https://opencollective.com/webpack" } }, + "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, + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "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, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -7511,9 +7541,9 @@ } }, "node_modules/foreground-child": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", - "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, "dependencies": { "cross-spawn": "^7.0.0", @@ -8294,9 +8324,9 @@ ] }, "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "engines": { "node": ">= 4" @@ -8309,9 +8339,9 @@ "dev": true }, "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==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", "dev": true }, "node_modules/import-fresh": { @@ -8331,9 +8361,9 @@ } }, "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", "dev": true, "dependencies": { "pkg-dir": "^4.2.0", @@ -8473,9 +8503,9 @@ } }, "node_modules/is-core-module": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", - "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "dev": true, "dependencies": { "hasown": "^2.0.2" @@ -8844,16 +8874,13 @@ } }, "node_modules/jackspeak": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.2.tgz", - "integrity": "sha512-qH3nOSj8q/8+Eg8LUPOq3C+6HWkpUioIjDsq1+D4zY91oZvpPttw8GwtF1nReRYKXl+1AORyFqtm2f5Q1SB6/Q==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": "14 >=14.21 || 16 >=16.20 || >=18" - }, "funding": { "url": "https://github.com/sponsors/isaacs" }, @@ -8861,6 +8888,46 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/jake": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "dev": true, + "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/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/jake/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/javascript-natural-sort": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz", @@ -9823,9 +9890,9 @@ } }, "node_modules/launch-editor": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.8.0.tgz", - "integrity": "sha512-vJranOAJrI/llyWGRQqiDM+adrw+k83fvmmx3+nV47g3+36xM15jE+zyZ6Ffel02+xSvuM0b2GDRosXZkbb6wA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.8.1.tgz", + "integrity": "sha512-elBx2l/tp9z99X5H/qev8uyDywVh0VXAwEbjk8kJhnc5grOFkGh7aW6q55me9xnYbss261XtnUrysZ+XvGbhQA==", "dev": true, "dependencies": { "picocolors": "^1.0.0", @@ -10149,13 +10216,13 @@ } }, "node_modules/memfs": { - "version": "4.9.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.9.3.tgz", - "integrity": "sha512-bsYSSnirtYTWi1+OPMFb0M048evMKyUYe0EbtuGQgq6BVQM1g1W8/KIUJCCvjgI/El0j6Q4WsmMiBwLUBSw8LA==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.11.1.tgz", + "integrity": "sha512-LZcMTBAgqUUKNXZagcZxvXXfgF1bHX7Y7nQ0QyEiNbRJgE29GhgPd8Yna1VQcLlPiHt/5RFJMWYN9Uv/VPNvjQ==", "dev": true, "dependencies": { "@jsonjoy.com/json-pack": "^1.0.3", - "@jsonjoy.com/util": "^1.1.2", + "@jsonjoy.com/util": "^1.3.0", "tree-dump": "^1.0.1", "tslib": "^2.0.0" }, @@ -10531,9 +10598,9 @@ } }, "node_modules/mocha": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.6.0.tgz", - "integrity": "sha512-hxjt4+EEB0SA0ZDygSS015t65lJw/I2yRCS3Ae+SJ5FrbzrXgfYwJr96f0OvIXdj7h4lv/vLCrH3rkiuizFSvw==", + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.3.tgz", + "integrity": "sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==", "dev": true, "dependencies": { "ansi-colors": "^4.1.3", @@ -10992,15 +11059,16 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "dev": true }, "node_modules/node-sass": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-9.0.0.tgz", "integrity": "sha512-yltEuuLrfH6M7Pq2gAj5B6Zm7m+gdZoG66wTqG6mIZV/zijq3M2OO2HswtT6oBspPyFhHDcaxWpsBm0fRNDHPg==", + "deprecated": "Node Sass is no longer supported. Please use `sass` or `sass-embedded` instead.", "dev": true, "hasInstallScript": true, "dependencies": { @@ -11835,9 +11903,9 @@ } }, "node_modules/postcss": { - "version": "8.4.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", - "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", "dev": true, "funding": [ { @@ -11944,9 +12012,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", - "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -12096,9 +12164,9 @@ ] }, "node_modules/qs": { - "version": "6.12.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.3.tgz", - "integrity": "sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dependencies": { "side-channel": "^1.0.6" }, @@ -12565,9 +12633,9 @@ } }, "node_modules/rimraf": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.9.tgz", - "integrity": "sha512-3i7b8OcswU6CpU8Ej89quJD4O98id7TtVM5U4Mybh84zQXdrFmDLouWBEEaD/QfO3gDDfH+AGFCGsR7kngzQnA==", + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", + "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", "dev": true, "dependencies": { "glob": "^10.3.7" @@ -12575,9 +12643,6 @@ "bin": { "rimraf": "dist/esm/bin.mjs" }, - "engines": { - "node": "14 >=14.20 || 16 >=16.20 || >=18" - }, "funding": { "url": "https://github.com/sponsors/isaacs" } @@ -12664,9 +12729,9 @@ "dev": true }, "node_modules/sass": { - "version": "1.77.7", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.7.tgz", - "integrity": "sha512-9ywH75cO+rLjbrZ6en3Gp8qAMwPGBapFtlsMJoDTkcMU/bSe5a6cjKVUn5Jr4Gzg5GbP3HE8cm+02pLCgcoMow==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz", + "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -12859,15 +12924,15 @@ } }, "node_modules/schema-utils/node_modules/ajv": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", - "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", + "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, "dependencies": { "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.4.1" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -12927,9 +12992,9 @@ } }, "node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "bin": { "semver": "bin/semver.js" }, @@ -13330,9 +13395,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.18", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", - "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==", + "version": "3.0.20", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", + "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", "dev": true }, "node_modules/spdy": { @@ -13713,9 +13778,9 @@ } }, "node_modules/terser": { - "version": "5.31.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz", - "integrity": "sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==", + "version": "5.31.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", + "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -13958,12 +14023,13 @@ } }, "node_modules/ts-jest": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.0.tgz", - "integrity": "sha512-eFmkE9MG0+oT6nqSOcUwL+2UUmK2IvhhUV8hFDsCHnc++v2WCCbQQZh5vvjsa8sgOY/g9T0325hmkEmi6rninA==", + "version": "29.2.4", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.4.tgz", + "integrity": "sha512-3d6tgDyhCI29HlpwIq87sNuI+3Q6GLTTCeYRHCs7vDz+/3GCMwEtV9jezLyl4ZtnBgx00I7hm8PCP8cTksMGrw==", "dev": true, "dependencies": { "bs-logger": "0.x", + "ejs": "^3.1.10", "fast-json-stable-stringify": "2.x", "jest-util": "^29.0.0", "json5": "^2.2.3", @@ -14146,9 +14212,9 @@ } }, "node_modules/typescript": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz", - "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==", + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -14279,12 +14345,15 @@ } }, "node_modules/url": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", - "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz", + "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==", "dependencies": { "punycode": "^1.4.1", - "qs": "^6.11.2" + "qs": "^6.12.3" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/url/node_modules/punycode": { @@ -14379,9 +14448,9 @@ } }, "node_modules/watchpack": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", - "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -14401,9 +14470,9 @@ } }, "node_modules/webpack": { - "version": "5.92.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.92.1.tgz", - "integrity": "sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==", + "version": "5.93.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz", + "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", @@ -14502,9 +14571,9 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.2.1.tgz", - "integrity": "sha512-hRLz+jPQXo999Nx9fXVdKlg/aehsw1ajA9skAneGmT03xwmyuhvF93p6HUKKbWhXdcERtGTzUCtIQr+2IQegrA==", + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz", + "integrity": "sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==", "dev": true, "dependencies": { "colorette": "^2.0.10", @@ -14920,9 +14989,9 @@ "dev": true }, "node_modules/yaml": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", - "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", + "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", "bin": { "yaml": "bin.mjs" }, @@ -15014,7 +15083,7 @@ } }, "packages/sdfv": { - "version": "1.2.8", + "version": "1.2.9", "hasInstallScript": true, "license": "BSD-3-Clause", "dependencies": { diff --git a/package.json b/package.json index 5234739..e114af5 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "sdfv", "displayName": "DaCe SDFG Editor", "description": "Transform and optimize data-centric programs with a click of a button", - "version": "1.7.9", + "version": "1.7.10", "engines": { "vscode": "^1.75.0" }, @@ -214,6 +214,11 @@ "default": false, "description": "Use a vertical scroll navigation in the SDFG editor" }, + "dace.sdfv.bindToViewport": { + "type": "boolean", + "default": true, + "description": "Restrict panning to ensure the graph is always visible" + }, "dace.sdfv.adaptiveContentHiding": { "type": "boolean", "default": true, @@ -243,6 +248,48 @@ "maximum": 100, "description": "Horizontal node spacing" }, + "dace.sdfv.taskletLOD": { + "type": "number", + "default": 0.35, + "minimum": 0.0, + "maximum": 5.0, + "description": "Zoom-level threshold for drawing tasklet contents" + }, + "dace.sdfv.scopeLOD": { + "type": "number", + "default": 0.75, + "minimum": 0.0, + "maximum": 5.0, + "description": "Zoom threshold for drawing simple versions of scopes" + }, + "dace.sdfv.edgeLOD": { + "type": "number", + "default": 5.0, + "minimum": 0.0, + "maximum": 10.0, + "description": "Zoom threshold for drawing memlets and control flow edges" + }, + "dace.sdfv.nodeLOD": { + "type": "number", + "default": 5.0, + "minimum": 0.0, + "maximum": 10.0, + "description": "Zoom threshold for drawing node shapes and labels" + }, + "dace.sdfv.textLOD": { + "type": "number", + "default": 1.5, + "minimum": 0.0, + "maximum": 10.0, + "description": "Zoom threshold for drawing node text" + }, + "dace.sdfv.nestedLOD": { + "type": "number", + "default": 100, + "minimum": 0, + "maximum": 1000, + "description": "Zoom threshold for drawing contents of control flow blocks (including states) and nested SDFGs" + }, "dace.backend.interpreterPath": { "type": "string", "default": "", diff --git a/packages/sdfv b/packages/sdfv index 55e4549..21a11bb 160000 --- a/packages/sdfv +++ b/packages/sdfv @@ -1 +1 @@ -Subproject commit 55e4549eb77f7a976326903b582a70553f5e32de +Subproject commit 21a11bbc161f7988e92774ca4d016e3be64379d3 diff --git a/src/utils/sdfg_meta_dict.json b/src/utils/sdfg_meta_dict.json index ec9d221..a9425e1 100644 --- a/src/utils/sdfg_meta_dict.json +++ b/src/utils/sdfg_meta_dict.json @@ -318,9 +318,9 @@ }, "Property": { "metatype": "Property", - "desc": "", + "desc": "A scalar which will be multiplied with A @ B before adding C", "category": "General", - "default": null + "default": 1 }, "Number": { "metatype": "Number", @@ -417,9 +417,6 @@ } }, "__libs__": { - "CodeLibraryNode": "dace.libraries.standard.nodes.code.CodeLibraryNode", - "Gearbox": "dace.libraries.standard.nodes.gearbox.Gearbox", - "Reduce": "dace.libraries.standard.nodes.reduce.Reduce", "MatMul": "dace.libraries.blas.nodes.matmul.MatMul", "Dot": "dace.libraries.blas.nodes.dot.Dot", "Gemv": "dace.libraries.blas.nodes.gemv.Gemv", @@ -428,6 +425,9 @@ "BatchedMatMul": "dace.libraries.blas.nodes.batched_matmul.BatchedMatMul", "Axpy": "dace.libraries.blas.nodes.axpy.Axpy", "Einsum": "dace.libraries.blas.nodes.einsum.Einsum", + "CodeLibraryNode": "dace.libraries.standard.nodes.code.CodeLibraryNode", + "Gearbox": "dace.libraries.standard.nodes.gearbox.Gearbox", + "Reduce": "dace.libraries.standard.nodes.reduce.Reduce", "Transpose": "dace.libraries.standard.nodes.transpose.Transpose", "TensorTranspose": "dace.libraries.standard.nodes.ttranspose.TensorTranspose" }, @@ -3616,6 +3616,13 @@ "default": false, "indirected": true }, + "unroll_factor": { + "metatype": "int", + "desc": "How much iterations should be unrolled. To prevent unrolling, set this value to 1.", + "category": "General", + "default": 0, + "indirected": true + }, "collapse": { "metatype": "int", "desc": "How many dimensions to collapse into the parallel range", @@ -3790,6 +3797,12 @@ "category": "General", "default": false }, + "unroll_factor": { + "metatype": "int", + "desc": "How much iterations should be unrolled. To prevent unrolling, set this value to 1.", + "category": "General", + "default": 0 + }, "collapse": { "metatype": "int", "desc": "How many dimensions to collapse into the parallel range", @@ -4184,6 +4197,13 @@ "default": false, "indirected": true }, + "unroll_factor": { + "metatype": "int", + "desc": "How much iterations should be unrolled. To prevent unrolling, set this value to 1.", + "category": "General", + "default": 0, + "indirected": true + }, "collapse": { "metatype": "int", "desc": "How many dimensions to collapse into the parallel range", @@ -4388,6 +4408,12 @@ "category": "General", "default": false }, + "unroll_factor": { + "metatype": "int", + "desc": "How much iterations should be unrolled. To prevent unrolling, set this value to 1.", + "category": "General", + "default": 0 + }, "collapse": { "metatype": "int", "desc": "How many dimensions to collapse into the parallel range", @@ -4688,6 +4714,102 @@ "value_type": "list" } }, + "ContinueBlock": { + "is_collapsed": { + "metatype": "bool", + "desc": "Show this block as collapsed", + "category": "General", + "default": false + }, + "pre_conditions": { + "metatype": "dict", + "desc": "Pre-conditions for this block", + "category": "General", + "default": {}, + "key_type": "str", + "value_type": "list" + }, + "post_conditions": { + "metatype": "dict", + "desc": "Post-conditions for this block", + "category": "General", + "default": {}, + "key_type": "str", + "value_type": "list" + }, + "invariant_conditions": { + "metatype": "dict", + "desc": "Invariant conditions for this block", + "category": "General", + "default": {}, + "key_type": "str", + "value_type": "list" + } + }, + "BreakBlock": { + "is_collapsed": { + "metatype": "bool", + "desc": "Show this block as collapsed", + "category": "General", + "default": false + }, + "pre_conditions": { + "metatype": "dict", + "desc": "Pre-conditions for this block", + "category": "General", + "default": {}, + "key_type": "str", + "value_type": "list" + }, + "post_conditions": { + "metatype": "dict", + "desc": "Post-conditions for this block", + "category": "General", + "default": {}, + "key_type": "str", + "value_type": "list" + }, + "invariant_conditions": { + "metatype": "dict", + "desc": "Invariant conditions for this block", + "category": "General", + "default": {}, + "key_type": "str", + "value_type": "list" + } + }, + "ReturnBlock": { + "is_collapsed": { + "metatype": "bool", + "desc": "Show this block as collapsed", + "category": "General", + "default": false + }, + "pre_conditions": { + "metatype": "dict", + "desc": "Pre-conditions for this block", + "category": "General", + "default": {}, + "key_type": "str", + "value_type": "list" + }, + "post_conditions": { + "metatype": "dict", + "desc": "Post-conditions for this block", + "category": "General", + "default": {}, + "key_type": "str", + "value_type": "list" + }, + "invariant_conditions": { + "metatype": "dict", + "desc": "Invariant conditions for this block", + "category": "General", + "default": {}, + "key_type": "str", + "value_type": "list" + } + }, "ControlFlowRegion": { "is_collapsed": { "metatype": "bool", @@ -5338,24 +5460,7 @@ "default": [] } }, - "StateReachability": {}, - "SymbolAccessSets": {}, - "AccessSets": {}, - "FindAccessStates": {}, - "FindAccessNodes": {}, - "SymbolWriteScopes": {}, - "ScalarWriteShadowScopes": {}, - "AccessRanges": {}, - "FindReferenceSources": {}, - "DeriveSDFGConstraints": { - "assume_max_data_size": { - "metatype": "int", - "desc": "Assume that all data containers have no dimension larger than this value. If None, no assumption is made.", - "category": "General", - "default": null - } - }, - "MapCollapse": { + "SpecializeMatMul": { "cfg_id": { "metatype": "int", "desc": "", @@ -5383,18 +5488,18 @@ "default": 0 } }, - "dace.libraries.standard.nodes.code.CodeLibraryNode": { - "inputdict": { - "metatype": "dict", - "desc": "", + "dace.libraries.blas.nodes.matmul.MatMul": { + "alpha": { + "metatype": "Property", + "desc": "A scalar which will be multiplied with A @ B before adding C", "category": "General", - "default": {} + "default": 1 }, - "outputdict": { - "metatype": "dict", - "desc": "", + "beta": { + "metatype": "Property", + "desc": "A scalar which will be multiplied with C before adding C", "category": "General", - "default": {} + "default": 0 }, "name": { "metatype": "str", @@ -5408,7 +5513,7 @@ "category": "General", "default": null, "choices": [ - "default" + "specialize" ] }, "schedule": { @@ -5485,7 +5590,12 @@ "value_type": "typeclass" } }, - "Expansion": { + "BLAS": {}, + "OpenBLAS": {}, + "IntelMKL": {}, + "cuBLAS": {}, + "rocBLAS": {}, + "ExpandDotPure": { "cfg_id": { "metatype": "int", "desc": "", @@ -5513,7 +5623,7 @@ "default": 0 } }, - "ExpandGearbox": { + "ExpandDotOpenBLAS": { "cfg_id": { "metatype": "int", "desc": "", @@ -5541,105 +5651,35 @@ "default": 0 } }, - "dace.libraries.standard.nodes.gearbox.Gearbox": { - "size": { - "metatype": "SymbolicProperty", - "desc": "Number of wide vectors to convert to/from narrow vectors.", - "category": "General", + "ExpandDotMKL": { + "cfg_id": { + "metatype": "int", + "desc": "", + "category": "(Debug)", "default": 0 }, - "name": { - "metatype": "str", - "desc": "Name of node", - "category": "General", - "default": "" - }, - "implementation": { - "metatype": "LibraryImplementationProperty", - "desc": "Which implementation this library node will expand into.Must match a key in the list of possible implementations.", - "category": "General", - "default": null, - "choices": [ - "pure" - ] - }, - "schedule": { - "metatype": "ScheduleType", - "desc": "If set, determines the default device mapping of the node upon expansion, if expanded to a nested SDFG.", - "category": "General", - "default": "Default", - "choices": [ - "Default", - "Sequential", - "MPI", - "CPU_Multicore", - "CPU_Persistent", - "Unrolled", - "SVE_Map", - "GPU_Default", - "GPU_Device", - "GPU_ThreadBlock", - "GPU_ThreadBlock_Dynamic", - "GPU_Persistent", - "FPGA_Device", - "Snitch", - "Snitch_Multicore", - "FPGA_Multi_Pumped" - ] - }, - "debuginfo": { - "metatype": "DebugInfo", + "state_id": { + "metatype": "int", "desc": "", - "category": "General", - "default": { - "type": "DebugInfo", - "start_line": 0, - "end_line": 0, - "start_column": 0, - "end_column": 0, - "filename": null - } - }, - "label": { - "metatype": "str", - "desc": "Name of the CodeNode", - "category": "General", - "default": "" + "category": "(Debug)", + "default": 0 }, - "location": { + "_subgraph": { "metatype": "dict", - "desc": "Full storage location identifier (e.g., rank, GPU ID)", - "category": "General", + "desc": "", + "category": "(Debug)", "default": {}, - "key_type": "str", - "value_type": "pystr_to_symbolic" - }, - "environments": { - "metatype": "set", - "desc": "Environments required by CMake to build and run this code node.", - "category": "General", - "default": [] + "key_type": "int", + "value_type": "int" }, - "in_connectors": { - "metatype": "dict", - "desc": "A set of input connectors for this node.", - "category": "General", - "default": {}, - "key_type": "str", - "value_type": "typeclass" - }, - "out_connectors": { - "metatype": "dict", - "desc": "A set of output connectors for this node.", - "category": "General", - "default": {}, - "key_type": "str", - "value_type": "typeclass" + "expr_index": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 } }, - "CUDA": {}, - "HPTT": {}, - "ExpandReducePure": { + "ExpandDotCuBLAS": { "cfg_id": { "metatype": "int", "desc": "", @@ -5667,7 +5707,7 @@ "default": 0 } }, - "ExpandReducePureSequentialDim": { + "ExpandDotFpgaPartialSums": { "cfg_id": { "metatype": "int", "desc": "", @@ -5695,7 +5735,7 @@ "default": 0 } }, - "ExpandReduceOpenMP": { + "ExpandDotFpgaAccumulate": { "cfg_id": { "metatype": "int", "desc": "", @@ -5723,7 +5763,187 @@ "default": 0 } }, - "ExpandReduceCUDADevice": { + "dace.libraries.blas.nodes.dot.Dot": { + "n": { + "metatype": "SymbolicProperty", + "desc": "", + "category": "General", + "default": null + }, + "accumulator_type": { + "metatype": "typeclass", + "desc": "Accumulator or intermediate storage type", + "category": "General", + "default": null, + "base_types": [ + "bool", + "bool_", + "int8", + "int16", + "int32", + "int64", + "uint8", + "uint16", + "uint32", + "uint64", + "float16", + "float32", + "float64", + "complex64", + "complex128" + ], + "compound_types": { + "vector": { + "elements": { + "type": "str", + "default": "0" + }, + "dtype": { + "type": "typeclass", + "default": "bool" + } + }, + "pointer": { + "dtype": { + "type": "typeclass", + "default": "bool" + } + }, + "opaque": { + "ctype": { + "type": "str", + "default": "" + } + }, + "struct": { + "name": { + "type": "str", + "default": "" + }, + "data": { + "type": "dict", + "default": {}, + "value_type": "typeclass" + }, + "length": { + "type": "dict", + "default": {}, + "value_type": "int" + }, + "bytes": { + "type": "int", + "default": 0 + } + }, + "callback": { + "arguments": { + "type": "list", + "element_type": "typeclass", + "default": [] + }, + "returntypes": { + "type": "list", + "element_type": "typeclass", + "default": [] + } + } + } + }, + "name": { + "metatype": "str", + "desc": "Name of node", + "category": "General", + "default": "" + }, + "implementation": { + "metatype": "LibraryImplementationProperty", + "desc": "Which implementation this library node will expand into.Must match a key in the list of possible implementations.", + "category": "General", + "default": null, + "choices": [ + "pure", + "OpenBLAS", + "MKL", + "cuBLAS", + "FPGA_PartialSums", + "FPGA_Accumulate" + ] + }, + "schedule": { + "metatype": "ScheduleType", + "desc": "If set, determines the default device mapping of the node upon expansion, if expanded to a nested SDFG.", + "category": "General", + "default": "Default", + "choices": [ + "Default", + "Sequential", + "MPI", + "CPU_Multicore", + "CPU_Persistent", + "Unrolled", + "SVE_Map", + "GPU_Default", + "GPU_Device", + "GPU_ThreadBlock", + "GPU_ThreadBlock_Dynamic", + "GPU_Persistent", + "FPGA_Device", + "Snitch", + "Snitch_Multicore", + "FPGA_Multi_Pumped" + ] + }, + "debuginfo": { + "metatype": "DebugInfo", + "desc": "", + "category": "General", + "default": { + "type": "DebugInfo", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "filename": null + } + }, + "label": { + "metatype": "str", + "desc": "Name of the CodeNode", + "category": "General", + "default": "" + }, + "location": { + "metatype": "dict", + "desc": "Full storage location identifier (e.g., rank, GPU ID)", + "category": "General", + "default": {}, + "key_type": "str", + "value_type": "pystr_to_symbolic" + }, + "environments": { + "metatype": "set", + "desc": "Environments required by CMake to build and run this code node.", + "category": "General", + "default": [] + }, + "in_connectors": { + "metatype": "dict", + "desc": "A set of input connectors for this node.", + "category": "General", + "default": {}, + "key_type": "str", + "value_type": "typeclass" + }, + "out_connectors": { + "metatype": "dict", + "desc": "A set of output connectors for this node.", + "category": "General", + "default": {}, + "key_type": "str", + "value_type": "typeclass" + } + }, + "ExpandGemvPure": { "cfg_id": { "metatype": "int", "desc": "", @@ -5751,7 +5971,7 @@ "default": 0 } }, - "ExpandReduceCUDABlock": { + "ExpandGemvFpgaAccumulate": { "cfg_id": { "metatype": "int", "desc": "", @@ -5779,7 +5999,7 @@ "default": 0 } }, - "ExpandReduceCUDABlockAll": { + "ExpandGemvFpgaTilesByColumn": { "cfg_id": { "metatype": "int", "desc": "", @@ -5807,7 +6027,7 @@ "default": 0 } }, - "ExpandReduceFPGAPartialReduction": { + "ExpandGemvCuBLAS": { "cfg_id": { "metatype": "int", "desc": "", @@ -5835,7 +6055,7 @@ "default": 0 } }, - "ExpandReduceGPUAuto": { + "ExpandGemvOpenBLAS": { "cfg_id": { "metatype": "int", "desc": "", @@ -5863,123 +6083,35 @@ "default": 0 } }, - "dace.libraries.standard.nodes.reduce.Reduce": { - "axes": { - "metatype": "list", + "ExpandGemvMKL": { + "cfg_id": { + "metatype": "int", "desc": "", - "category": "General", - "default": null, - "element_type": "int" + "category": "(Debug)", + "default": 0 }, - "wcr": { - "metatype": "LambdaProperty", + "state_id": { + "metatype": "int", "desc": "", - "category": "General", - "default": "(lambda a, b: a)" + "category": "(Debug)", + "default": 0 }, - "identity": { - "metatype": "Property", + "_subgraph": { + "metatype": "dict", "desc": "", - "category": "General", - "default": null - }, - "name": { - "metatype": "str", - "desc": "Name of node", - "category": "General", - "default": "" + "category": "(Debug)", + "default": {}, + "key_type": "int", + "value_type": "int" }, - "implementation": { - "metatype": "LibraryImplementationProperty", - "desc": "Which implementation this library node will expand into.Must match a key in the list of possible implementations.", - "category": "General", - "default": null, - "choices": [ - "pure", - "pure-seq", - "OpenMP", - "CUDA (device)", - "CUDA (block)", - "CUDA (block allreduce)", - "FPGAPartialReduction", - "GPUAuto" - ] - }, - "schedule": { - "metatype": "ScheduleType", - "desc": "If set, determines the default device mapping of the node upon expansion, if expanded to a nested SDFG.", - "category": "General", - "default": "Default", - "choices": [ - "Default", - "Sequential", - "MPI", - "CPU_Multicore", - "CPU_Persistent", - "Unrolled", - "SVE_Map", - "GPU_Default", - "GPU_Device", - "GPU_ThreadBlock", - "GPU_ThreadBlock_Dynamic", - "GPU_Persistent", - "FPGA_Device", - "Snitch", - "Snitch_Multicore", - "FPGA_Multi_Pumped" - ] - }, - "debuginfo": { - "metatype": "DebugInfo", + "expr_index": { + "metatype": "int", "desc": "", - "category": "General", - "default": { - "type": "DebugInfo", - "start_line": 0, - "end_line": 0, - "start_column": 0, - "end_column": 0, - "filename": null - } - }, - "label": { - "metatype": "str", - "desc": "Name of the CodeNode", - "category": "General", - "default": "" - }, - "location": { - "metatype": "dict", - "desc": "Full storage location identifier (e.g., rank, GPU ID)", - "category": "General", - "default": {}, - "key_type": "str", - "value_type": "pystr_to_symbolic" - }, - "environments": { - "metatype": "set", - "desc": "Environments required by CMake to build and run this code node.", - "category": "General", - "default": [] - }, - "in_connectors": { - "metatype": "dict", - "desc": "A set of input connectors for this node.", - "category": "General", - "default": {}, - "key_type": "str", - "value_type": "typeclass" - }, - "out_connectors": { - "metatype": "dict", - "desc": "A set of output connectors for this node.", - "category": "General", - "default": {}, - "key_type": "str", - "value_type": "typeclass" + "category": "(Debug)", + "default": 0 } }, - "SpecializeMatMul": { + "ExpandGemvPBLAS": { "cfg_id": { "metatype": "int", "desc": "", @@ -6007,19 +6139,37 @@ "default": 0 } }, - "dace.libraries.blas.nodes.matmul.MatMul": { + "dace.libraries.blas.nodes.gemv.Gemv": { "alpha": { - "metatype": "Property", - "desc": "A scalar which will be multiplied with A @ B before adding C", + "metatype": "SymbolicProperty", + "desc": "", "category": "General", "default": 1 }, "beta": { - "metatype": "Property", - "desc": "A scalar which will be multiplied with C before adding C", + "metatype": "SymbolicProperty", + "desc": "", "category": "General", "default": 0 }, + "transA": { + "metatype": "bool", + "desc": "Whether to transpose A before multiplying", + "category": "General", + "default": false + }, + "n": { + "metatype": "SymbolicProperty", + "desc": "", + "category": "General", + "default": null + }, + "m": { + "metatype": "SymbolicProperty", + "desc": "", + "category": "General", + "default": null + }, "name": { "metatype": "str", "desc": "Name of node", @@ -6032,7 +6182,13 @@ "category": "General", "default": null, "choices": [ - "specialize" + "pure", + "OpenBLAS", + "MKL", + "cuBLAS", + "FPGA_Accumulate", + "FPGA_TilesByColumn", + "PBLAS" ] }, "schedule": { @@ -6109,12 +6265,7 @@ "value_type": "typeclass" } }, - "BLAS": {}, - "OpenBLAS": {}, - "IntelMKL": {}, - "cuBLAS": {}, - "rocBLAS": {}, - "ExpandDotPure": { + "ExpandGemmPure": { "cfg_id": { "metatype": "int", "desc": "", @@ -6142,7 +6293,7 @@ "default": 0 } }, - "ExpandDotOpenBLAS": { + "ExpandGemmOpenBLAS": { "cfg_id": { "metatype": "int", "desc": "", @@ -6170,7 +6321,7 @@ "default": 0 } }, - "ExpandDotMKL": { + "ExpandGemmMKL": { "cfg_id": { "metatype": "int", "desc": "", @@ -6198,7 +6349,7 @@ "default": 0 } }, - "ExpandDotCuBLAS": { + "ExpandGemmGPUBLAS": { "cfg_id": { "metatype": "int", "desc": "", @@ -6226,7 +6377,7 @@ "default": 0 } }, - "ExpandDotFpgaPartialSums": { + "ExpandGemmCuBLAS": { "cfg_id": { "metatype": "int", "desc": "", @@ -6254,7 +6405,7 @@ "default": 0 } }, - "ExpandDotFpgaAccumulate": { + "ExpandGemmRocBLAS": { "cfg_id": { "metatype": "int", "desc": "", @@ -6282,16 +6433,74 @@ "default": 0 } }, - "dace.libraries.blas.nodes.dot.Dot": { - "n": { - "metatype": "SymbolicProperty", + "ExpandGemmPBLAS": { + "cfg_id": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 + }, + "state_id": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 + }, + "_subgraph": { + "metatype": "dict", "desc": "", + "category": "(Debug)", + "default": {}, + "key_type": "int", + "value_type": "int" + }, + "expr_index": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 + } + }, + "dace.libraries.blas.nodes.gemm.Gemm": { + "transA": { + "metatype": "bool", + "desc": "Whether to transpose A before multiplying", + "category": "General", + "default": false + }, + "transB": { + "metatype": "bool", + "desc": "Whether to transpose B before multiplying", + "category": "General", + "default": false + }, + "alpha": { + "metatype": "Property", + "desc": "A scalar which will be multiplied with A @ B before adding C", + "category": "General", + "default": 1 + }, + "beta": { + "metatype": "Property", + "desc": "A scalar which will be multiplied with C before adding C", + "category": "General", + "default": 0 + }, + "cin": { + "metatype": "bool", + "desc": "Whether to have a _cin connector when beta != 0", + "category": "General", + "default": true + }, + "algorithm": { + "metatype": "str", + "desc": "If applicable, chooses the vendor-provided implementation (algorithm) for the multiplication", "category": "General", "default": null }, "accumulator_type": { "metatype": "typeclass", - "desc": "Accumulator or intermediate storage type", + "desc": "Accumulator or intermediate storage type used in multiplication", "category": "General", "default": null, "base_types": [ @@ -6368,6 +6577,12 @@ } } }, + "compute_type": { + "metatype": "str", + "desc": "If applicable, overrides computation type (CUBLAS-specific, see ``cublasComputeType_t``)", + "category": "General", + "default": null + }, "name": { "metatype": "str", "desc": "Name of node", @@ -6381,11 +6596,12 @@ "default": null, "choices": [ "pure", - "OpenBLAS", "MKL", + "OpenBLAS", "cuBLAS", - "FPGA_PartialSums", - "FPGA_Accumulate" + "rocBLAS", + "PBLAS", + "FPGA1DSystolic" ] }, "schedule": { @@ -6462,7 +6678,7 @@ "value_type": "typeclass" } }, - "ExpandGemvPure": { + "ExpandGerPure": { "cfg_id": { "metatype": "int", "desc": "", @@ -6490,7 +6706,7 @@ "default": 0 } }, - "ExpandGemvFpgaAccumulate": { + "ExpandGerFpga": { "cfg_id": { "metatype": "int", "desc": "", @@ -6518,176 +6734,36 @@ "default": 0 } }, - "ExpandGemvFpgaTilesByColumn": { - "cfg_id": { - "metatype": "int", + "dace.libraries.blas.nodes.ger.Ger": { + "n_tile_size": { + "metatype": "SymbolicProperty", "desc": "", - "category": "(Debug)", - "default": 0 + "category": "General", + "default": 1 }, - "state_id": { - "metatype": "int", + "m_tile_size": { + "metatype": "SymbolicProperty", "desc": "", - "category": "(Debug)", - "default": 0 + "category": "General", + "default": 1 }, - "_subgraph": { - "metatype": "dict", + "n": { + "metatype": "SymbolicProperty", "desc": "", - "category": "(Debug)", - "default": {}, - "key_type": "int", - "value_type": "int" + "category": "General", + "default": "n" }, - "expr_index": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - } - }, - "ExpandGemvCuBLAS": { - "cfg_id": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - }, - "state_id": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - }, - "_subgraph": { - "metatype": "dict", - "desc": "", - "category": "(Debug)", - "default": {}, - "key_type": "int", - "value_type": "int" - }, - "expr_index": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - } - }, - "ExpandGemvOpenBLAS": { - "cfg_id": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - }, - "state_id": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - }, - "_subgraph": { - "metatype": "dict", - "desc": "", - "category": "(Debug)", - "default": {}, - "key_type": "int", - "value_type": "int" - }, - "expr_index": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - } - }, - "ExpandGemvMKL": { - "cfg_id": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - }, - "state_id": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - }, - "_subgraph": { - "metatype": "dict", - "desc": "", - "category": "(Debug)", - "default": {}, - "key_type": "int", - "value_type": "int" - }, - "expr_index": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - } - }, - "ExpandGemvPBLAS": { - "cfg_id": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - }, - "state_id": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - }, - "_subgraph": { - "metatype": "dict", - "desc": "", - "category": "(Debug)", - "default": {}, - "key_type": "int", - "value_type": "int" - }, - "expr_index": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - } - }, - "dace.libraries.blas.nodes.gemv.Gemv": { - "alpha": { - "metatype": "SymbolicProperty", - "desc": "", - "category": "General", - "default": 1 - }, - "beta": { - "metatype": "SymbolicProperty", - "desc": "", - "category": "General", - "default": 0 - }, - "transA": { - "metatype": "bool", - "desc": "Whether to transpose A before multiplying", - "category": "General", - "default": false - }, - "n": { + "m": { "metatype": "SymbolicProperty", "desc": "", "category": "General", - "default": null + "default": "m" }, - "m": { + "alpha": { "metatype": "SymbolicProperty", - "desc": "", + "desc": "A scalar which will be multiplied with the outer product x*yT before adding matrix A", "category": "General", - "default": null + "default": 1 }, "name": { "metatype": "str", @@ -6702,12 +6778,7 @@ "default": null, "choices": [ "pure", - "OpenBLAS", - "MKL", - "cuBLAS", - "FPGA_Accumulate", - "FPGA_TilesByColumn", - "PBLAS" + "FPGA" ] }, "schedule": { @@ -6784,91 +6855,7 @@ "value_type": "typeclass" } }, - "ExpandGemmPure": { - "cfg_id": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - }, - "state_id": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - }, - "_subgraph": { - "metatype": "dict", - "desc": "", - "category": "(Debug)", - "default": {}, - "key_type": "int", - "value_type": "int" - }, - "expr_index": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - } - }, - "ExpandGemmOpenBLAS": { - "cfg_id": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - }, - "state_id": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - }, - "_subgraph": { - "metatype": "dict", - "desc": "", - "category": "(Debug)", - "default": {}, - "key_type": "int", - "value_type": "int" - }, - "expr_index": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - } - }, - "ExpandGemmMKL": { - "cfg_id": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - }, - "state_id": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - }, - "_subgraph": { - "metatype": "dict", - "desc": "", - "category": "(Debug)", - "default": {}, - "key_type": "int", - "value_type": "int" - }, - "expr_index": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - } - }, - "ExpandGemmGPUBLAS": { + "ExpandBatchedMatMulPure": { "cfg_id": { "metatype": "int", "desc": "", @@ -6896,7 +6883,7 @@ "default": 0 } }, - "ExpandGemmCuBLAS": { + "ExpandBatchedMatMulMKL": { "cfg_id": { "metatype": "int", "desc": "", @@ -6924,7 +6911,7 @@ "default": 0 } }, - "ExpandGemmRocBLAS": { + "ExpandBatchedMatMulOpenBLAS": { "cfg_id": { "metatype": "int", "desc": "", @@ -6952,7 +6939,7 @@ "default": 0 } }, - "ExpandGemmPBLAS": { + "ExpandBatchedMatMulCuBLAS": { "cfg_id": { "metatype": "int", "desc": "", @@ -6980,7 +6967,7 @@ "default": 0 } }, - "dace.libraries.blas.nodes.gemm.Gemm": { + "dace.libraries.blas.nodes.batched_matmul.BatchedMatMul": { "transA": { "metatype": "bool", "desc": "Whether to transpose A before multiplying", @@ -7005,12 +6992,6 @@ "category": "General", "default": 0 }, - "cin": { - "metatype": "bool", - "desc": "Whether to have a _cin connector when beta != 0", - "category": "General", - "default": true - }, "algorithm": { "metatype": "str", "desc": "If applicable, chooses the vendor-provided implementation (algorithm) for the multiplication", @@ -7117,10 +7098,7 @@ "pure", "MKL", "OpenBLAS", - "cuBLAS", - "rocBLAS", - "PBLAS", - "FPGA1DSystolic" + "cuBLAS" ] }, "schedule": { @@ -7197,7 +7175,7 @@ "value_type": "typeclass" } }, - "ExpandGerPure": { + "ExpandAxpyVectorized": { "cfg_id": { "metatype": "int", "desc": "", @@ -7225,7 +7203,7 @@ "default": 0 } }, - "ExpandGerFpga": { + "ExpandAxpyFpga": { "cfg_id": { "metatype": "int", "desc": "", @@ -7253,18 +7231,12 @@ "default": 0 } }, - "dace.libraries.blas.nodes.ger.Ger": { - "n_tile_size": { - "metatype": "SymbolicProperty", - "desc": "", - "category": "General", - "default": 1 - }, - "m_tile_size": { + "dace.libraries.blas.nodes.axpy.Axpy": { + "a": { "metatype": "SymbolicProperty", "desc": "", "category": "General", - "default": 1 + "default": "a" }, "n": { "metatype": "SymbolicProperty", @@ -7272,17 +7244,114 @@ "category": "General", "default": "n" }, - "m": { - "metatype": "SymbolicProperty", + "name": { + "metatype": "str", + "desc": "Name of node", + "category": "General", + "default": "" + }, + "implementation": { + "metatype": "LibraryImplementationProperty", + "desc": "Which implementation this library node will expand into.Must match a key in the list of possible implementations.", + "category": "General", + "default": null, + "choices": [ + "pure", + "fpga" + ] + }, + "schedule": { + "metatype": "ScheduleType", + "desc": "If set, determines the default device mapping of the node upon expansion, if expanded to a nested SDFG.", + "category": "General", + "default": "Default", + "choices": [ + "Default", + "Sequential", + "MPI", + "CPU_Multicore", + "CPU_Persistent", + "Unrolled", + "SVE_Map", + "GPU_Default", + "GPU_Device", + "GPU_ThreadBlock", + "GPU_ThreadBlock_Dynamic", + "GPU_Persistent", + "FPGA_Device", + "Snitch", + "Snitch_Multicore", + "FPGA_Multi_Pumped" + ] + }, + "debuginfo": { + "metatype": "DebugInfo", "desc": "", "category": "General", - "default": "m" + "default": { + "type": "DebugInfo", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "filename": null + } + }, + "label": { + "metatype": "str", + "desc": "Name of the CodeNode", + "category": "General", + "default": "" + }, + "location": { + "metatype": "dict", + "desc": "Full storage location identifier (e.g., rank, GPU ID)", + "category": "General", + "default": {}, + "key_type": "str", + "value_type": "pystr_to_symbolic" + }, + "environments": { + "metatype": "set", + "desc": "Environments required by CMake to build and run this code node.", + "category": "General", + "default": [] + }, + "in_connectors": { + "metatype": "dict", + "desc": "A set of input connectors for this node.", + "category": "General", + "default": {}, + "key_type": "str", + "value_type": "typeclass" + }, + "out_connectors": { + "metatype": "dict", + "desc": "A set of output connectors for this node.", + "category": "General", + "default": {}, + "key_type": "str", + "value_type": "typeclass" + } + }, + "dace.libraries.blas.nodes.einsum.Einsum": { + "einsum_str": { + "metatype": "str", + "desc": "The Einstein notation string that describes this einsum", + "category": "General", + "default": "" }, "alpha": { "metatype": "SymbolicProperty", - "desc": "A scalar which will be multiplied with the outer product x*yT before adding matrix A", + "desc": "The coefficient to multiply the inputs with", "category": "General", - "default": 1 + "default": 1.0 + }, + "beta": { + "metatype": "SymbolicProperty", + "desc": "The coefficient to multiply the output with when added to the product", + "category": "General", + "default": 0.0 }, "name": { "metatype": "str", @@ -7296,8 +7365,7 @@ "category": "General", "default": null, "choices": [ - "pure", - "FPGA" + "specialize" ] }, "schedule": { @@ -7374,7 +7442,7 @@ "value_type": "typeclass" } }, - "ExpandBatchedMatMulPure": { + "SpecializeEinsum": { "cfg_id": { "metatype": "int", "desc": "", @@ -7402,35 +7470,109 @@ "default": 0 } }, - "ExpandBatchedMatMulMKL": { - "cfg_id": { - "metatype": "int", + "dace.libraries.standard.nodes.code.CodeLibraryNode": { + "inputdict": { + "metatype": "dict", "desc": "", - "category": "(Debug)", - "default": 0 + "category": "General", + "default": {} }, - "state_id": { - "metatype": "int", + "outputdict": { + "metatype": "dict", "desc": "", - "category": "(Debug)", - "default": 0 + "category": "General", + "default": {} }, - "_subgraph": { - "metatype": "dict", + "name": { + "metatype": "str", + "desc": "Name of node", + "category": "General", + "default": "" + }, + "implementation": { + "metatype": "LibraryImplementationProperty", + "desc": "Which implementation this library node will expand into.Must match a key in the list of possible implementations.", + "category": "General", + "default": null, + "choices": [ + "default" + ] + }, + "schedule": { + "metatype": "ScheduleType", + "desc": "If set, determines the default device mapping of the node upon expansion, if expanded to a nested SDFG.", + "category": "General", + "default": "Default", + "choices": [ + "Default", + "Sequential", + "MPI", + "CPU_Multicore", + "CPU_Persistent", + "Unrolled", + "SVE_Map", + "GPU_Default", + "GPU_Device", + "GPU_ThreadBlock", + "GPU_ThreadBlock_Dynamic", + "GPU_Persistent", + "FPGA_Device", + "Snitch", + "Snitch_Multicore", + "FPGA_Multi_Pumped" + ] + }, + "debuginfo": { + "metatype": "DebugInfo", "desc": "", - "category": "(Debug)", + "category": "General", + "default": { + "type": "DebugInfo", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "filename": null + } + }, + "label": { + "metatype": "str", + "desc": "Name of the CodeNode", + "category": "General", + "default": "" + }, + "location": { + "metatype": "dict", + "desc": "Full storage location identifier (e.g., rank, GPU ID)", + "category": "General", "default": {}, - "key_type": "int", - "value_type": "int" + "key_type": "str", + "value_type": "pystr_to_symbolic" }, - "expr_index": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 + "environments": { + "metatype": "set", + "desc": "Environments required by CMake to build and run this code node.", + "category": "General", + "default": [] + }, + "in_connectors": { + "metatype": "dict", + "desc": "A set of input connectors for this node.", + "category": "General", + "default": {}, + "key_type": "str", + "value_type": "typeclass" + }, + "out_connectors": { + "metatype": "dict", + "desc": "A set of output connectors for this node.", + "category": "General", + "default": {}, + "key_type": "str", + "value_type": "typeclass" } }, - "ExpandBatchedMatMulOpenBLAS": { + "Expansion": { "cfg_id": { "metatype": "int", "desc": "", @@ -7458,7 +7600,7 @@ "default": 0 } }, - "ExpandBatchedMatMulCuBLAS": { + "ExpandGearbox": { "cfg_id": { "metatype": "int", "desc": "", @@ -7486,122 +7628,13 @@ "default": 0 } }, - "dace.libraries.blas.nodes.batched_matmul.BatchedMatMul": { - "transA": { - "metatype": "bool", - "desc": "Whether to transpose A before multiplying", - "category": "General", - "default": false - }, - "transB": { - "metatype": "bool", - "desc": "Whether to transpose B before multiplying", - "category": "General", - "default": false - }, - "alpha": { - "metatype": "Property", - "desc": "A scalar which will be multiplied with A @ B before adding C", - "category": "General", - "default": 1 - }, - "beta": { - "metatype": "Property", - "desc": "A scalar which will be multiplied with C before adding C", + "dace.libraries.standard.nodes.gearbox.Gearbox": { + "size": { + "metatype": "SymbolicProperty", + "desc": "Number of wide vectors to convert to/from narrow vectors.", "category": "General", "default": 0 }, - "algorithm": { - "metatype": "str", - "desc": "If applicable, chooses the vendor-provided implementation (algorithm) for the multiplication", - "category": "General", - "default": null - }, - "accumulator_type": { - "metatype": "typeclass", - "desc": "Accumulator or intermediate storage type used in multiplication", - "category": "General", - "default": null, - "base_types": [ - "bool", - "bool_", - "int8", - "int16", - "int32", - "int64", - "uint8", - "uint16", - "uint32", - "uint64", - "float16", - "float32", - "float64", - "complex64", - "complex128" - ], - "compound_types": { - "vector": { - "elements": { - "type": "str", - "default": "0" - }, - "dtype": { - "type": "typeclass", - "default": "bool" - } - }, - "pointer": { - "dtype": { - "type": "typeclass", - "default": "bool" - } - }, - "opaque": { - "ctype": { - "type": "str", - "default": "" - } - }, - "struct": { - "name": { - "type": "str", - "default": "" - }, - "data": { - "type": "dict", - "default": {}, - "value_type": "typeclass" - }, - "length": { - "type": "dict", - "default": {}, - "value_type": "int" - }, - "bytes": { - "type": "int", - "default": 0 - } - }, - "callback": { - "arguments": { - "type": "list", - "element_type": "typeclass", - "default": [] - }, - "returntypes": { - "type": "list", - "element_type": "typeclass", - "default": [] - } - } - } - }, - "compute_type": { - "metatype": "str", - "desc": "If applicable, overrides computation type (CUBLAS-specific, see ``cublasComputeType_t``)", - "category": "General", - "default": null - }, "name": { "metatype": "str", "desc": "Name of node", @@ -7614,10 +7647,7 @@ "category": "General", "default": null, "choices": [ - "pure", - "MKL", - "OpenBLAS", - "cuBLAS" + "pure" ] }, "schedule": { @@ -7694,7 +7724,121 @@ "value_type": "typeclass" } }, - "ExpandAxpyVectorized": { + "CUDA": {}, + "HPTT": {}, + "ExpandReducePure": { + "cfg_id": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 + }, + "state_id": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 + }, + "_subgraph": { + "metatype": "dict", + "desc": "", + "category": "(Debug)", + "default": {}, + "key_type": "int", + "value_type": "int" + }, + "expr_index": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 + } + }, + "ExpandReducePureSequentialDim": { + "cfg_id": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 + }, + "state_id": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 + }, + "_subgraph": { + "metatype": "dict", + "desc": "", + "category": "(Debug)", + "default": {}, + "key_type": "int", + "value_type": "int" + }, + "expr_index": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 + } + }, + "ExpandReduceOpenMP": { + "cfg_id": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 + }, + "state_id": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 + }, + "_subgraph": { + "metatype": "dict", + "desc": "", + "category": "(Debug)", + "default": {}, + "key_type": "int", + "value_type": "int" + }, + "expr_index": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 + } + }, + "ExpandReduceCUDADevice": { + "cfg_id": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 + }, + "state_id": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 + }, + "_subgraph": { + "metatype": "dict", + "desc": "", + "category": "(Debug)", + "default": {}, + "key_type": "int", + "value_type": "int" + }, + "expr_index": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 + } + }, + "ExpandReduceCUDABlock": { "cfg_id": { "metatype": "int", "desc": "", @@ -7722,7 +7866,7 @@ "default": 0 } }, - "ExpandAxpyFpga": { + "ExpandReduceCUDABlockAll": { "cfg_id": { "metatype": "int", "desc": "", @@ -7750,127 +7894,81 @@ "default": 0 } }, - "dace.libraries.blas.nodes.axpy.Axpy": { - "a": { - "metatype": "SymbolicProperty", - "desc": "", - "category": "General", - "default": "a" - }, - "n": { - "metatype": "SymbolicProperty", + "ExpandReduceFPGAPartialReduction": { + "cfg_id": { + "metatype": "int", "desc": "", - "category": "General", - "default": "n" - }, - "name": { - "metatype": "str", - "desc": "Name of node", - "category": "General", - "default": "" - }, - "implementation": { - "metatype": "LibraryImplementationProperty", - "desc": "Which implementation this library node will expand into.Must match a key in the list of possible implementations.", - "category": "General", - "default": null, - "choices": [ - "pure", - "fpga" - ] - }, - "schedule": { - "metatype": "ScheduleType", - "desc": "If set, determines the default device mapping of the node upon expansion, if expanded to a nested SDFG.", - "category": "General", - "default": "Default", - "choices": [ - "Default", - "Sequential", - "MPI", - "CPU_Multicore", - "CPU_Persistent", - "Unrolled", - "SVE_Map", - "GPU_Default", - "GPU_Device", - "GPU_ThreadBlock", - "GPU_ThreadBlock_Dynamic", - "GPU_Persistent", - "FPGA_Device", - "Snitch", - "Snitch_Multicore", - "FPGA_Multi_Pumped" - ] + "category": "(Debug)", + "default": 0 }, - "debuginfo": { - "metatype": "DebugInfo", + "state_id": { + "metatype": "int", "desc": "", - "category": "General", - "default": { - "type": "DebugInfo", - "start_line": 0, - "end_line": 0, - "start_column": 0, - "end_column": 0, - "filename": null - } - }, - "label": { - "metatype": "str", - "desc": "Name of the CodeNode", - "category": "General", - "default": "" + "category": "(Debug)", + "default": 0 }, - "location": { + "_subgraph": { "metatype": "dict", - "desc": "Full storage location identifier (e.g., rank, GPU ID)", - "category": "General", + "desc": "", + "category": "(Debug)", "default": {}, - "key_type": "str", - "value_type": "pystr_to_symbolic" + "key_type": "int", + "value_type": "int" }, - "environments": { - "metatype": "set", - "desc": "Environments required by CMake to build and run this code node.", - "category": "General", - "default": [] + "expr_index": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 + } + }, + "ExpandReduceGPUAuto": { + "cfg_id": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 }, - "in_connectors": { - "metatype": "dict", - "desc": "A set of input connectors for this node.", - "category": "General", - "default": {}, - "key_type": "str", - "value_type": "typeclass" + "state_id": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 }, - "out_connectors": { + "_subgraph": { "metatype": "dict", - "desc": "A set of output connectors for this node.", - "category": "General", + "desc": "", + "category": "(Debug)", "default": {}, - "key_type": "str", - "value_type": "typeclass" + "key_type": "int", + "value_type": "int" + }, + "expr_index": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 } }, - "dace.libraries.blas.nodes.einsum.Einsum": { - "einsum_str": { - "metatype": "str", - "desc": "The Einstein notation string that describes this einsum", + "dace.libraries.standard.nodes.reduce.Reduce": { + "axes": { + "metatype": "list", + "desc": "", "category": "General", - "default": "" + "default": null, + "element_type": "int" }, - "alpha": { - "metatype": "SymbolicProperty", - "desc": "The coefficient to multiply the inputs with", + "wcr": { + "metatype": "LambdaProperty", + "desc": "", "category": "General", - "default": 1.0 + "default": "(lambda a, b: a)" }, - "beta": { - "metatype": "SymbolicProperty", - "desc": "The coefficient to multiply the output with when added to the product", + "identity": { + "metatype": "Property", + "desc": "", "category": "General", - "default": 0.0 + "default": null }, "name": { "metatype": "str", @@ -7884,7 +7982,14 @@ "category": "General", "default": null, "choices": [ - "specialize" + "pure", + "pure-seq", + "OpenMP", + "CUDA (device)", + "CUDA (block)", + "CUDA (block allreduce)", + "FPGAPartialReduction", + "GPUAuto" ] }, "schedule": { @@ -7961,34 +8066,6 @@ "value_type": "typeclass" } }, - "SpecializeEinsum": { - "cfg_id": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - }, - "state_id": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - }, - "_subgraph": { - "metatype": "dict", - "desc": "", - "category": "(Debug)", - "default": {}, - "key_type": "int", - "value_type": "int" - }, - "expr_index": { - "metatype": "int", - "desc": "", - "category": "(Debug)", - "default": 0 - } - }, "ExpandTransposePure": { "cfg_id": { "metatype": "int", @@ -8366,6 +8443,51 @@ "value_type": "typeclass" } }, + "StateReachability": {}, + "SymbolAccessSets": {}, + "AccessSets": {}, + "FindAccessStates": {}, + "FindAccessNodes": {}, + "SymbolWriteScopes": {}, + "ScalarWriteShadowScopes": {}, + "AccessRanges": {}, + "FindReferenceSources": {}, + "DeriveSDFGConstraints": { + "assume_max_data_size": { + "metatype": "int", + "desc": "Assume that all data containers have no dimension larger than this value. If None, no assumption is made.", + "category": "General", + "default": null + } + }, + "MapCollapse": { + "cfg_id": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 + }, + "state_id": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 + }, + "_subgraph": { + "metatype": "dict", + "desc": "", + "category": "(Debug)", + "default": {}, + "key_type": "int", + "value_type": "int" + }, + "expr_index": { + "metatype": "int", + "desc": "", + "category": "(Debug)", + "default": 0 + } + }, "MapReduceFusion": { "no_init": { "metatype": "bool", @@ -10783,5 +10905,12 @@ "element_type": "Pass" } }, - "TransientReuse": {} + "TransientReuse": { + "verbose": { + "metatype": "bool", + "desc": "Print information about the memory reduction.", + "category": "General", + "default": false + } + } } \ No newline at end of file diff --git a/src/webclients/components/sdfv/breakpoints/breakpoints.ts b/src/webclients/components/sdfv/breakpoints/breakpoints.ts index 89c2d34..1c705b5 100644 --- a/src/webclients/components/sdfv/breakpoints/breakpoints.ts +++ b/src/webclients/components/sdfv/breakpoints/breakpoints.ts @@ -12,6 +12,7 @@ import { SDFGElementGroup, SDFGNode, SDFV, + SDFVSettings, SimpleRect, State, } from '@spcl/sdfv/src'; @@ -258,8 +259,8 @@ export class BreakpointIndicator extends GenericSdfgOverlay { if ( (this.renderer.adaptiveHiding && - (ppp >= SDFV.STATE_LOD || - state.width / ppp <= SDFV.STATE_LOD)) || + (ppp >= SDFVSettings.get('nodeLOD') || + state.width / ppp <= SDFVSettings.get('nestedLOD'))) || state.data.state.attributes.is_collapsed ) { // Currently we don't do anything @@ -281,7 +282,7 @@ export class BreakpointIndicator extends GenericSdfgOverlay { // it should be visited if (!(node.data.node.attributes.is_collapsed || (this.renderer.adaptiveHiding && - ppp >= SDFV.NODE_LOD)) && + ppp >= SDFVSettings.get('nodeLOD'))) && node instanceof NestedSDFG ) { this.recursivelyShadeSDFG( diff --git a/src/webclients/components/sdfv/utils/attributes_table.ts b/src/webclients/components/sdfv/utils/attributes_table.ts index 52c7890..d50d948 100644 --- a/src/webclients/components/sdfv/utils/attributes_table.ts +++ b/src/webclients/components/sdfv/utils/attributes_table.ts @@ -1078,40 +1078,36 @@ export async function attributeTablePutEntry( target, valueCell, dtype )]; break; - case 'Array': - case 'Data': - case 'Scalar': - case 'View': - case 'Reference': - case 'Stream': - const containerTypeChoices = Object.keys( - sdfgMetaDict['__data_container_types__'] - ); - const dataTypeProp = attrTablePutSelect( - key, 'type', val.type, elem, xform, target, valueCell, - dtype, containerTypeChoices - ); - const dataAttrProp = attrTablePutData( - key, 'attributes', val, elem, xform, target, - valueCell, dtype, meta - ); - valProp = [dataTypeProp, dataAttrProp]; - break; case 'LogicalGroup': valProp = [attrTablePutLogicalGroup( key, undefined, val, elem, xform, target, valueCell, dtype )]; break; default: - if (choices !== undefined) - valProp = [attrTablePutSelect( - key, undefined, val, elem, xform, target, valueCell, - dtype, choices - )]; - else - valueCell.html(sdfg_property_to_string( - val, VSCodeRenderer.getInstance()?.view_settings() - )); + if (key in sdfgMetaDict['__data_container_types__']) { + const containerTypeChoices = Object.keys( + sdfgMetaDict['__data_container_types__'] + ); + const dataTypeProp = attrTablePutSelect( + key, 'type', val.type, elem, xform, target, valueCell, + dtype, containerTypeChoices + ); + const dataAttrProp = attrTablePutData( + key, 'attributes', val, elem, xform, target, + valueCell, dtype, meta + ); + valProp = [dataTypeProp, dataAttrProp]; + } else { + if (choices !== undefined) + valProp = [attrTablePutSelect( + key, undefined, val, elem, xform, target, valueCell, + dtype, choices + )]; + else + valueCell.html(sdfg_property_to_string( + val, VSCodeRenderer.getInstance()?.view_settings() + )); + } break; } }