=0.10.0"
- }
- },
- "node_modules/@alloc/quick-lru": {
+ "dependencies": {
+ "@alloc/quick-lru": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
- "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="
},
- "node_modules/@babel/runtime": {
- "version": "7.22.15",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.15.tgz",
- "integrity": "sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==",
- "dependencies": {
+ "@babel/runtime": {
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz",
+ "integrity": "sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==",
+ "requires": {
"regenerator-runtime": "^0.14.0"
- },
- "engines": {
- "node": ">=6.9.0"
}
},
- "node_modules/@eslint-community/eslint-utils": {
+ "@eslint-community/eslint-utils": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
"integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
- "dependencies": {
+ "requires": {
"eslint-visitor-keys": "^3.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
}
},
- "node_modules/@eslint-community/regexpp": {
- "version": "4.8.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.1.tgz",
- "integrity": "sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==",
- "engines": {
- "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
- }
+ "@eslint-community/regexpp": {
+ "version": "4.10.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
+ "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA=="
},
- "node_modules/@eslint/eslintrc": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz",
- "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==",
- "dependencies": {
+ "@eslint/eslintrc": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
+ "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
+ "requires": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
"espree": "^9.6.0",
@@ -93,1183 +44,990 @@
"js-yaml": "^4.1.0",
"minimatch": "^3.1.2",
"strip-json-comments": "^3.1.1"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
}
},
- "node_modules/@eslint/js": {
+ "@eslint/js": {
"version": "8.49.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz",
- "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
+ "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w=="
},
- "node_modules/@fortawesome/fontawesome-common-types": {
- "version": "6.4.2",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.4.2.tgz",
- "integrity": "sha512-1DgP7f+XQIJbLFCTX1V2QnxVmpLdKdzzo2k8EmvDOePfchaIGQ9eCHj2up3/jNEbZuBqel5OxiaOJf37TWauRA==",
- "hasInstallScript": true,
- "engines": {
- "node": ">=6"
- }
+ "@fortawesome/fontawesome-common-types": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.2.tgz",
+ "integrity": "sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw=="
},
- "node_modules/@fortawesome/fontawesome-svg-core": {
- "version": "6.4.2",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.4.2.tgz",
- "integrity": "sha512-gjYDSKv3TrM2sLTOKBc5rH9ckje8Wrwgx1CxAPbN5N3Fm4prfi7NsJVWd1jklp7i5uSCVwhZS5qlhMXqLrpAIg==",
- "hasInstallScript": true,
- "dependencies": {
- "@fortawesome/fontawesome-common-types": "6.4.2"
- },
- "engines": {
- "node": ">=6"
+ "@fortawesome/fontawesome-svg-core": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.2.tgz",
+ "integrity": "sha512-5CdaCBGl8Rh9ohNdxeeTMxIj8oc3KNBgIeLMvJosBMdslK/UnEB8rzyDRrbKdL1kDweqBPo4GT9wvnakHWucZw==",
+ "requires": {
+ "@fortawesome/fontawesome-common-types": "6.5.2"
}
},
- "node_modules/@fortawesome/free-solid-svg-icons": {
- "version": "6.4.2",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.4.2.tgz",
- "integrity": "sha512-sYwXurXUEQS32fZz9hVCUUv/xu49PEJEyUOsA51l6PU/qVgfbTb2glsTEaJngVVT8VqBATRIdh7XVgV1JF1LkA==",
- "hasInstallScript": true,
- "dependencies": {
- "@fortawesome/fontawesome-common-types": "6.4.2"
- },
- "engines": {
- "node": ">=6"
+ "@fortawesome/free-solid-svg-icons": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.5.2.tgz",
+ "integrity": "sha512-QWFZYXFE7O1Gr1dTIp+D6UcFUF0qElOnZptpi7PBUMylJh+vFmIedVe1Ir6RM1t2tEQLLSV1k7bR4o92M+uqlw==",
+ "requires": {
+ "@fortawesome/fontawesome-common-types": "6.5.2"
}
},
- "node_modules/@fortawesome/react-fontawesome": {
+ "@fortawesome/react-fontawesome": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.0.tgz",
"integrity": "sha512-uHg75Rb/XORTtVt7OS9WoK8uM276Ufi7gCzshVWkUJbHhh3svsUUeqXerrM96Wm7fRiDzfKRwSoahhMIkGAYHw==",
- "dependencies": {
+ "requires": {
"prop-types": "^15.8.1"
- },
- "peerDependencies": {
- "@fortawesome/fontawesome-svg-core": "~1 || ~6",
- "react": ">=16.3"
}
},
- "node_modules/@humanwhocodes/config-array": {
- "version": "0.11.11",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz",
- "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==",
- "dependencies": {
- "@humanwhocodes/object-schema": "^1.2.1",
- "debug": "^4.1.1",
+ "@humanwhocodes/config-array": {
+ "version": "0.11.14",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
+ "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
+ "requires": {
+ "@humanwhocodes/object-schema": "^2.0.2",
+ "debug": "^4.3.1",
"minimatch": "^3.0.5"
- },
- "engines": {
- "node": ">=10.10.0"
}
},
- "node_modules/@humanwhocodes/module-importer": {
+ "@humanwhocodes/module-importer": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
- "engines": {
- "node": ">=12.22"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="
},
- "node_modules/@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA=="
+ "@humanwhocodes/object-schema": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
+ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA=="
+ },
+ "@isaacs/cliui": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+ "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+ "requires": {
+ "string-width": "^5.1.2",
+ "string-width-cjs": "npm:string-width@^4.2.0",
+ "strip-ansi": "^7.0.1",
+ "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+ "wrap-ansi": "^8.1.0",
+ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA=="
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "string-width-cjs": {
+ "version": "npm:string-width@4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ }
+ }
+ },
+ "strip-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "requires": {
+ "ansi-regex": "^6.0.1"
+ }
+ },
+ "strip-ansi-cjs": {
+ "version": "npm:strip-ansi@6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
+ }
+ }
+ },
+ "wrap-ansi-cjs": {
+ "version": "npm:wrap-ansi@7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
+ },
+ "string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ }
+ }
+ }
+ }
},
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
- "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
- "dependencies": {
- "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/gen-mapping": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+ "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+ "requires": {
+ "@jridgewell/set-array": "^1.2.1",
"@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "engines": {
- "node": ">=6.0.0"
+ "@jridgewell/trace-mapping": "^0.3.24"
}
},
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
- "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
- "engines": {
- "node": ">=6.0.0"
- }
+ "@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="
},
- "node_modules/@jridgewell/set-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
- "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
- "engines": {
- "node": ">=6.0.0"
- }
+ "@jridgewell/set-array": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A=="
},
- "node_modules/@jridgewell/sourcemap-codec": {
+ "@jridgewell/sourcemap-codec": {
"version": "1.4.15",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
},
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.19",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz",
- "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==",
- "dependencies": {
+ "@jridgewell/trace-mapping": {
+ "version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "requires": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
- "node_modules/@next/env": {
+ "@next/env": {
"version": "13.4.19",
"resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.19.tgz",
"integrity": "sha512-FsAT5x0jF2kkhNkKkukhsyYOrRqtSxrEhfliniIq0bwWbuXLgyt3Gv0Ml+b91XwjwArmuP7NxCiGd++GGKdNMQ=="
},
- "node_modules/@next/eslint-plugin-next": {
+ "@next/eslint-plugin-next": {
"version": "13.4.19",
"resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.4.19.tgz",
"integrity": "sha512-N/O+zGb6wZQdwu6atMZHbR7T9Np5SUFUjZqCbj0sXm+MwQO35M8TazVB4otm87GkXYs2l6OPwARd3/PUWhZBVQ==",
- "dependencies": {
+ "requires": {
"glob": "7.1.7"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.1.7",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
+ "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ }
}
},
- "node_modules/@next/swc-darwin-arm64": {
+ "@next/swc-darwin-arm64": {
"version": "13.4.19",
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.19.tgz",
"integrity": "sha512-vv1qrjXeGbuF2mOkhkdxMDtv9np7W4mcBtaDnHU+yJG+bBwa6rYsYSCI/9Xm5+TuF5SbZbrWO6G1NfTh1TMjvQ==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-darwin-x64": {
+ "optional": true
+ },
+ "@next/swc-darwin-x64": {
"version": "13.4.19",
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.19.tgz",
"integrity": "sha512-jyzO6wwYhx6F+7gD8ddZfuqO4TtpJdw3wyOduR4fxTUCm3aLw7YmHGYNjS0xRSYGAkLpBkH1E0RcelyId6lNsw==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-linux-arm64-gnu": {
+ "optional": true
+ },
+ "@next/swc-linux-arm64-gnu": {
"version": "13.4.19",
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.19.tgz",
"integrity": "sha512-vdlnIlaAEh6H+G6HrKZB9c2zJKnpPVKnA6LBwjwT2BTjxI7e0Hx30+FoWCgi50e+YO49p6oPOtesP9mXDRiiUg==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-linux-arm64-musl": {
+ "optional": true
+ },
+ "@next/swc-linux-arm64-musl": {
"version": "13.4.19",
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.19.tgz",
"integrity": "sha512-aU0HkH2XPgxqrbNRBFb3si9Ahu/CpaR5RPmN2s9GiM9qJCiBBlZtRTiEca+DC+xRPyCThTtWYgxjWHgU7ZkyvA==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-linux-x64-gnu": {
+ "optional": true
+ },
+ "@next/swc-linux-x64-gnu": {
"version": "13.4.19",
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.19.tgz",
"integrity": "sha512-htwOEagMa/CXNykFFeAHHvMJeqZfNQEoQvHfsA4wgg5QqGNqD5soeCer4oGlCol6NGUxknrQO6VEustcv+Md+g==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-linux-x64-musl": {
+ "optional": true
+ },
+ "@next/swc-linux-x64-musl": {
"version": "13.4.19",
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.19.tgz",
"integrity": "sha512-4Gj4vvtbK1JH8ApWTT214b3GwUh9EKKQjY41hH/t+u55Knxi/0wesMzwQRhppK6Ddalhu0TEttbiJ+wRcoEj5Q==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-win32-arm64-msvc": {
+ "optional": true
+ },
+ "@next/swc-win32-arm64-msvc": {
"version": "13.4.19",
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.19.tgz",
"integrity": "sha512-bUfDevQK4NsIAHXs3/JNgnvEY+LRyneDN788W2NYiRIIzmILjba7LaQTfihuFawZDhRtkYCv3JDC3B4TwnmRJw==",
- "cpu": [
- "arm64"
- ],
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-win32-ia32-msvc": {
+ "optional": true
+ },
+ "@next/swc-win32-ia32-msvc": {
"version": "13.4.19",
"resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.19.tgz",
"integrity": "sha512-Y5kikILFAr81LYIFaw6j/NrOtmiM4Sf3GtOc0pn50ez2GCkr+oejYuKGcwAwq3jiTKuzF6OF4iT2INPoxRycEA==",
- "cpu": [
- "ia32"
- ],
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@next/swc-win32-x64-msvc": {
+ "optional": true
+ },
+ "@next/swc-win32-x64-msvc": {
"version": "13.4.19",
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.19.tgz",
"integrity": "sha512-YzA78jBDXMYiINdPdJJwGgPNT3YqBNNGhsthsDoWHL9p24tEJn9ViQf/ZqTbwSpX/RrkPupLfuuTH2sf73JBAw==",
- "cpu": [
- "x64"
- ],
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@nodelib/fs.scandir": {
+ "optional": true
+ },
+ "@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dependencies": {
+ "requires": {
"@nodelib/fs.stat": "2.0.5",
"run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
}
},
- "node_modules/@nodelib/fs.stat": {
+ "@nodelib/fs.stat": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "engines": {
- "node": ">= 8"
- }
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="
},
- "node_modules/@nodelib/fs.walk": {
+ "@nodelib/fs.walk": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dependencies": {
+ "requires": {
"@nodelib/fs.scandir": "2.1.5",
"fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
}
},
- "node_modules/@rushstack/eslint-patch": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.3.tgz",
- "integrity": "sha512-0xd7qez0AQ+MbHatZTlI1gu5vkG8r7MYRUJAHPAHJBmGLs16zpkrpAVLvjQKQOqaXPDUBwOiJzNc00znHSCVBw=="
+ "@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "optional": true
},
- "node_modules/@socket.io/component-emitter": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
- "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
+ "@rushstack/eslint-patch": {
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.2.tgz",
+ "integrity": "sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw=="
+ },
+ "@socket.io/component-emitter": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
+ "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA=="
},
- "node_modules/@swc/helpers": {
+ "@swc/helpers": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz",
"integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==",
- "dependencies": {
+ "requires": {
"tslib": "^2.4.0"
}
},
- "node_modules/@types/cookie": {
+ "@types/cookie": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
"integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
},
- "node_modules/@types/cors": {
- "version": "2.8.14",
- "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.14.tgz",
- "integrity": "sha512-RXHUvNWYICtbP6s18PnOCaqToK8y14DnLd75c6HfyKf228dxy7pHNOQkxPtvXKp/hINFMDjbYzsj63nnpPMSRQ==",
- "dependencies": {
+ "@types/cors": {
+ "version": "2.8.17",
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz",
+ "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==",
+ "requires": {
"@types/node": "*"
}
},
- "node_modules/@types/json5": {
+ "@types/json5": {
"version": "0.0.29",
"resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ=="
},
- "node_modules/@types/node": {
+ "@types/node": {
"version": "20.6.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.0.tgz",
"integrity": "sha512-najjVq5KN2vsH2U/xyh2opaSEz6cZMR2SetLIlxlj08nOcmPOemJmUK2o4kUzfLqfrWE0PIrNeE16XhYDd3nqg=="
},
- "node_modules/@types/prop-types": {
- "version": "15.7.5",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
- "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w=="
+ "@types/prop-types": {
+ "version": "15.7.12",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz",
+ "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q=="
},
- "node_modules/@types/react": {
+ "@types/react": {
"version": "18.2.21",
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.21.tgz",
"integrity": "sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==",
- "dependencies": {
+ "requires": {
"@types/prop-types": "*",
"@types/scheduler": "*",
"csstype": "^3.0.2"
}
},
- "node_modules/@types/react-dom": {
+ "@types/react-dom": {
"version": "18.2.7",
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz",
"integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==",
- "dependencies": {
+ "requires": {
"@types/react": "*"
}
},
- "node_modules/@types/roslib": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/@types/roslib/-/roslib-1.3.1.tgz",
- "integrity": "sha512-k6kZDAYS75P1s9phgdlHcg4DmP9blusZGftS2YQWR6uZ1zSBNgmt0xv5vbEOQ+yqemucrvEYKIaUxfMVeIZ6Vg==",
- "dependencies": {
+ "@types/roslib": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/@types/roslib/-/roslib-1.3.4.tgz",
+ "integrity": "sha512-g5sCaMrgoejEE9GvU4cAOx5DDptAY9a9Gn8ABxaiDp3QTM48blsXwQsezfHjtHpiLhKRDc3IZqrlvKt85h8J/A==",
+ "requires": {
"eventemitter2": "^6.4.0"
}
},
- "node_modules/@types/scheduler": {
- "version": "0.16.3",
- "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz",
- "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ=="
- },
- "node_modules/@typescript-eslint/parser": {
- "version": "6.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.0.tgz",
- "integrity": "sha512-jZKYwqNpNm5kzPVP5z1JXAuxjtl2uG+5NpaMocFPTNC2EdYIgbXIPImObOkhbONxtFTTdoZstLZefbaK+wXZng==",
- "dependencies": {
- "@typescript-eslint/scope-manager": "6.7.0",
- "@typescript-eslint/types": "6.7.0",
- "@typescript-eslint/typescript-estree": "6.7.0",
- "@typescript-eslint/visitor-keys": "6.7.0",
+ "@types/scheduler": {
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.23.0.tgz",
+ "integrity": "sha512-YIoDCTH3Af6XM5VuwGG/QL/CJqga1Zm3NkU3HZ4ZHK2fRMPYP1VczsTUqtsf43PH/iJNVlPHAo2oWX7BSdB2Hw=="
+ },
+ "@typescript-eslint/parser": {
+ "version": "6.21.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz",
+ "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==",
+ "requires": {
+ "@typescript-eslint/scope-manager": "6.21.0",
+ "@typescript-eslint/types": "6.21.0",
+ "@typescript-eslint/typescript-estree": "6.21.0",
+ "@typescript-eslint/visitor-keys": "6.21.0",
"debug": "^4.3.4"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
}
},
- "node_modules/@typescript-eslint/scope-manager": {
- "version": "6.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.0.tgz",
- "integrity": "sha512-lAT1Uau20lQyjoLUQ5FUMSX/dS07qux9rYd5FGzKz/Kf8W8ccuvMyldb8hadHdK/qOI7aikvQWqulnEq2nCEYA==",
- "dependencies": {
- "@typescript-eslint/types": "6.7.0",
- "@typescript-eslint/visitor-keys": "6.7.0"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "@typescript-eslint/scope-manager": {
+ "version": "6.21.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz",
+ "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==",
+ "requires": {
+ "@typescript-eslint/types": "6.21.0",
+ "@typescript-eslint/visitor-keys": "6.21.0"
}
},
- "node_modules/@typescript-eslint/types": {
- "version": "6.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.0.tgz",
- "integrity": "sha512-ihPfvOp7pOcN/ysoj0RpBPOx3HQTJTrIN8UZK+WFd3/iDeFHHqeyYxa4hQk4rMhsz9H9mXpR61IzwlBVGXtl9Q==",
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
+ "@typescript-eslint/types": {
+ "version": "6.21.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz",
+ "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg=="
},
- "node_modules/@typescript-eslint/typescript-estree": {
- "version": "6.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.0.tgz",
- "integrity": "sha512-dPvkXj3n6e9yd/0LfojNU8VMUGHWiLuBZvbM6V6QYD+2qxqInE7J+J/ieY2iGwR9ivf/R/haWGkIj04WVUeiSQ==",
- "dependencies": {
- "@typescript-eslint/types": "6.7.0",
- "@typescript-eslint/visitor-keys": "6.7.0",
+ "@typescript-eslint/typescript-estree": {
+ "version": "6.21.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz",
+ "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==",
+ "requires": {
+ "@typescript-eslint/types": "6.21.0",
+ "@typescript-eslint/visitor-keys": "6.21.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
+ "minimatch": "9.0.3",
"semver": "^7.5.4",
"ts-api-utils": "^1.0.1"
},
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "minimatch": {
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
+ "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
}
}
},
- "node_modules/@typescript-eslint/visitor-keys": {
- "version": "6.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.0.tgz",
- "integrity": "sha512-/C1RVgKFDmGMcVGeD8HjKv2bd72oI1KxQDeY8uc66gw9R0OK0eMq48cA+jv9/2Ag6cdrsUGySm1yzYmfz0hxwQ==",
- "dependencies": {
- "@typescript-eslint/types": "6.7.0",
+ "@typescript-eslint/visitor-keys": {
+ "version": "6.21.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz",
+ "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==",
+ "requires": {
+ "@typescript-eslint/types": "6.21.0",
"eslint-visitor-keys": "^3.4.1"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/@xmldom/xmldom": {
+ "@xmldom/xmldom": {
"version": "0.8.10",
"resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz",
- "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==",
- "engines": {
- "node": ">=10.0.0"
- }
+ "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw=="
},
- "node_modules/accepts": {
+ "accepts": {
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
"integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
- "dependencies": {
+ "requires": {
"mime-types": "~2.1.34",
"negotiator": "0.6.3"
- },
- "engines": {
- "node": ">= 0.6"
}
},
- "node_modules/acorn": {
- "version": "8.10.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
- "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
+ "acorn": {
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+ "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg=="
},
- "node_modules/acorn-jsx": {
+ "acorn-jsx": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "peerDependencies": {
- "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="
},
- "node_modules/ajv": {
+ "ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dependencies": {
+ "requires": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/ansi-regex": {
+ "ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "engines": {
- "node": ">=8"
- }
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
},
- "node_modules/ansi-styles": {
+ "ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dependencies": {
+ "requires": {
"color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/any-promise": {
+ "any-promise": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
"integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="
},
- "node_modules/anymatch": {
+ "anymatch": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "dependencies": {
+ "requires": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
}
},
- "node_modules/arg": {
+ "arg": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
"integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="
},
- "node_modules/argparse": {
+ "argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
},
- "node_modules/aria-query": {
+ "aria-query": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
"integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
- "dependencies": {
+ "requires": {
"dequal": "^2.0.3"
}
},
- "node_modules/array-buffer-byte-length": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
- "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "is-array-buffer": "^3.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array-includes": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz",
- "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1",
+ "array-buffer-byte-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
+ "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
+ "requires": {
+ "call-bind": "^1.0.5",
+ "is-array-buffer": "^3.0.4"
+ }
+ },
+ "array-includes": {
+ "version": "3.1.8",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz",
+ "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
"is-string": "^1.0.7"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/array-union": {
+ "array-union": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/array.prototype.findlastindex": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz",
- "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "es-shim-unscopables": "^1.0.0",
- "get-intrinsic": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="
+ },
+ "array.prototype.findlast": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz",
+ "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "es-shim-unscopables": "^1.0.2"
+ }
+ },
+ "array.prototype.findlastindex": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz",
+ "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "es-shim-unscopables": "^1.0.2"
}
},
- "node_modules/array.prototype.flat": {
+ "array.prototype.flat": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz",
"integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==",
- "dependencies": {
+ "requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.2.0",
"es-abstract": "^1.22.1",
"es-shim-unscopables": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/array.prototype.flatmap": {
+ "array.prototype.flatmap": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz",
"integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==",
- "dependencies": {
+ "requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.2.0",
"es-abstract": "^1.22.1",
"es-shim-unscopables": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/array.prototype.tosorted": {
+ "array.prototype.toreversed": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz",
- "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==",
- "dependencies": {
+ "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz",
+ "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==",
+ "requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.2.0",
"es-abstract": "^1.22.1",
- "es-shim-unscopables": "^1.0.0",
- "get-intrinsic": "^1.2.1"
+ "es-shim-unscopables": "^1.0.0"
}
},
- "node_modules/arraybuffer.prototype.slice": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz",
- "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==",
- "dependencies": {
- "array-buffer-byte-length": "^1.0.0",
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1",
- "is-array-buffer": "^3.0.2",
- "is-shared-array-buffer": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "array.prototype.tosorted": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz",
+ "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==",
+ "requires": {
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.1.0",
+ "es-shim-unscopables": "^1.0.2"
}
},
- "node_modules/ast-types-flow": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
- "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag=="
- },
- "node_modules/asynciterator.prototype": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz",
- "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==",
- "dependencies": {
- "has-symbols": "^1.0.3"
+ "arraybuffer.prototype.slice": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz",
+ "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==",
+ "requires": {
+ "array-buffer-byte-length": "^1.0.1",
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.2.1",
+ "get-intrinsic": "^1.2.3",
+ "is-array-buffer": "^3.0.4",
+ "is-shared-array-buffer": "^1.0.2"
}
},
- "node_modules/autoprefixer": {
+ "ast-types-flow": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz",
+ "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ=="
+ },
+ "autoprefixer": {
"version": "10.4.15",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.15.tgz",
"integrity": "sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/autoprefixer"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "dependencies": {
+ "requires": {
"browserslist": "^4.21.10",
"caniuse-lite": "^1.0.30001520",
"fraction.js": "^4.2.0",
"normalize-range": "^0.1.2",
"picocolors": "^1.0.0",
"postcss-value-parser": "^4.2.0"
- },
- "bin": {
- "autoprefixer": "bin/autoprefixer"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
}
},
- "node_modules/available-typed-arrays": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
- "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "available-typed-arrays": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
+ "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
+ "requires": {
+ "possible-typed-array-names": "^1.0.0"
}
},
- "node_modules/axe-core": {
- "version": "4.8.1",
- "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.8.1.tgz",
- "integrity": "sha512-9l850jDDPnKq48nbad8SiEelCv4OrUWrKab/cPj0GScVg6cb6NbCCt/Ulk26QEq5jP9NnGr04Bit1BHyV6r5CQ==",
- "engines": {
- "node": ">=4"
- }
+ "axe-core": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz",
+ "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ=="
},
- "node_modules/axobject-query": {
+ "axobject-query": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz",
"integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==",
- "dependencies": {
+ "requires": {
"dequal": "^2.0.3"
}
},
- "node_modules/balanced-match": {
+ "balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
},
- "node_modules/base64id": {
+ "base64id": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
- "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
- "engines": {
- "node": "^4.5.0 || >= 5.9"
- }
+ "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog=="
},
- "node_modules/binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "engines": {
- "node": ">=8"
- }
+ "binary-extensions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="
},
- "node_modules/brace-expansion": {
+ "brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dependencies": {
+ "requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
- "node_modules/braces": {
+ "braces": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dependencies": {
+ "requires": {
"fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/browserslist": {
- "version": "4.21.10",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz",
- "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "dependencies": {
- "caniuse-lite": "^1.0.30001517",
- "electron-to-chromium": "^1.4.477",
- "node-releases": "^2.0.13",
- "update-browserslist-db": "^1.0.11"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
- "node_modules/busboy": {
+ "browserslist": {
+ "version": "4.23.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
+ "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
+ "requires": {
+ "caniuse-lite": "^1.0.30001587",
+ "electron-to-chromium": "^1.4.668",
+ "node-releases": "^2.0.14",
+ "update-browserslist-db": "^1.0.13"
+ }
+ },
+ "busboy": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
"integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
- "dependencies": {
+ "requires": {
"streamsearch": "^1.1.0"
- },
- "engines": {
- "node": ">=10.16.0"
}
},
- "node_modules/call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
- "dependencies": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "call-bind": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
+ "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
+ "requires": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.1"
}
},
- "node_modules/callsites": {
+ "callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "engines": {
- "node": ">=6"
- }
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
},
- "node_modules/camelcase-css": {
+ "camelcase-css": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
- "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/caniuse-lite": {
- "version": "1.0.30001534",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001534.tgz",
- "integrity": "sha512-vlPVrhsCS7XaSh2VvWluIQEzVhefrUQcEsQWSS5A5V+dM07uv1qHeQzAOTGIMy9i3e9bH15+muvI/UHojVgS/Q==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ]
+ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="
},
- "node_modules/cbor-js": {
+ "caniuse-lite": {
+ "version": "1.0.30001620",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001620.tgz",
+ "integrity": "sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew=="
+ },
+ "cbor-js": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/cbor-js/-/cbor-js-0.1.0.tgz",
"integrity": "sha512-7sQ/TvDZPl7csT1Sif9G0+MA0I0JOVah8+wWlJVQdVEgIbCzlN/ab3x+uvMNsc34TUvO6osQTAmB2ls80JX6tw=="
},
- "node_modules/chalk": {
+ "chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dependencies": {
+ "requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
- "dependencies": {
+ }
+ },
+ "chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "requires": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
+ "fsevents": "~2.3.2",
"glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
"readdirp": "~3.6.0"
},
- "engines": {
- "node": ">= 8.10.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/chokidar/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ }
}
},
- "node_modules/client-only": {
+ "client-only": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
"integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
},
- "node_modules/color-convert": {
+ "color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dependencies": {
+ "requires": {
"color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
}
},
- "node_modules/color-name": {
+ "color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
- "node_modules/commander": {
+ "commander": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
- "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
- "engines": {
- "node": ">= 6"
- }
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="
},
- "node_modules/concat-map": {
+ "concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
},
- "node_modules/cookie": {
+ "cookie": {
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
- "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
- "engines": {
- "node": ">= 0.6"
- }
+ "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA=="
},
- "node_modules/cors": {
+ "cors": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
"integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
- "dependencies": {
+ "requires": {
"object-assign": "^4",
"vary": "^1"
- },
- "engines": {
- "node": ">= 0.10"
}
},
- "node_modules/cross-spawn": {
+ "cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dependencies": {
+ "requires": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
"which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
}
},
- "node_modules/cssesc": {
+ "cssesc": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "bin": {
- "cssesc": "bin/cssesc"
- },
- "engines": {
- "node": ">=4"
- }
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
},
- "node_modules/csstype": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
- "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
+ "csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
},
- "node_modules/damerau-levenshtein": {
+ "damerau-levenshtein": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
"integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA=="
},
- "node_modules/debug": {
+ "data-view-buffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz",
+ "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==",
+ "requires": {
+ "call-bind": "^1.0.6",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ }
+ },
+ "data-view-byte-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz",
+ "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ }
+ },
+ "data-view-byte-offset": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz",
+ "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==",
+ "requires": {
+ "call-bind": "^1.0.6",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ }
+ },
+ "debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dependencies": {
+ "requires": {
"ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
}
},
- "node_modules/deep-is": {
+ "deep-is": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
},
- "node_modules/define-data-property": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.0.tgz",
- "integrity": "sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==",
- "dependencies": {
- "get-intrinsic": "^1.2.1",
- "gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
+ "define-data-property": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+ "requires": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
}
},
- "node_modules/define-properties": {
+ "define-properties": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
"integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
- "dependencies": {
+ "requires": {
"define-data-property": "^1.0.1",
"has-property-descriptors": "^1.0.0",
"object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/dequal": {
+ "dequal": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
- "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
- "engines": {
- "node": ">=6"
- }
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="
},
- "node_modules/didyoumean": {
+ "didyoumean": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
"integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="
},
- "node_modules/dir-glob": {
+ "dir-glob": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
"integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dependencies": {
+ "requires": {
"path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
}
},
- "node_modules/dlv": {
+ "dlv": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
"integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
},
- "node_modules/doctrine": {
+ "doctrine": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
"integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dependencies": {
+ "requires": {
"esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=6.0.0"
}
},
- "node_modules/electron-to-chromium": {
- "version": "1.4.520",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.520.tgz",
- "integrity": "sha512-Frfus2VpYADsrh1lB3v/ft/WVFlVzOIm+Q0p7U7VqHI6qr7NWHYKe+Wif3W50n7JAFoBsWVsoU0+qDks6WQ60g=="
+ "eastasianwidth": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
+ },
+ "electron-to-chromium": {
+ "version": "1.4.772",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.772.tgz",
+ "integrity": "sha512-jFfEbxR/abTTJA3ci+2ok1NTuOBBtB4jH+UT6PUmRN+DY3WSD4FFRsgoVQ+QNIJ0T7wrXwzsWCI2WKC46b++2A=="
},
- "node_modules/emoji-regex": {
+ "emoji-regex": {
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
},
- "node_modules/engine.io": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.2.tgz",
- "integrity": "sha512-IXsMcGpw/xRfjra46sVZVHiSWo/nJ/3g1337q9KNXtS6YRzbW5yIzTCb9DjhrBe7r3GZQR0I4+nq+4ODk5g/cA==",
- "dependencies": {
+ "engine.io": {
+ "version": "6.5.4",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.4.tgz",
+ "integrity": "sha512-KdVSDKhVKyOi+r5uEabrDLZw2qXStVvCsEB/LN3mw4WFi6Gx50jTyuxYVCwAAC0U46FdnzP/ScKRBTXb/NiEOg==",
+ "requires": {
"@types/cookie": "^0.4.1",
"@types/cors": "^2.8.12",
"@types/node": ">=10.0.0",
@@ -1281,184 +1039,166 @@
"engine.io-parser": "~5.2.1",
"ws": "~8.11.0"
},
- "engines": {
- "node": ">=10.2.0"
- }
- },
- "node_modules/engine.io-parser": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz",
- "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==",
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/engine.io/node_modules/ws": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
- "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
+ "dependencies": {
+ "ws": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
+ "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg=="
}
}
},
- "node_modules/enhanced-resolve": {
- "version": "5.15.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz",
- "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==",
- "dependencies": {
+ "engine.io-parser": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.2.tgz",
+ "integrity": "sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw=="
+ },
+ "enhanced-resolve": {
+ "version": "5.16.1",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.1.tgz",
+ "integrity": "sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==",
+ "requires": {
"graceful-fs": "^4.2.4",
"tapable": "^2.2.0"
- },
- "engines": {
- "node": ">=10.13.0"
}
},
- "node_modules/es-abstract": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz",
- "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==",
- "dependencies": {
- "array-buffer-byte-length": "^1.0.0",
- "arraybuffer.prototype.slice": "^1.0.1",
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "es-set-tostringtag": "^2.0.1",
+ "es-abstract": {
+ "version": "1.23.3",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz",
+ "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==",
+ "requires": {
+ "array-buffer-byte-length": "^1.0.1",
+ "arraybuffer.prototype.slice": "^1.0.3",
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
+ "data-view-buffer": "^1.0.1",
+ "data-view-byte-length": "^1.0.1",
+ "data-view-byte-offset": "^1.0.0",
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "es-set-tostringtag": "^2.0.3",
"es-to-primitive": "^1.2.1",
- "function.prototype.name": "^1.1.5",
- "get-intrinsic": "^1.2.1",
- "get-symbol-description": "^1.0.0",
+ "function.prototype.name": "^1.1.6",
+ "get-intrinsic": "^1.2.4",
+ "get-symbol-description": "^1.0.2",
"globalthis": "^1.0.3",
"gopd": "^1.0.1",
- "has": "^1.0.3",
- "has-property-descriptors": "^1.0.0",
- "has-proto": "^1.0.1",
+ "has-property-descriptors": "^1.0.2",
+ "has-proto": "^1.0.3",
"has-symbols": "^1.0.3",
- "internal-slot": "^1.0.5",
- "is-array-buffer": "^3.0.2",
+ "hasown": "^2.0.2",
+ "internal-slot": "^1.0.7",
+ "is-array-buffer": "^3.0.4",
"is-callable": "^1.2.7",
- "is-negative-zero": "^2.0.2",
+ "is-data-view": "^1.0.1",
+ "is-negative-zero": "^2.0.3",
"is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.2",
+ "is-shared-array-buffer": "^1.0.3",
"is-string": "^1.0.7",
- "is-typed-array": "^1.1.10",
+ "is-typed-array": "^1.1.13",
"is-weakref": "^1.0.2",
- "object-inspect": "^1.12.3",
+ "object-inspect": "^1.13.1",
"object-keys": "^1.1.1",
- "object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.5.0",
- "safe-array-concat": "^1.0.0",
- "safe-regex-test": "^1.0.0",
- "string.prototype.trim": "^1.2.7",
- "string.prototype.trimend": "^1.0.6",
- "string.prototype.trimstart": "^1.0.6",
- "typed-array-buffer": "^1.0.0",
- "typed-array-byte-length": "^1.0.0",
- "typed-array-byte-offset": "^1.0.0",
- "typed-array-length": "^1.0.4",
+ "object.assign": "^4.1.5",
+ "regexp.prototype.flags": "^1.5.2",
+ "safe-array-concat": "^1.1.2",
+ "safe-regex-test": "^1.0.3",
+ "string.prototype.trim": "^1.2.9",
+ "string.prototype.trimend": "^1.0.8",
+ "string.prototype.trimstart": "^1.0.8",
+ "typed-array-buffer": "^1.0.2",
+ "typed-array-byte-length": "^1.0.1",
+ "typed-array-byte-offset": "^1.0.2",
+ "typed-array-length": "^1.0.6",
"unbox-primitive": "^1.0.2",
- "which-typed-array": "^1.1.10"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "which-typed-array": "^1.1.15"
}
},
- "node_modules/es-iterator-helpers": {
- "version": "1.0.15",
- "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz",
- "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==",
- "dependencies": {
- "asynciterator.prototype": "^1.0.0",
- "call-bind": "^1.0.2",
+ "es-define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
+ "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+ "requires": {
+ "get-intrinsic": "^1.2.4"
+ }
+ },
+ "es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="
+ },
+ "es-iterator-helpers": {
+ "version": "1.0.19",
+ "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz",
+ "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==",
+ "requires": {
+ "call-bind": "^1.0.7",
"define-properties": "^1.2.1",
- "es-abstract": "^1.22.1",
- "es-set-tostringtag": "^2.0.1",
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.2.1",
+ "es-abstract": "^1.23.3",
+ "es-errors": "^1.3.0",
+ "es-set-tostringtag": "^2.0.3",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
"globalthis": "^1.0.3",
- "has-property-descriptors": "^1.0.0",
- "has-proto": "^1.0.1",
+ "has-property-descriptors": "^1.0.2",
+ "has-proto": "^1.0.3",
"has-symbols": "^1.0.3",
- "internal-slot": "^1.0.5",
+ "internal-slot": "^1.0.7",
"iterator.prototype": "^1.1.2",
- "safe-array-concat": "^1.0.1"
+ "safe-array-concat": "^1.1.2"
}
},
- "node_modules/es-set-tostringtag": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz",
- "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==",
- "dependencies": {
- "get-intrinsic": "^1.1.3",
- "has": "^1.0.3",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
+ "es-object-atoms": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz",
+ "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==",
+ "requires": {
+ "es-errors": "^1.3.0"
}
},
- "node_modules/es-shim-unscopables": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
- "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
- "dependencies": {
- "has": "^1.0.3"
+ "es-set-tostringtag": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz",
+ "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==",
+ "requires": {
+ "get-intrinsic": "^1.2.4",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.1"
+ }
+ },
+ "es-shim-unscopables": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz",
+ "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==",
+ "requires": {
+ "hasown": "^2.0.0"
}
},
- "node_modules/es-to-primitive": {
+ "es-to-primitive": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
"integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
- "dependencies": {
+ "requires": {
"is-callable": "^1.1.4",
"is-date-object": "^1.0.1",
"is-symbol": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "engines": {
- "node": ">=6"
- }
+ "escalade": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
+ "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA=="
},
- "node_modules/escape-string-regexp": {
+ "escape-string-regexp": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
},
- "node_modules/eslint": {
+ "eslint": {
"version": "8.49.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz",
"integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==",
- "dependencies": {
+ "requires": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
"@eslint/eslintrc": "^2.1.2",
@@ -1496,22 +1236,13 @@
"optionator": "^0.9.3",
"strip-ansi": "^6.0.1",
"text-table": "^0.2.0"
- },
- "bin": {
- "eslint": "bin/eslint.js"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
}
},
- "node_modules/eslint-config-next": {
+ "eslint-config-next": {
"version": "13.4.19",
"resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.4.19.tgz",
"integrity": "sha512-WE8367sqMnjhWHvR5OivmfwENRQ1ixfNE9hZwQqNCsd+iM3KnuMc1V8Pt6ytgjxjf23D+xbesADv9x3xaKfT3g==",
- "dependencies": {
+ "requires": {
"@next/eslint-plugin-next": "13.4.19",
"@rushstack/eslint-patch": "^1.1.3",
"@typescript-eslint/parser": "^5.4.2 || ^6.0.0",
@@ -1521,40 +1252,33 @@
"eslint-plugin-jsx-a11y": "^6.5.1",
"eslint-plugin-react": "^7.31.7",
"eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705"
- },
- "peerDependencies": {
- "eslint": "^7.23.0 || ^8.0.0",
- "typescript": ">=3.3.1"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
}
},
- "node_modules/eslint-import-resolver-node": {
+ "eslint-import-resolver-node": {
"version": "0.3.9",
"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz",
"integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==",
- "dependencies": {
+ "requires": {
"debug": "^3.2.7",
"is-core-module": "^2.13.0",
"resolve": "^1.22.4"
- }
- },
- "node_modules/eslint-import-resolver-node/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ },
"dependencies": {
- "ms": "^2.1.1"
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ }
}
},
- "node_modules/eslint-import-resolver-typescript": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.0.tgz",
- "integrity": "sha512-QTHR9ddNnn35RTxlaEnx2gCxqFlF2SEN0SE2d17SqwyM7YOSI2GHWRYp5BiRkObTUNYPupC/3Fq2a0PpT+EKpg==",
- "dependencies": {
+ "eslint-import-resolver-typescript": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz",
+ "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==",
+ "requires": {
"debug": "^4.3.4",
"enhanced-resolve": "^5.12.0",
"eslint-module-utils": "^2.7.4",
@@ -1562,1058 +1286,752 @@
"get-tsconfig": "^4.5.0",
"is-core-module": "^2.11.0",
"is-glob": "^4.0.3"
- },
- "engines": {
- "node": "^14.18.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts"
- },
- "peerDependencies": {
- "eslint": "*",
- "eslint-plugin-import": "*"
}
},
- "node_modules/eslint-module-utils": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz",
- "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==",
- "dependencies": {
+ "eslint-module-utils": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz",
+ "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==",
+ "requires": {
"debug": "^3.2.7"
},
- "engines": {
- "node": ">=4"
- },
- "peerDependenciesMeta": {
- "eslint": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-module-utils/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dependencies": {
- "ms": "^2.1.1"
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ }
}
},
- "node_modules/eslint-plugin-import": {
- "version": "2.28.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz",
- "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==",
- "dependencies": {
- "array-includes": "^3.1.6",
- "array.prototype.findlastindex": "^1.2.2",
- "array.prototype.flat": "^1.3.1",
- "array.prototype.flatmap": "^1.3.1",
+ "eslint-plugin-import": {
+ "version": "2.29.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz",
+ "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==",
+ "requires": {
+ "array-includes": "^3.1.7",
+ "array.prototype.findlastindex": "^1.2.3",
+ "array.prototype.flat": "^1.3.2",
+ "array.prototype.flatmap": "^1.3.2",
"debug": "^3.2.7",
"doctrine": "^2.1.0",
- "eslint-import-resolver-node": "^0.3.7",
+ "eslint-import-resolver-node": "^0.3.9",
"eslint-module-utils": "^2.8.0",
- "has": "^1.0.3",
- "is-core-module": "^2.13.0",
+ "hasown": "^2.0.0",
+ "is-core-module": "^2.13.1",
"is-glob": "^4.0.3",
"minimatch": "^3.1.2",
- "object.fromentries": "^2.0.6",
- "object.groupby": "^1.0.0",
- "object.values": "^1.1.6",
+ "object.fromentries": "^2.0.7",
+ "object.groupby": "^1.0.1",
+ "object.values": "^1.1.7",
"semver": "^6.3.1",
- "tsconfig-paths": "^3.14.2"
- },
- "engines": {
- "node": ">=4"
+ "tsconfig-paths": "^3.15.0"
},
- "peerDependencies": {
- "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8"
- }
- },
- "node_modules/eslint-plugin-import/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/eslint-plugin-import/node_modules/doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
"dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/eslint-plugin-import/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "bin": {
- "semver": "bin/semver.js"
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "doctrine": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
+ "semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
+ }
}
},
- "node_modules/eslint-plugin-jsx-a11y": {
- "version": "6.7.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz",
- "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==",
- "dependencies": {
- "@babel/runtime": "^7.20.7",
- "aria-query": "^5.1.3",
- "array-includes": "^3.1.6",
- "array.prototype.flatmap": "^1.3.1",
- "ast-types-flow": "^0.0.7",
- "axe-core": "^4.6.2",
- "axobject-query": "^3.1.1",
+ "eslint-plugin-jsx-a11y": {
+ "version": "6.8.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz",
+ "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==",
+ "requires": {
+ "@babel/runtime": "^7.23.2",
+ "aria-query": "^5.3.0",
+ "array-includes": "^3.1.7",
+ "array.prototype.flatmap": "^1.3.2",
+ "ast-types-flow": "^0.0.8",
+ "axe-core": "=4.7.0",
+ "axobject-query": "^3.2.1",
"damerau-levenshtein": "^1.0.8",
"emoji-regex": "^9.2.2",
- "has": "^1.0.3",
- "jsx-ast-utils": "^3.3.3",
- "language-tags": "=1.0.5",
+ "es-iterator-helpers": "^1.0.15",
+ "hasown": "^2.0.0",
+ "jsx-ast-utils": "^3.3.5",
+ "language-tags": "^1.0.9",
"minimatch": "^3.1.2",
- "object.entries": "^1.1.6",
- "object.fromentries": "^2.0.6",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=4.0"
- },
- "peerDependencies": {
- "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
- }
- },
- "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/eslint-plugin-react": {
- "version": "7.33.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz",
- "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==",
- "dependencies": {
- "array-includes": "^3.1.6",
- "array.prototype.flatmap": "^1.3.1",
- "array.prototype.tosorted": "^1.1.1",
+ "object.entries": "^1.1.7",
+ "object.fromentries": "^2.0.7"
+ }
+ },
+ "eslint-plugin-react": {
+ "version": "7.34.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz",
+ "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==",
+ "requires": {
+ "array-includes": "^3.1.7",
+ "array.prototype.findlast": "^1.2.4",
+ "array.prototype.flatmap": "^1.3.2",
+ "array.prototype.toreversed": "^1.1.2",
+ "array.prototype.tosorted": "^1.1.3",
"doctrine": "^2.1.0",
- "es-iterator-helpers": "^1.0.12",
+ "es-iterator-helpers": "^1.0.17",
"estraverse": "^5.3.0",
"jsx-ast-utils": "^2.4.1 || ^3.0.0",
"minimatch": "^3.1.2",
- "object.entries": "^1.1.6",
- "object.fromentries": "^2.0.6",
- "object.hasown": "^1.1.2",
- "object.values": "^1.1.6",
+ "object.entries": "^1.1.7",
+ "object.fromentries": "^2.0.7",
+ "object.hasown": "^1.1.3",
+ "object.values": "^1.1.7",
"prop-types": "^15.8.1",
- "resolve": "^2.0.0-next.4",
+ "resolve": "^2.0.0-next.5",
"semver": "^6.3.1",
- "string.prototype.matchall": "^4.0.8"
- },
- "engines": {
- "node": ">=4"
- },
- "peerDependencies": {
- "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
- }
- },
- "node_modules/eslint-plugin-react-hooks": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz",
- "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==",
- "engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
- }
- },
- "node_modules/eslint-plugin-react/node_modules/doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dependencies": {
- "esutils": "^2.0.2"
+ "string.prototype.matchall": "^4.0.10"
},
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/eslint-plugin-react/node_modules/resolve": {
- "version": "2.0.0-next.4",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz",
- "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==",
"dependencies": {
- "is-core-module": "^2.9.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "doctrine": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
+ "resolve": {
+ "version": "2.0.0-next.5",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz",
+ "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==",
+ "requires": {
+ "is-core-module": "^2.13.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ }
+ },
+ "semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
+ }
}
},
- "node_modules/eslint-plugin-react/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "bin": {
- "semver": "bin/semver.js"
- }
+ "eslint-plugin-react-hooks": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz",
+ "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ=="
},
- "node_modules/eslint-scope": {
+ "eslint-scope": {
"version": "7.2.2",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
"integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
- "dependencies": {
+ "requires": {
"esrecurse": "^4.3.0",
"estraverse": "^5.2.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
}
},
- "node_modules/eslint-visitor-keys": {
+ "eslint-visitor-keys": {
"version": "3.4.3",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="
},
- "node_modules/espree": {
+ "espree": {
"version": "9.6.1",
"resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
"integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
- "dependencies": {
+ "requires": {
"acorn": "^8.9.0",
"acorn-jsx": "^5.3.2",
"eslint-visitor-keys": "^3.4.1"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
}
},
- "node_modules/esquery": {
+ "esquery": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
"integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
- "dependencies": {
+ "requires": {
"estraverse": "^5.1.0"
- },
- "engines": {
- "node": ">=0.10"
}
},
- "node_modules/esrecurse": {
+ "esrecurse": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
"integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "dependencies": {
+ "requires": {
"estraverse": "^5.2.0"
- },
- "engines": {
- "node": ">=4.0"
}
},
- "node_modules/estraverse": {
+ "estraverse": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "engines": {
- "node": ">=4.0"
- }
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
},
- "node_modules/esutils": {
+ "esutils": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "engines": {
- "node": ">=0.10.0"
- }
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
},
- "node_modules/eventemitter2": {
+ "eventemitter2": {
"version": "6.4.9",
"resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.9.tgz",
"integrity": "sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg=="
},
- "node_modules/fast-deep-equal": {
+ "fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
- "node_modules/fast-glob": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
- "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==",
- "dependencies": {
+ "fast-glob": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+ "requires": {
"@nodelib/fs.stat": "^2.0.2",
"@nodelib/fs.walk": "^1.2.3",
"glob-parent": "^5.1.2",
"merge2": "^1.3.0",
"micromatch": "^4.0.4"
},
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fast-glob/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ }
}
},
- "node_modules/fast-json-stable-stringify": {
+ "fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
},
- "node_modules/fast-levenshtein": {
+ "fast-levenshtein": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
},
- "node_modules/fastq": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
- "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
- "dependencies": {
+ "fastq": {
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
+ "requires": {
"reusify": "^1.0.4"
}
},
- "node_modules/file-entry-cache": {
+ "file-entry-cache": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
"integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
- "dependencies": {
+ "requires": {
"flat-cache": "^3.0.4"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
}
},
- "node_modules/fill-range": {
+ "fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dependencies": {
+ "requires": {
"to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
}
},
- "node_modules/find-up": {
+ "find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
"integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "dependencies": {
+ "requires": {
"locate-path": "^6.0.0",
"path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/flat-cache": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz",
- "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==",
- "dependencies": {
- "flatted": "^3.2.7",
+ "flat-cache": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
+ "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
+ "requires": {
+ "flatted": "^3.2.9",
"keyv": "^4.5.3",
"rimraf": "^3.0.2"
- },
- "engines": {
- "node": ">=12.0.0"
}
},
- "node_modules/flatted": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
- "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ=="
+ "flatted": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
+ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw=="
},
- "node_modules/for-each": {
+ "for-each": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
"integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
- "dependencies": {
+ "requires": {
"is-callable": "^1.1.3"
}
},
- "node_modules/fraction.js": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.6.tgz",
- "integrity": "sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==",
- "engines": {
- "node": "*"
- },
- "funding": {
- "type": "patreon",
- "url": "https://github.com/sponsors/rawify"
+ "foreground-child": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
+ "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
+ "requires": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
}
},
- "node_modules/fs.realpath": {
+ "fraction.js": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
+ "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew=="
+ },
+ "fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
},
- "node_modules/fsevents": {
+ "fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
+ "optional": true
},
- "node_modules/function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ "function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="
},
- "node_modules/function.prototype.name": {
+ "function.prototype.name": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz",
"integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==",
- "dependencies": {
+ "requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.2.0",
"es-abstract": "^1.22.1",
"functions-have-names": "^1.2.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/functions-have-names": {
+ "functions-have-names": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
- "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
+ "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ=="
},
- "node_modules/get-intrinsic": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
- "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
- "dependencies": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
+ "get-intrinsic": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+ "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
+ "requires": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
"has-proto": "^1.0.1",
- "has-symbols": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-symbol-description": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
- "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.0"
}
},
- "node_modules/get-tsconfig": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.0.tgz",
- "integrity": "sha512-pmjiZ7xtB8URYm74PlGJozDNyhvsVLUcpBa8DZBG3bWHwaHa9bPiRpiSfovw+fjhwONSCWKRyk+JQHEGZmMrzw==",
- "dependencies": {
+ "get-symbol-description": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz",
+ "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==",
+ "requires": {
+ "call-bind": "^1.0.5",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4"
+ }
+ },
+ "get-tsconfig": {
+ "version": "4.7.5",
+ "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.5.tgz",
+ "integrity": "sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==",
+ "requires": {
"resolve-pkg-maps": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
}
},
- "node_modules/glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "dependencies": {
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
- "minimatch": "^3.0.4",
+ "minimatch": "^3.1.1",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/glob-parent": {
+ "glob-parent": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dependencies": {
+ "requires": {
"is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
}
},
- "node_modules/glob-to-regexp": {
+ "glob-to-regexp": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
},
- "node_modules/globals": {
- "version": "13.21.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz",
- "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==",
- "dependencies": {
+ "globals": {
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
+ "requires": {
"type-fest": "^0.20.2"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/globalthis": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
- "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
- "dependencies": {
- "define-properties": "^1.1.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "globalthis": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz",
+ "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==",
+ "requires": {
+ "define-properties": "^1.2.1",
+ "gopd": "^1.0.1"
}
},
- "node_modules/globby": {
+ "globby": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
"integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dependencies": {
+ "requires": {
"array-union": "^2.1.0",
"dir-glob": "^3.0.1",
"fast-glob": "^3.2.9",
"ignore": "^5.2.0",
"merge2": "^1.4.1",
"slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/gopd": {
+ "gopd": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
"integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
- "dependencies": {
+ "requires": {
"get-intrinsic": "^1.1.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/graceful-fs": {
+ "graceful-fs": {
"version": "4.2.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
},
- "node_modules/graphemer": {
+ "graphemer": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
"integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="
},
- "node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/has-bigints": {
+ "has-bigints": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
- "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
+ "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ=="
},
- "node_modules/has-flag": {
+ "has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "engines": {
- "node": ">=8"
- }
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
},
- "node_modules/has-property-descriptors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
- "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
- "dependencies": {
- "get-intrinsic": "^1.1.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "has-property-descriptors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+ "requires": {
+ "es-define-property": "^1.0.0"
}
},
- "node_modules/has-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
- "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
+ "has-proto": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q=="
},
- "node_modules/has-symbols": {
+ "has-symbols": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
},
- "node_modules/has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
- "dependencies": {
- "has-symbols": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "has-tostringtag": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+ "requires": {
+ "has-symbols": "^1.0.3"
}
},
- "node_modules/ignore": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
- "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
- "engines": {
- "node": ">= 4"
+ "hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "requires": {
+ "function-bind": "^1.1.2"
}
},
- "node_modules/import-fresh": {
+ "ignore": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
+ "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw=="
+ },
+ "import-fresh": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
"integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dependencies": {
+ "requires": {
"parent-module": "^1.0.0",
"resolve-from": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/imurmurhash": {
+ "imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
- "engines": {
- "node": ">=0.8.19"
- }
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="
},
- "node_modules/inflight": {
+ "inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "dependencies": {
+ "requires": {
"once": "^1.3.0",
"wrappy": "1"
}
},
- "node_modules/inherits": {
+ "inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
- "node_modules/internal-slot": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz",
- "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==",
- "dependencies": {
- "get-intrinsic": "^1.2.0",
- "has": "^1.0.3",
+ "internal-slot": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz",
+ "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==",
+ "requires": {
+ "es-errors": "^1.3.0",
+ "hasown": "^2.0.0",
"side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">= 0.4"
}
},
- "node_modules/is-array-buffer": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz",
- "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==",
- "dependencies": {
+ "is-array-buffer": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
+ "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==",
+ "requires": {
"call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.0",
- "is-typed-array": "^1.1.10"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "get-intrinsic": "^1.2.1"
}
},
- "node_modules/is-async-function": {
+ "is-async-function": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz",
"integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==",
- "dependencies": {
+ "requires": {
"has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-bigint": {
+ "is-bigint": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
"integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
- "dependencies": {
+ "requires": {
"has-bigints": "^1.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-binary-path": {
+ "is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dependencies": {
+ "requires": {
"binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
}
},
- "node_modules/is-boolean-object": {
+ "is-boolean-object": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
"integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
- "dependencies": {
+ "requires": {
"call-bind": "^1.0.2",
"has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-callable": {
+ "is-callable": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
- "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="
+ },
+ "is-core-module": {
+ "version": "2.13.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
+ "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
+ "requires": {
+ "hasown": "^2.0.0"
}
},
- "node_modules/is-core-module": {
- "version": "2.13.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz",
- "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==",
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "is-data-view": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz",
+ "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==",
+ "requires": {
+ "is-typed-array": "^1.1.13"
}
},
- "node_modules/is-date-object": {
+ "is-date-object": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
"integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
- "dependencies": {
+ "requires": {
"has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-extglob": {
+ "is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "engines": {
- "node": ">=0.10.0"
- }
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
},
- "node_modules/is-finalizationregistry": {
+ "is-finalizationregistry": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz",
"integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==",
- "dependencies": {
+ "requires": {
"call-bind": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-generator-function": {
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
+ },
+ "is-generator-function": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
"integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
- "dependencies": {
+ "requires": {
"has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-glob": {
+ "is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dependencies": {
+ "requires": {
"is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
}
},
- "node_modules/is-map": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz",
- "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
+ "is-map": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
+ "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw=="
},
- "node_modules/is-negative-zero": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
- "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
+ "is-negative-zero": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
+ "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw=="
},
- "node_modules/is-number": {
+ "is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "engines": {
- "node": ">=0.12.0"
- }
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
},
- "node_modules/is-number-object": {
+ "is-number-object": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
"integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
- "dependencies": {
+ "requires": {
"has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-path-inside": {
+ "is-path-inside": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
- "engines": {
- "node": ">=8"
- }
+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ=="
},
- "node_modules/is-regex": {
+ "is-regex": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
"integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
- "dependencies": {
+ "requires": {
"call-bind": "^1.0.2",
"has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-set": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz",
- "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
+ "is-set": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
+ "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg=="
},
- "node_modules/is-shared-array-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
- "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
- "dependencies": {
- "call-bind": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "is-shared-array-buffer": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz",
+ "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==",
+ "requires": {
+ "call-bind": "^1.0.7"
}
},
- "node_modules/is-string": {
+ "is-string": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
"integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
- "dependencies": {
+ "requires": {
"has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-symbol": {
+ "is-symbol": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
"integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
- "dependencies": {
+ "requires": {
"has-symbols": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-typed-array": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz",
- "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==",
- "dependencies": {
- "which-typed-array": "^1.1.11"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "is-typed-array": {
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz",
+ "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==",
+ "requires": {
+ "which-typed-array": "^1.1.14"
}
},
- "node_modules/is-weakmap": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz",
- "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
+ "is-weakmap": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
+ "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w=="
},
- "node_modules/is-weakref": {
+ "is-weakref": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
"integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
- "dependencies": {
+ "requires": {
"call-bind": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-weakset": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz",
- "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "is-weakset": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz",
+ "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "get-intrinsic": "^1.2.4"
}
},
- "node_modules/isarray": {
+ "isarray": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
"integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="
},
- "node_modules/isexe": {
+ "isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
},
- "node_modules/iterator.prototype": {
+ "iterator.prototype": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz",
"integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==",
- "dependencies": {
+ "requires": {
"define-properties": "^1.2.1",
"get-intrinsic": "^1.2.1",
"has-symbols": "^1.0.3",
@@ -2621,281 +2039,214 @@
"set-function-name": "^2.0.1"
}
},
- "node_modules/jiti": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz",
- "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==",
- "bin": {
- "jiti": "bin/jiti.js"
+ "jackspeak": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz",
+ "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==",
+ "requires": {
+ "@isaacs/cliui": "^8.0.2",
+ "@pkgjs/parseargs": "^0.11.0"
}
},
- "node_modules/js-tokens": {
+ "jiti": {
+ "version": "1.21.0",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz",
+ "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q=="
+ },
+ "js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
},
- "node_modules/js-yaml": {
+ "js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dependencies": {
+ "requires": {
"argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
}
},
- "node_modules/json-buffer": {
+ "json-buffer": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
"integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="
},
- "node_modules/json-schema-traverse": {
+ "json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
},
- "node_modules/json-stable-stringify-without-jsonify": {
+ "json-stable-stringify-without-jsonify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
"integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="
},
- "node_modules/json5": {
+ "json5": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
- "dependencies": {
+ "requires": {
"minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
}
},
- "node_modules/jsx-ast-utils": {
+ "jsx-ast-utils": {
"version": "3.3.5",
"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz",
"integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==",
- "dependencies": {
+ "requires": {
"array-includes": "^3.1.6",
"array.prototype.flat": "^1.3.1",
"object.assign": "^4.1.4",
"object.values": "^1.1.6"
- },
- "engines": {
- "node": ">=4.0"
}
},
- "node_modules/keyv": {
- "version": "4.5.3",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz",
- "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==",
- "dependencies": {
+ "keyv": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+ "requires": {
"json-buffer": "3.0.1"
}
},
- "node_modules/language-subtag-registry": {
+ "language-subtag-registry": {
"version": "0.3.22",
"resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz",
"integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w=="
},
- "node_modules/language-tags": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz",
- "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==",
- "dependencies": {
- "language-subtag-registry": "~0.3.2"
+ "language-tags": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz",
+ "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==",
+ "requires": {
+ "language-subtag-registry": "^0.3.20"
}
},
- "node_modules/levn": {
+ "levn": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
"integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dependencies": {
+ "requires": {
"prelude-ls": "^1.2.1",
"type-check": "~0.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
}
},
- "node_modules/lilconfig": {
+ "lilconfig": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
- "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
- "engines": {
- "node": ">=10"
- }
+ "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ=="
},
- "node_modules/lines-and-columns": {
+ "lines-and-columns": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
},
- "node_modules/locate-path": {
+ "locate-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
"integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "dependencies": {
+ "requires": {
"p-locate": "^5.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/lodash.merge": {
+ "lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
},
- "node_modules/loose-envify": {
+ "loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "dependencies": {
+ "requires": {
"js-tokens": "^3.0.0 || ^4.0.0"
- },
- "bin": {
- "loose-envify": "cli.js"
}
},
- "node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
+ "lru-cache": {
+ "version": "10.2.2",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz",
+ "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ=="
},
- "node_modules/merge2": {
+ "merge2": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "engines": {
- "node": ">= 8"
- }
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
},
- "node_modules/micromatch": {
+ "micromatch": {
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dependencies": {
+ "requires": {
"braces": "^3.0.2",
"picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
}
},
- "node_modules/mime-db": {
+ "mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "engines": {
- "node": ">= 0.6"
- }
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
},
- "node_modules/mime-types": {
+ "mime-types": {
"version": "2.1.35",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dependencies": {
+ "requires": {
"mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
}
},
- "node_modules/minimatch": {
+ "minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dependencies": {
+ "requires": {
"brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
}
},
- "node_modules/minimist": {
+ "minimist": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="
},
- "node_modules/ms": {
+ "minipass": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.1.tgz",
+ "integrity": "sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA=="
+ },
+ "ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
- "node_modules/mz": {
+ "mz": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
"integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
- "dependencies": {
+ "requires": {
"any-promise": "^1.0.0",
"object-assign": "^4.0.1",
"thenify-all": "^1.0.0"
}
},
- "node_modules/nanoid": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
- "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
+ "nanoid": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g=="
},
- "node_modules/natural-compare": {
+ "natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="
},
- "node_modules/negotiator": {
+ "negotiator": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
- "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
- "engines": {
- "node": ">= 0.6"
- }
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
},
- "node_modules/next": {
+ "next": {
"version": "13.4.19",
"resolved": "https://registry.npmjs.org/next/-/next-13.4.19.tgz",
"integrity": "sha512-HuPSzzAbJ1T4BD8e0bs6B9C1kWQ6gv8ykZoRWs5AQoiIuqbGHHdQO7Ljuvg05Q0Z24E2ABozHe6FxDvI6HfyAw==",
- "dependencies": {
+ "requires": {
"@next/env": "13.4.19",
- "@swc/helpers": "0.5.1",
- "busboy": "1.6.0",
- "caniuse-lite": "^1.0.30001406",
- "postcss": "8.4.14",
- "styled-jsx": "5.1.1",
- "watchpack": "2.4.0",
- "zod": "3.21.4"
- },
- "bin": {
- "next": "dist/bin/next"
- },
- "engines": {
- "node": ">=16.8.0"
- },
- "optionalDependencies": {
"@next/swc-darwin-arm64": "13.4.19",
"@next/swc-darwin-x64": "13.4.19",
"@next/swc-linux-arm64-gnu": "13.4.19",
@@ -2904,637 +2255,431 @@
"@next/swc-linux-x64-musl": "13.4.19",
"@next/swc-win32-arm64-msvc": "13.4.19",
"@next/swc-win32-ia32-msvc": "13.4.19",
- "@next/swc-win32-x64-msvc": "13.4.19"
- },
- "peerDependencies": {
- "@opentelemetry/api": "^1.1.0",
- "react": "^18.2.0",
- "react-dom": "^18.2.0",
- "sass": "^1.3.0"
+ "@next/swc-win32-x64-msvc": "13.4.19",
+ "@swc/helpers": "0.5.1",
+ "busboy": "1.6.0",
+ "caniuse-lite": "^1.0.30001406",
+ "postcss": "8.4.14",
+ "styled-jsx": "5.1.1",
+ "watchpack": "2.4.0",
+ "zod": "3.21.4"
},
- "peerDependenciesMeta": {
- "@opentelemetry/api": {
- "optional": true
- },
- "sass": {
- "optional": true
- }
- }
- },
- "node_modules/next/node_modules/postcss": {
- "version": "8.4.14",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
- "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- }
- ],
"dependencies": {
- "nanoid": "^3.3.4",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
+ "postcss": {
+ "version": "8.4.14",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
+ "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
+ "requires": {
+ "nanoid": "^3.3.4",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.2"
+ }
+ }
}
},
- "node_modules/node-releases": {
- "version": "2.0.13",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
- "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ=="
+ "node-releases": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
+ "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw=="
},
- "node_modules/normalize-path": {
+ "normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "engines": {
- "node": ">=0.10.0"
- }
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
},
- "node_modules/normalize-range": {
+ "normalize-range": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
- "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
- "engines": {
- "node": ">=0.10.0"
- }
+ "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA=="
},
- "node_modules/object-assign": {
+ "object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
- "engines": {
- "node": ">=0.10.0"
- }
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
},
- "node_modules/object-hash": {
+ "object-hash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
- "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
- "engines": {
- "node": ">= 6"
- }
+ "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw=="
},
- "node_modules/object-inspect": {
- "version": "1.12.3",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
- "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
+ "object-inspect": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
+ "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ=="
},
- "node_modules/object-keys": {
+ "object-keys": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.assign": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
- "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
+ },
+ "object.assign": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
+ "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==",
+ "requires": {
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
"has-symbols": "^1.0.3",
"object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/object.entries": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz",
- "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
- },
- "engines": {
- "node": ">= 0.4"
+ "object.entries": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz",
+ "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
}
},
- "node_modules/object.fromentries": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz",
- "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "object.fromentries": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz",
+ "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-object-atoms": "^1.0.0"
}
},
- "node_modules/object.groupby": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz",
- "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1"
+ "object.groupby": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz",
+ "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2"
}
},
- "node_modules/object.hasown": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz",
- "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==",
- "dependencies": {
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "object.hasown": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz",
+ "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==",
+ "requires": {
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-object-atoms": "^1.0.0"
}
},
- "node_modules/object.values": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz",
- "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "object.values": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz",
+ "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
}
},
- "node_modules/once": {
+ "once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dependencies": {
+ "requires": {
"wrappy": "1"
}
},
- "node_modules/optionator": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
- "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
- "dependencies": {
- "@aashutoshrathi/word-wrap": "^1.2.3",
+ "optionator": {
+ "version": "0.9.4",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
+ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
+ "requires": {
"deep-is": "^0.1.3",
"fast-levenshtein": "^2.0.6",
"levn": "^0.4.1",
"prelude-ls": "^1.2.1",
- "type-check": "^0.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.5"
}
},
- "node_modules/p-limit": {
+ "p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dependencies": {
+ "requires": {
"yocto-queue": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/p-locate": {
+ "p-locate": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
"integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "dependencies": {
+ "requires": {
"p-limit": "^3.0.2"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/parent-module": {
+ "parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dependencies": {
+ "requires": {
"callsites": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
}
},
- "node_modules/path-exists": {
+ "path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "engines": {
- "node": ">=8"
- }
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
},
- "node_modules/path-is-absolute": {
+ "path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "engines": {
- "node": ">=0.10.0"
- }
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
},
- "node_modules/path-key": {
+ "path-key": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "engines": {
- "node": ">=8"
- }
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
},
- "node_modules/path-parse": {
+ "path-parse": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
},
- "node_modules/path-type": {
+ "path-scurry": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
+ "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
+ "requires": {
+ "lru-cache": "^10.2.0",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+ }
+ },
+ "path-type": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "engines": {
- "node": ">=8"
- }
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
},
- "node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+ "picocolors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
+ "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew=="
},
- "node_modules/picomatch": {
+ "picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
},
- "node_modules/pify": {
+ "pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "engines": {
- "node": ">=0.10.0"
- }
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="
},
- "node_modules/pirates": {
+ "pirates": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz",
- "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==",
- "engines": {
- "node": ">= 6"
- }
+ "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg=="
},
- "node_modules/pngparse": {
+ "pngparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/pngparse/-/pngparse-2.0.1.tgz",
"integrity": "sha512-RyB1P0BBwt3CNIZ5wT53lR1dT3CUtopnMOuP8xZdHjPhI/uXNNRnkx1yQb/3MMMyyMeo6p19fiIRHcLopWIkxA=="
},
- "node_modules/postcss": {
+ "possible-typed-array-names": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
+ "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q=="
+ },
+ "postcss": {
"version": "8.4.29",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.29.tgz",
"integrity": "sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "dependencies": {
+ "requires": {
"nanoid": "^3.3.6",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
}
},
- "node_modules/postcss-import": {
+ "postcss-import": {
"version": "15.1.0",
"resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
"integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
- "dependencies": {
+ "requires": {
"postcss-value-parser": "^4.0.0",
"read-cache": "^1.0.0",
"resolve": "^1.1.7"
- },
- "engines": {
- "node": ">=14.0.0"
- },
- "peerDependencies": {
- "postcss": "^8.0.0"
}
},
- "node_modules/postcss-js": {
+ "postcss-js": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
"integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
- "dependencies": {
+ "requires": {
"camelcase-css": "^2.0.1"
- },
- "engines": {
- "node": "^12 || ^14 || >= 16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": "^8.4.21"
}
},
- "node_modules/postcss-load-config": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz",
- "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==",
- "dependencies": {
- "lilconfig": "^2.0.5",
- "yaml": "^2.1.1"
- },
- "engines": {
- "node": ">= 14"
+ "postcss-load-config": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz",
+ "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==",
+ "requires": {
+ "lilconfig": "^3.0.0",
+ "yaml": "^2.3.4"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": ">=8.0.9",
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "postcss": {
- "optional": true
- },
- "ts-node": {
- "optional": true
+ "dependencies": {
+ "lilconfig": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz",
+ "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ=="
}
}
},
- "node_modules/postcss-nested": {
+ "postcss-nested": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz",
"integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==",
- "dependencies": {
+ "requires": {
"postcss-selector-parser": "^6.0.11"
- },
- "engines": {
- "node": ">=12.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": "^8.2.14"
}
},
- "node_modules/postcss-selector-parser": {
- "version": "6.0.13",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz",
- "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==",
- "dependencies": {
+ "postcss-selector-parser": {
+ "version": "6.0.16",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz",
+ "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==",
+ "requires": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
}
},
- "node_modules/postcss-value-parser": {
+ "postcss-value-parser": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
},
- "node_modules/prelude-ls": {
+ "prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "engines": {
- "node": ">= 0.8.0"
- }
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="
},
- "node_modules/prop-types": {
+ "prop-types": {
"version": "15.8.1",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
"integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
- "dependencies": {
+ "requires": {
"loose-envify": "^1.4.0",
"object-assign": "^4.1.1",
"react-is": "^16.13.1"
}
},
- "node_modules/punycode": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
- "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
- "engines": {
- "node": ">=6"
- }
+ "punycode": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="
},
- "node_modules/queue-microtask": {
+ "queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="
},
- "node_modules/react": {
+ "react": {
"version": "18.2.0",
"resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
"integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
- "dependencies": {
+ "requires": {
"loose-envify": "^1.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
}
},
- "node_modules/react-dom": {
+ "react-dom": {
"version": "18.2.0",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
"integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
- "dependencies": {
+ "requires": {
"loose-envify": "^1.1.0",
"scheduler": "^0.23.0"
- },
- "peerDependencies": {
- "react": "^18.2.0"
}
},
- "node_modules/react-is": {
+ "react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
- "node_modules/read-cache": {
+ "read-cache": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
"integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
- "dependencies": {
+ "requires": {
"pify": "^2.3.0"
}
},
- "node_modules/readdirp": {
+ "readdirp": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dependencies": {
+ "requires": {
"picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
}
},
- "node_modules/reflect.getprototypeof": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz",
- "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1",
+ "reflect.getprototypeof": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz",
+ "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.1",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4",
"globalthis": "^1.0.3",
"which-builtin-type": "^1.1.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/regenerator-runtime": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
- "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA=="
+ "regenerator-runtime": {
+ "version": "0.14.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
},
- "node_modules/regexp.prototype.flags": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz",
- "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "set-function-name": "^2.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "regexp.prototype.flags": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz",
+ "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==",
+ "requires": {
+ "call-bind": "^1.0.6",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "set-function-name": "^2.0.1"
}
},
- "node_modules/resolve": {
- "version": "1.22.4",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz",
- "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==",
- "dependencies": {
+ "resolve": {
+ "version": "1.22.8",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
+ "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+ "requires": {
"is-core-module": "^2.13.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/resolve-from": {
+ "resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "engines": {
- "node": ">=4"
- }
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
},
- "node_modules/resolve-pkg-maps": {
+ "resolve-pkg-maps": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
- "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
- "funding": {
- "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
- }
+ "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="
},
- "node_modules/reusify": {
+ "reusify": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
},
- "node_modules/rimraf": {
+ "rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dependencies": {
+ "requires": {
"glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/roslib": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/roslib/-/roslib-1.3.0.tgz",
- "integrity": "sha512-MqxHMW6bMpZbamgOonSOP9WJY4axCQncT5CJD1jXBjYMdp+79udwyDsD2RQXX2/Lokro8bT9LkXiW6wNn6Gxhg==",
- "dependencies": {
+ "roslib": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/roslib/-/roslib-1.4.1.tgz",
+ "integrity": "sha512-l3BOHqG99RHb73XROykj8o2rRaUqqYwN0E6C1EkH+R1GIfDjMaUGPaCNEoKKmsXT0Vu0EOyL1BudQtdVlMsgjA==",
+ "requires": {
"@xmldom/xmldom": "^0.8.0",
"cbor-js": "^0.1.0",
"eventemitter2": "^6.4.0",
@@ -3544,143 +2689,113 @@
"webworkify": "^1.5.0",
"webworkify-webpack": "^2.1.5",
"ws": "^8.0.0"
- },
- "engines": {
- "node": ">=0.10"
}
},
- "node_modules/run-parallel": {
+ "run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
+ "requires": {
"queue-microtask": "^1.2.2"
}
},
- "node_modules/safe-array-concat": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz",
- "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.1",
+ "safe-array-concat": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz",
+ "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "get-intrinsic": "^1.2.4",
"has-symbols": "^1.0.3",
"isarray": "^2.0.5"
- },
- "engines": {
- "node": ">=0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/safe-regex-test": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
- "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.3",
+ "safe-regex-test": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz",
+ "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==",
+ "requires": {
+ "call-bind": "^1.0.6",
+ "es-errors": "^1.3.0",
"is-regex": "^1.1.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/scheduler": {
- "version": "0.23.0",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
- "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
- "dependencies": {
+ "scheduler": {
+ "version": "0.23.2",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
+ "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
+ "requires": {
"loose-envify": "^1.1.0"
}
},
- "node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
+ "semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w=="
+ },
+ "set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "requires": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
}
},
- "node_modules/set-function-name": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz",
- "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==",
- "dependencies": {
- "define-data-property": "^1.0.1",
+ "set-function-name": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
+ "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
+ "requires": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
"functions-have-names": "^1.2.3",
- "has-property-descriptors": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
+ "has-property-descriptors": "^1.0.2"
}
},
- "node_modules/shebang-command": {
+ "shebang-command": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dependencies": {
+ "requires": {
"shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
}
},
- "node_modules/shebang-regex": {
+ "shebang-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "engines": {
- "node": ">=8"
- }
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
},
- "node_modules/side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
- "dependencies": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "side-channel": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
+ "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4",
+ "object-inspect": "^1.13.1"
}
},
- "node_modules/slash": {
+ "signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="
+ },
+ "slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "engines": {
- "node": ">=8"
- }
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
},
- "node_modules/socket.io": {
- "version": "4.7.2",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.2.tgz",
- "integrity": "sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==",
- "dependencies": {
+ "socket.io": {
+ "version": "4.7.5",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.5.tgz",
+ "integrity": "sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==",
+ "requires": {
"accepts": "~1.3.4",
"base64id": "~2.0.0",
"cors": "~2.8.5",
@@ -3688,247 +2803,206 @@
"engine.io": "~6.5.2",
"socket.io-adapter": "~2.5.2",
"socket.io-parser": "~4.2.4"
- },
- "engines": {
- "node": ">=10.2.0"
}
},
- "node_modules/socket.io-adapter": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz",
- "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==",
- "dependencies": {
+ "socket.io-adapter": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.4.tgz",
+ "integrity": "sha512-wDNHGXGewWAjQPt3pyeYBtpWSq9cLE5UW1ZUPL/2eGK9jtse/FpXib7epSTsz0Q0m+6sg6Y4KtcFTlah1bdOVg==",
+ "requires": {
+ "debug": "~4.3.4",
"ws": "~8.11.0"
- }
- },
- "node_modules/socket.io-adapter/node_modules/ws": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
- "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
},
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
+ "dependencies": {
+ "ws": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
+ "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg=="
}
}
},
- "node_modules/socket.io-parser": {
+ "socket.io-parser": {
"version": "4.2.4",
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz",
"integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==",
- "dependencies": {
+ "requires": {
"@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.1"
- },
- "engines": {
- "node": ">=10.0.0"
}
},
- "node_modules/source-map-js": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
- "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
- "engines": {
- "node": ">=0.10.0"
- }
+ "source-map-js": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+ "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg=="
},
- "node_modules/streamsearch": {
+ "streamsearch": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
- "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
- "engines": {
- "node": ">=10.0.0"
- }
+ "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg=="
},
- "node_modules/string.prototype.matchall": {
- "version": "4.0.10",
- "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz",
- "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1",
- "has-symbols": "^1.0.3",
- "internal-slot": "^1.0.5",
- "regexp.prototype.flags": "^1.5.0",
- "set-function-name": "^2.0.0",
- "side-channel": "^1.0.4"
+ "string-width": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "requires": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
},
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "dependencies": {
+ "ansi-regex": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA=="
+ },
+ "strip-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "requires": {
+ "ansi-regex": "^6.0.1"
+ }
+ }
}
},
- "node_modules/string.prototype.trim": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz",
- "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "string.prototype.matchall": {
+ "version": "4.0.11",
+ "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz",
+ "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "internal-slot": "^1.0.7",
+ "regexp.prototype.flags": "^1.5.2",
+ "set-function-name": "^2.0.2",
+ "side-channel": "^1.0.6"
+ }
+ },
+ "string.prototype.trim": {
+ "version": "1.2.9",
+ "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz",
+ "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.0",
+ "es-object-atoms": "^1.0.0"
}
},
- "node_modules/string.prototype.trimend": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz",
- "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "string.prototype.trimend": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz",
+ "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
}
},
- "node_modules/string.prototype.trimstart": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz",
- "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "string.prototype.trimstart": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz",
+ "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
}
},
- "node_modules/strip-ansi": {
+ "strip-ansi": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dependencies": {
+ "requires": {
"ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
}
},
- "node_modules/strip-bom": {
+ "strip-bom": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
- "engines": {
- "node": ">=4"
- }
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="
},
- "node_modules/strip-json-comments": {
+ "strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
},
- "node_modules/styled-jsx": {
+ "styled-jsx": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz",
"integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==",
- "dependencies": {
+ "requires": {
"client-only": "0.0.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- },
- "peerDependencies": {
- "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0"
- },
- "peerDependenciesMeta": {
- "@babel/core": {
- "optional": true
- },
- "babel-plugin-macros": {
- "optional": true
- }
}
},
- "node_modules/sucrase": {
- "version": "3.34.0",
- "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz",
- "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==",
- "dependencies": {
+ "sucrase": {
+ "version": "3.35.0",
+ "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz",
+ "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==",
+ "requires": {
"@jridgewell/gen-mapping": "^0.3.2",
"commander": "^4.0.0",
- "glob": "7.1.6",
+ "glob": "^10.3.10",
"lines-and-columns": "^1.1.6",
"mz": "^2.7.0",
"pirates": "^4.0.1",
"ts-interface-checker": "^0.1.9"
},
- "bin": {
- "sucrase": "bin/sucrase",
- "sucrase-node": "bin/sucrase-node"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/sucrase/node_modules/glob": {
- "version": "7.1.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
- "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
"dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "glob": {
+ "version": "10.3.15",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.15.tgz",
+ "integrity": "sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==",
+ "requires": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^2.3.6",
+ "minimatch": "^9.0.1",
+ "minipass": "^7.0.4",
+ "path-scurry": "^1.11.0"
+ }
+ },
+ "minimatch": {
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ }
}
},
- "node_modules/supports-color": {
+ "supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dependencies": {
+ "requires": {
"has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
}
},
- "node_modules/supports-preserve-symlinks-flag": {
+ "supports-preserve-symlinks-flag": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
},
- "node_modules/tailwindcss": {
+ "tailwindcss": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz",
"integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==",
- "dependencies": {
+ "requires": {
"@alloc/quick-lru": "^5.2.0",
"arg": "^5.0.2",
"chokidar": "^3.5.3",
@@ -3951,305 +3025,216 @@
"postcss-selector-parser": "^6.0.11",
"resolve": "^1.22.2",
"sucrase": "^3.32.0"
- },
- "bin": {
- "tailwind": "lib/cli.js",
- "tailwindcss": "lib/cli.js"
- },
- "engines": {
- "node": ">=14.0.0"
}
},
- "node_modules/tapable": {
+ "tapable": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
- "engines": {
- "node": ">=6"
- }
+ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ=="
},
- "node_modules/text-table": {
+ "text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw=="
},
- "node_modules/thenify": {
+ "thenify": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
"integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
- "dependencies": {
+ "requires": {
"any-promise": "^1.0.0"
}
},
- "node_modules/thenify-all": {
+ "thenify-all": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
"integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
- "dependencies": {
+ "requires": {
"thenify": ">= 3.1.0 < 4"
- },
- "engines": {
- "node": ">=0.8"
}
},
- "node_modules/to-regex-range": {
+ "to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dependencies": {
+ "requires": {
"is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
}
},
- "node_modules/ts-api-utils": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz",
- "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==",
- "engines": {
- "node": ">=16.13.0"
- },
- "peerDependencies": {
- "typescript": ">=4.2.0"
- }
+ "ts-api-utils": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
+ "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ=="
},
- "node_modules/ts-interface-checker": {
+ "ts-interface-checker": {
"version": "0.1.13",
"resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
"integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="
},
- "node_modules/tsconfig-paths": {
- "version": "3.14.2",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz",
- "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==",
- "dependencies": {
+ "tsconfig-paths": {
+ "version": "3.15.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
+ "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==",
+ "requires": {
"@types/json5": "^0.0.29",
"json5": "^1.0.2",
"minimist": "^1.2.6",
"strip-bom": "^3.0.0"
}
},
- "node_modules/tslib": {
+ "tslib": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
},
- "node_modules/type-check": {
+ "type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
"integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dependencies": {
+ "requires": {
"prelude-ls": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.8.0"
}
},
- "node_modules/type-fest": {
+ "type-fest": {
"version": "0.20.2",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="
},
- "node_modules/typed-array-buffer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz",
- "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.1",
- "is-typed-array": "^1.1.10"
- },
- "engines": {
- "node": ">= 0.4"
+ "typed-array-buffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz",
+ "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "is-typed-array": "^1.1.13"
}
},
- "node_modules/typed-array-byte-length": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz",
- "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==",
- "dependencies": {
- "call-bind": "^1.0.2",
+ "typed-array-byte-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz",
+ "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==",
+ "requires": {
+ "call-bind": "^1.0.7",
"for-each": "^0.3.3",
- "has-proto": "^1.0.1",
- "is-typed-array": "^1.1.10"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "gopd": "^1.0.1",
+ "has-proto": "^1.0.3",
+ "is-typed-array": "^1.1.13"
}
},
- "node_modules/typed-array-byte-offset": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz",
- "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==",
- "dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
+ "typed-array-byte-offset": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz",
+ "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==",
+ "requires": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
"for-each": "^0.3.3",
- "has-proto": "^1.0.1",
- "is-typed-array": "^1.1.10"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "gopd": "^1.0.1",
+ "has-proto": "^1.0.3",
+ "is-typed-array": "^1.1.13"
}
},
- "node_modules/typed-array-length": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
- "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
- "dependencies": {
- "call-bind": "^1.0.2",
+ "typed-array-length": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz",
+ "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==",
+ "requires": {
+ "call-bind": "^1.0.7",
"for-each": "^0.3.3",
- "is-typed-array": "^1.1.9"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "gopd": "^1.0.1",
+ "has-proto": "^1.0.3",
+ "is-typed-array": "^1.1.13",
+ "possible-typed-array-names": "^1.0.0"
}
},
- "node_modules/typescript": {
+ "typescript": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
- "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=14.17"
- }
+ "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w=="
},
- "node_modules/unbox-primitive": {
+ "unbox-primitive": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
"integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
- "dependencies": {
+ "requires": {
"call-bind": "^1.0.2",
"has-bigints": "^1.0.2",
"has-symbols": "^1.0.3",
"which-boxed-primitive": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/update-browserslist-db": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz",
- "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "dependencies": {
- "escalade": "^3.1.1",
- "picocolors": "^1.0.0"
- },
- "bin": {
- "update-browserslist-db": "cli.js"
- },
- "peerDependencies": {
- "browserslist": ">= 4.21.0"
}
},
- "node_modules/uri-js": {
+ "update-browserslist-db": {
+ "version": "1.0.16",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz",
+ "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==",
+ "requires": {
+ "escalade": "^3.1.2",
+ "picocolors": "^1.0.1"
+ }
+ },
+ "uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dependencies": {
+ "requires": {
"punycode": "^2.1.0"
}
},
- "node_modules/util-deprecate": {
+ "util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
- "node_modules/vary": {
+ "vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
- "engines": {
- "node": ">= 0.8"
- }
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
},
- "node_modules/watchpack": {
+ "watchpack": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
"integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
- "dependencies": {
+ "requires": {
"glob-to-regexp": "^0.4.1",
"graceful-fs": "^4.1.2"
- },
- "engines": {
- "node": ">=10.13.0"
}
},
- "node_modules/webworkify": {
+ "webworkify": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/webworkify/-/webworkify-1.5.0.tgz",
"integrity": "sha512-AMcUeyXAhbACL8S2hqqdqOLqvJ8ylmIbNwUIqQujRSouf4+eUFaXbG6F1Rbu+srlJMmxQWsiU7mOJi0nMBfM1g=="
},
- "node_modules/webworkify-webpack": {
+ "webworkify-webpack": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/webworkify-webpack/-/webworkify-webpack-2.1.5.tgz",
"integrity": "sha512-2akF8FIyUvbiBBdD+RoHpoTbHMQF2HwjcxfDvgztAX5YwbZNyrtfUMgvfgFVsgDhDPVTlkbb5vyasqDHfIDPQw=="
},
- "node_modules/which": {
+ "which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dependencies": {
+ "requires": {
"isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
}
},
- "node_modules/which-boxed-primitive": {
+ "which-boxed-primitive": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
"integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
- "dependencies": {
+ "requires": {
"is-bigint": "^1.0.1",
"is-boolean-object": "^1.1.0",
"is-number-object": "^1.0.4",
"is-string": "^1.0.5",
"is-symbol": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/which-builtin-type": {
+ "which-builtin-type": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz",
"integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==",
- "dependencies": {
+ "requires": {
"function.prototype.name": "^1.1.5",
"has-tostringtag": "^1.0.0",
"is-async-function": "^2.0.0",
@@ -4262,102 +3247,90 @@
"which-boxed-primitive": "^1.0.2",
"which-collection": "^1.0.1",
"which-typed-array": "^1.1.9"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/which-collection": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz",
- "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==",
- "dependencies": {
- "is-map": "^2.0.1",
- "is-set": "^2.0.1",
- "is-weakmap": "^2.0.1",
- "is-weakset": "^2.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/which-typed-array": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz",
- "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==",
- "dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
+ "which-collection": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz",
+ "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
+ "requires": {
+ "is-map": "^2.0.3",
+ "is-set": "^2.0.3",
+ "is-weakmap": "^2.0.2",
+ "is-weakset": "^2.0.3"
+ }
+ },
+ "which-typed-array": {
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
+ "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
+ "requires": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
"for-each": "^0.3.3",
"gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "has-tostringtag": "^1.0.2"
}
},
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ "word-wrap": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="
},
- "node_modules/ws": {
- "version": "8.14.1",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.1.tgz",
- "integrity": "sha512-4OOseMUq8AzRBI/7SLMUwO+FEDnguetSk7KMb1sHwvF2w2Wv5Hoj0nlifx8vtGsftE/jWHojPy8sMMzYLJ2G/A==",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
+ "wrap-ansi": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "requires": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
},
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
+ "dependencies": {
+ "ansi-regex": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA=="
+ },
+ "ansi-styles": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="
},
- "utf-8-validate": {
- "optional": true
+ "strip-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "requires": {
+ "ansi-regex": "^6.0.1"
+ }
}
}
},
- "node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
},
- "node_modules/yaml": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz",
- "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==",
- "engines": {
- "node": ">= 14"
- }
+ "ws": {
+ "version": "8.17.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz",
+ "integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow=="
+ },
+ "yaml": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.2.tgz",
+ "integrity": "sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA=="
},
- "node_modules/yocto-queue": {
+ "yocto-queue": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="
},
- "node_modules/zod": {
+ "zod": {
"version": "3.21.4",
"resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz",
- "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==",
- "funding": {
- "url": "https://github.com/sponsors/colinhacks"
- }
+ "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw=="
}
}
}
diff --git a/common/interfaces/coffee_shop_ui/robot-interface/public/objects/banana.png b/common/interfaces/coffee_shop_ui/robot-interface/public/objects/banana.png
new file mode 100644
index 000000000..b66917c60
Binary files /dev/null and b/common/interfaces/coffee_shop_ui/robot-interface/public/objects/banana.png differ
diff --git a/common/interfaces/coffee_shop_ui/robot-interface/public/objects/biscuits.png b/common/interfaces/coffee_shop_ui/robot-interface/public/objects/biscuits.png
deleted file mode 100644
index a4b4cfc7c..000000000
Binary files a/common/interfaces/coffee_shop_ui/robot-interface/public/objects/biscuits.png and /dev/null differ
diff --git a/common/interfaces/coffee_shop_ui/robot-interface/public/objects/bottle.png b/common/interfaces/coffee_shop_ui/robot-interface/public/objects/bottle.png
new file mode 100644
index 000000000..6a4f10ab6
Binary files /dev/null and b/common/interfaces/coffee_shop_ui/robot-interface/public/objects/bottle.png differ
diff --git a/common/interfaces/coffee_shop_ui/robot-interface/public/objects/coffee.png b/common/interfaces/coffee_shop_ui/robot-interface/public/objects/coffee.png
deleted file mode 100644
index e49b5f259..000000000
Binary files a/common/interfaces/coffee_shop_ui/robot-interface/public/objects/coffee.png and /dev/null differ
diff --git a/common/interfaces/coffee_shop_ui/robot-interface/public/objects/cup.png b/common/interfaces/coffee_shop_ui/robot-interface/public/objects/cup.png
new file mode 100644
index 000000000..62189b370
Binary files /dev/null and b/common/interfaces/coffee_shop_ui/robot-interface/public/objects/cup.png differ
diff --git a/common/interfaces/coffee_shop_ui/robot-interface/public/objects/granola.png b/common/interfaces/coffee_shop_ui/robot-interface/public/objects/granola.png
deleted file mode 100644
index d373f0f6d..000000000
Binary files a/common/interfaces/coffee_shop_ui/robot-interface/public/objects/granola.png and /dev/null differ
diff --git a/common/interfaces/coffee_shop_ui/robot-interface/public/objects/orange_juice.png b/common/interfaces/coffee_shop_ui/robot-interface/public/objects/orange_juice.png
deleted file mode 100644
index 5fe77fa93..000000000
Binary files a/common/interfaces/coffee_shop_ui/robot-interface/public/objects/orange_juice.png and /dev/null differ
diff --git a/common/interfaces/coffee_shop_ui/robot-interface/public/objects/sandwich.png b/common/interfaces/coffee_shop_ui/robot-interface/public/objects/sandwich.png
deleted file mode 100644
index 96ca25c3c..000000000
Binary files a/common/interfaces/coffee_shop_ui/robot-interface/public/objects/sandwich.png and /dev/null differ
diff --git a/common/interfaces/coffee_shop_ui/robot-interface/public/objects/smoothie.png b/common/interfaces/coffee_shop_ui/robot-interface/public/objects/smoothie.png
deleted file mode 100644
index 0b7ea08f3..000000000
Binary files a/common/interfaces/coffee_shop_ui/robot-interface/public/objects/smoothie.png and /dev/null differ
diff --git a/common/interfaces/coffee_shop_ui/robot-interface/public/tiago.jpg b/common/interfaces/coffee_shop_ui/robot-interface/public/tiago.jpg
index 172458513..a9b22ff32 100644
Binary files a/common/interfaces/coffee_shop_ui/robot-interface/public/tiago.jpg and b/common/interfaces/coffee_shop_ui/robot-interface/public/tiago.jpg differ
diff --git a/common/vision/lasr_vision_yolov8/launch/camera.launch b/common/vision/lasr_vision_yolov8/launch/camera.launch
index 13ab9a0be..e0b478f32 100644
--- a/common/vision/lasr_vision_yolov8/launch/camera.launch
+++ b/common/vision/lasr_vision_yolov8/launch/camera.launch
@@ -16,10 +16,10 @@
-
+
-
+
\ No newline at end of file
diff --git a/legacy/aruco_service/CATKIN_IGNORE b/legacy/aruco_service/CATKIN_IGNORE
deleted file mode 100644
index e69de29bb..000000000
diff --git a/legacy/aruco_service/CMakeLists.txt b/legacy/aruco_service/CMakeLists.txt
index 890b5aba2..6363c3676 100644
--- a/legacy/aruco_service/CMakeLists.txt
+++ b/legacy/aruco_service/CMakeLists.txt
@@ -8,7 +8,6 @@ project(aruco_service)
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
## is used, also find other catkin packages
find_package(catkin REQUIRED COMPONENTS
- aruco_msgs
geometry_msgs
roscpp
rospy
@@ -74,7 +73,8 @@ add_service_files(
## Generate added messages and services with any dependencies listed here
generate_messages(
DEPENDENCIES
- aruco_msgs geometry_msgs std_msgs
+ geometry_msgs
+ std_msgs
)
################################################
diff --git a/legacy/aruco_service/service_debug.rviz b/legacy/aruco_service/config/service_debug.rviz
similarity index 100%
rename from legacy/aruco_service/service_debug.rviz
rename to legacy/aruco_service/config/service_debug.rviz
diff --git a/legacy/aruco_service/launch/coffee_shop_prep.launch b/legacy/aruco_service/launch/coffee_shop_prep.launch
index 6639975c3..c479fa6a0 100644
--- a/legacy/aruco_service/launch/coffee_shop_prep.launch
+++ b/legacy/aruco_service/launch/coffee_shop_prep.launch
@@ -4,6 +4,6 @@
-
+
diff --git a/legacy/aruco_service/launch/singleTiago.launch b/legacy/aruco_service/launch/singleTiago.launch
index 580939ed2..bb0b0c205 100644
--- a/legacy/aruco_service/launch/singleTiago.launch
+++ b/legacy/aruco_service/launch/singleTiago.launch
@@ -4,7 +4,7 @@
-
+
diff --git a/legacy/aruco_service/test_check_table_sim.yaml b/legacy/aruco_service/test_check_table_sim.yaml
deleted file mode 100644
index 5672a5b9a..000000000
--- a/legacy/aruco_service/test_check_table_sim.yaml
+++ /dev/null
@@ -1,93 +0,0 @@
-counter:
- cuboid:
- - [1.5107849957816444, -0.25066567350926594]
- - [1.2876042868157063, 0.9279327218929462]
- - [0.6980933854538911, 0.8162488708444934]
- - [0.9212740944198292, -0.36234952455771874]
- last_updated: '2023-08-11 14:42:35.347921'
- location:
- orientation: {w: 0.0173693114911, x: 0.0, y: 0.0, z: -0.99}
- position: {x: 0.222374471246, y: 5.10986001747, z: 0.0}
-current_table: table0
-tables:
- table0:
- last_updated: '2023-08-11 14:39:42.428180'
- location:
- orientation: {w: 0.03, x: 0.0, y: 0.0, z: -0.99}
- position: {x: -0.74, y: -3.57, z: 0.0}
- semantic: end
- num_persons: 0
- objects_cuboid:
- - [1.5106148803956831, -0.2530914533537322]
- - [1.295776049010358, 0.9270992669926367]
- - [0.7054739490540517, 0.8196612763333845]
- - [0.9203127804393768, -0.36052944401298437]
- order: []
- persons_cuboid:
- - [3.836353265892246, -1.8619493517335064]
- - [2.9053849965558367, 3.2522104364340927]
- - [-1.6202644364425114, 2.428519174713159]
- - [-0.6892961671061022, -2.68564061345444]
- pre_location:
- orientation: {w: 0.715250767432, x: 0.0, y: 0.0, z: -0.698867898596}
- position: {x: 1.70070851471, y: -0.2850247924, z: 0.0}
- status: unvisited
- table1:
- last_updated: '2023-09-06 17:27:24.621675'
- location:
- orientation: {w: 0.6945330930107928, x: 0.0, y: 0.0, z: -0.7194607582855798}
- position: {x: 0.2380382653418661, y: -1.9596508344283876, z: 0.0}
- semantic: end
- objects_cuboid:
- - [0.18085621646545255, 0.4951742497371268]
- - [1.3788119304369095, 0.44839179933338924]
- - [1.4023456344766423, 1.0479236512678833]
- - [0.20438992050518523, 1.094706101671621]
- persons_cuboid:
- - [-0.3379034177224317, 0.015057060793272237]
- - [1.8583487245585726, -0.07071076494691336]
- - [1.9211052686645265, 1.5280408402117382]
- - [-0.27514687361647794, 1.6138086659519237]
- table2:
- last_updated: '2023-09-14 13:24:45.784027'
- location:
- orientation: {w: 0.8777675185589325, x: 0.0, y: 0.0, z: 0.4790868223640617}
- position: {x: 4.268568695185875, y: 1.65876967686265, z: 0.0}
- objects_cuboid:
- - [4.14781513511814, 2.303367071557133]
- - [5.152473956594257, 1.647248810124097]
- - [5.480062020696485, 2.14933934009104]
- - [4.475403199220368, 2.8054576015240755]
- persons_cuboid:
- - [3.4562172394179016, 2.158340905515112]
- - [5.298091745457448, 0.955457426221213]
- - [6.171659916396723, 2.294365506133061]
- - [4.329785410357177, 3.4972489854269595]
- table3:
- last_updated: '2023-09-14 13:26:20.189639'
- location:
- orientation: {w: 0.9161691481201792, x: 0.0, y: 0.0, z: 0.40079183129493184}
- position: {x: 3.2981378736303015, y: 2.2215985543521324, z: 0.0}
- objects_cuboid:
- - [3.2658046838385357, 3.0752199117922876]
- - [4.258617072502906, 2.403343913032094]
- - [4.594381212847623, 2.9004544748762413]
- - [3.6015688241832535, 3.5723304736364354]
- persons_cuboid:
- - [2.572329404941117, 2.940909443072245]
- - [4.392485450825795, 1.7091367786785567]
- - [5.287856491745043, 3.0347649435962842]
- - [3.467700445860364, 4.266537607989973]
-wait:
- cuboid:
- - [1.5106714710118636, -0.2507169263966076]
- - [1.2892009736373304, 0.9281830359742076]
- - [0.6995199087568477, 0.8173865689933699]
- - [0.9209904061313808, -0.36151339337744526]
- last_updated: '2023-08-11 14:43:04.183469'
- location:
- orientation: {w: 0.658324712318, x: 0.0, y: 0.0, z: 0.752734065}
- position: {x: 2.71006066106, y: 2.12491014098, z: 0.0}
- pose:
- orientation: {w: 0.988446808547, x: 0.0, y: 0.0, z: -0.151568158509}
- position: {x: 2.67279863358, y: -0.270290255547, z: -0.00143432617188}
diff --git a/legacy/aruco_service/test_lift_wait_position.yaml b/legacy/aruco_service/test_lift_wait_position.yaml
deleted file mode 100644
index 5ba601877..000000000
--- a/legacy/aruco_service/test_lift_wait_position.yaml
+++ /dev/null
@@ -1,5 +0,0 @@
-corner 1: !!python/tuple [12.386118771657284, 28.238929907020307]
-corner 2: !!python/tuple [12.971571544394878, 26.59451863098756]
-corner 3: !!python/tuple [11.324766697049062, 26.01868978106935]
-corner 4: !!python/tuple [10.739313924311467, 27.663101057102097]
-wait position: !!python/tuple [10.362901387775281, 27.53148303426365]
diff --git a/legacy/lasr_shapely/CATKIN_IGNORE b/legacy/lasr_shapely/CATKIN_IGNORE
deleted file mode 100644
index e69de29bb..000000000
diff --git a/legacy/lasr_shapely/CMakeLists.txt b/legacy/lasr_shapely/CMakeLists.txt
deleted file mode 100644
index 6fba4dceb..000000000
--- a/legacy/lasr_shapely/CMakeLists.txt
+++ /dev/null
@@ -1,205 +0,0 @@
-cmake_minimum_required(VERSION 3.0.2)
-project(lasr_shapely)
-
-## Compile as C++11, supported in ROS Kinetic and newer
-# add_compile_options(-std=c++11)
-
-## Find catkin macros and libraries
-## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
-## is used, also find other catkin packages
-find_package(catkin REQUIRED COMPONENTS catkin_virtualenv message_generation)
-
-## System dependencies are found with CMake's conventions
-# find_package(Boost REQUIRED COMPONENTS system)
-
-
-## Uncomment this if the package has a setup.py. This macro ensures
-## modules and global scripts declared therein get installed
-## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
-catkin_python_setup()
-catkin_generate_virtualenv(
- INPUT_REQUIREMENTS requirements.in
- PYTHON_INTERPRETER python3.10
-)
-
-################################################
-## Declare ROS messages, services and actions ##
-################################################
-
-## To declare and build messages, services or actions from within this
-## package, follow these steps:
-## * Let MSG_DEP_SET be the set of packages whose message types you use in
-## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
-## * In the file package.xml:
-## * add a build_depend tag for "message_generation"
-## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET
-## * If MSG_DEP_SET isn't empty the following dependency has been pulled in
-## but can be declared for certainty nonetheless:
-## * add a exec_depend tag for "message_runtime"
-## * In this file (CMakeLists.txt):
-## * add "message_generation" and every package in MSG_DEP_SET to
-## find_package(catkin REQUIRED COMPONENTS ...)
-## * add "message_runtime" and every package in MSG_DEP_SET to
-## catkin_package(CATKIN_DEPENDS ...)
-## * uncomment the add_*_files sections below as needed
-## and list every .msg/.srv/.action file to be processed
-## * uncomment the generate_messages entry below
-## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)
-
-## Generate messages in the 'msg' folder
-# add_message_files(
-# FILES
-# Message1.msg
-# Message2.msg
-# )
-
-## Generate services in the 'srv' folder
-add_service_files(
- FILES
- PointInPolygon2D.srv
- PointsInPolygon2D.srv
-)
-
-## Generate actions in the 'action' folder
-# add_action_files(
-# FILES
-# Action1.action
-# Action2.action
-# )
-
-## Generate added messages and services with any dependencies listed here
-generate_messages(
- DEPENDENCIES
-# std_msgs # Or other packages containing msgs
-)
-
-################################################
-## Declare ROS dynamic reconfigure parameters ##
-################################################
-
-## To declare and build dynamic reconfigure parameters within this
-## package, follow these steps:
-## * In the file package.xml:
-## * add a build_depend and a exec_depend tag for "dynamic_reconfigure"
-## * In this file (CMakeLists.txt):
-## * add "dynamic_reconfigure" to
-## find_package(catkin REQUIRED COMPONENTS ...)
-## * uncomment the "generate_dynamic_reconfigure_options" section below
-## and list every .cfg file to be processed
-
-## Generate dynamic reconfigure parameters in the 'cfg' folder
-# generate_dynamic_reconfigure_options(
-# cfg/DynReconf1.cfg
-# cfg/DynReconf2.cfg
-# )
-
-###################################
-## catkin specific configuration ##
-###################################
-## The catkin_package macro generates cmake config files for your package
-## Declare things to be passed to dependent projects
-## INCLUDE_DIRS: uncomment this if your package contains header files
-## LIBRARIES: libraries you create in this project that dependent projects also need
-## CATKIN_DEPENDS: catkin_packages dependent projects also need
-## DEPENDS: system dependencies of this project that dependent projects also need
-catkin_package(
-# INCLUDE_DIRS include
-# LIBRARIES lasr_shapely
- CATKIN_DEPENDS message_runtime
-# DEPENDS system_lib
-)
-
-###########
-## Build ##
-###########
-
-## Specify additional locations of header files
-## Your package locations should be listed before other locations
-include_directories(
-# include
-# ${catkin_INCLUDE_DIRS}
-)
-
-## Declare a C++ library
-# add_library(${PROJECT_NAME}
-# src/${PROJECT_NAME}/lasr_shapely.cpp
-# )
-
-## Add cmake target dependencies of the library
-## as an example, code may need to be generated before libraries
-## either from message generation or dynamic reconfigure
-# add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
-
-## Declare a C++ executable
-## With catkin_make all packages are built within a single CMake context
-## The recommended prefix ensures that target names across packages don't collide
-# add_executable(${PROJECT_NAME}_node src/lasr_shapely_node.cpp)
-
-## Rename C++ executable without prefix
-## The above recommended prefix causes long target names, the following renames the
-## target back to the shorter version for ease of user use
-## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node"
-# set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "")
-
-## Add cmake target dependencies of the executable
-## same as for the library above
-# add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
-
-## Specify libraries to link a library or executable target against
-# target_link_libraries(${PROJECT_NAME}_node
-# ${catkin_LIBRARIES}
-# )
-
-#############
-## Install ##
-#############
-
-# all install targets should use catkin DESTINATION variables
-# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
-
-## Mark executable scripts (Python etc.) for installation
-## in contrast to setup.py, you can choose the destination
-catkin_install_python(PROGRAMS
- nodes/service
- DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
-)
-
-## Mark executables for installation
-## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_executables.html
-# install(TARGETS ${PROJECT_NAME}_node
-# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
-# )
-
-## Mark libraries for installation
-## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_libraries.html
-# install(TARGETS ${PROJECT_NAME}
-# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
-# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
-# RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}
-# )
-
-## Mark cpp header files for installation
-# install(DIRECTORY include/${PROJECT_NAME}/
-# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
-# FILES_MATCHING PATTERN "*.h"
-# PATTERN ".svn" EXCLUDE
-# )
-
-## Mark other files for installation (e.g. launch and bag files, etc.)
-# install(FILES
-# requirements.txt
-# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
-# )
-
-#############
-## Testing ##
-#############
-
-## Add gtest based cpp test target and link libraries
-# catkin_add_gtest(${PROJECT_NAME}-test test/test_lasr_shapely.cpp)
-# if(TARGET ${PROJECT_NAME}-test)
-# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
-# endif()
-
-## Add folders to be run by python nosetests
-# catkin_add_nosetests(test)
diff --git a/legacy/lasr_shapely/README.md b/legacy/lasr_shapely/README.md
deleted file mode 100644
index b037d4b96..000000000
--- a/legacy/lasr_shapely/README.md
+++ /dev/null
@@ -1,97 +0,0 @@
-# lasr_shapely
-
-Abstraction of some algorithms provided by shapely as services. Intended for Python 3.6 or older environments.
-
-This package is maintained by:
-- [Paul Makles](mailto:me@insrt.uk)
-
-## Prerequisites
-
-This package depends on the following ROS packages:
-- catkin (buildtool)
-- catkin_virtualenv (build)
-- message_generation (build)
-- message_runtime (exec)
-
-This packages requires Python 3.10 to be present.
-
-This package has 2 Python dependencies:
-- [shapely](https://pypi.org/project/shapely)None
-- .. and 1 sub dependencies
-
-
-
-## Usage
-
-Start the service:
-
-```bash
-rosrun lasr_shapely service
-```
-
-Then consume the Python library:
-
-```python
-from lasr_shapely import LasrShapely
-
-shapely = LasrShapely()
-
-shapely.is_point_in_polygon_2d([[0, 0], [5,0], [10, 10], [0, 5]], 6, 6)
-shapely.are_points_in_polygon_2d([[0, 0], [5,0], [10, 10], [0, 5]], [[1,2], [11, 11]])
-```
-
-## Example
-
-See usage.
-
-## Technical Overview
-
-This package is just a service wrapper around a Python 3.7+ library.
-
-## ROS Definitions
-
-### Launch Files
-
-This package has no launch files.
-
-### Messages
-
-This package has no messages.
-
-### Services
-
-#### `PointsInPolygon2D`
-
-Request
-
-| Field | Type | Description |
-|:-:|:-:|---|
-| polygon | float32[] | 1D-array of ordered pairs of points (connected by edge) that define the polygon |
-| points | float32[] | 1D-array of pairs of points |
-
-Response
-
-| Field | Type | Description |
-|:-:|:-:|---|
-| inside | bool[] | Whether the points are inside the polygon |
-
-#### `PointInPolygon2D`
-
-Request
-
-| Field | Type | Description |
-|:-:|:-:|---|
-| polygon | float32[] | 1D-array of ordered pairs of points (connected by edge) that define the polygon |
-| x | float32 | X coordinate of point |
-| y | float32 | Y coordinate of point |
-
-Response
-
-| Field | Type | Description |
-|:-:|:-:|---|
-| inside | bool | Whether the point is inside the polygon |
-
-
-### Actions
-
-This package has no actions.
diff --git a/legacy/lasr_shapely/doc/EXAMPLE.md b/legacy/lasr_shapely/doc/EXAMPLE.md
deleted file mode 100644
index 798e5a7f6..000000000
--- a/legacy/lasr_shapely/doc/EXAMPLE.md
+++ /dev/null
@@ -1 +0,0 @@
-See usage.
\ No newline at end of file
diff --git a/legacy/lasr_shapely/doc/PREREQUISITES.md b/legacy/lasr_shapely/doc/PREREQUISITES.md
deleted file mode 100644
index e69de29bb..000000000
diff --git a/legacy/lasr_shapely/doc/TECHNICAL.md b/legacy/lasr_shapely/doc/TECHNICAL.md
deleted file mode 100644
index 903ad0823..000000000
--- a/legacy/lasr_shapely/doc/TECHNICAL.md
+++ /dev/null
@@ -1 +0,0 @@
-This package is just a service wrapper around a Python 3.7+ library.
\ No newline at end of file
diff --git a/legacy/lasr_shapely/doc/USAGE.md b/legacy/lasr_shapely/doc/USAGE.md
deleted file mode 100644
index e49ec748a..000000000
--- a/legacy/lasr_shapely/doc/USAGE.md
+++ /dev/null
@@ -1,16 +0,0 @@
-Start the service:
-
-```bash
-rosrun lasr_shapely service
-```
-
-Then consume the Python library:
-
-```python
-from lasr_shapely import LasrShapely
-
-shapely = LasrShapely()
-
-shapely.is_point_in_polygon_2d([[0, 0], [5,0], [10, 10], [0, 5]], 6, 6)
-shapely.are_points_in_polygon_2d([[0, 0], [5,0], [10, 10], [0, 5]], [[1,2], [11, 11]])
-```
diff --git a/legacy/lasr_shapely/nodes/service b/legacy/lasr_shapely/nodes/service
deleted file mode 100644
index 5b4aef4eb..000000000
--- a/legacy/lasr_shapely/nodes/service
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/env python3
-import rospy
-from shapely.geometry import Point
-from shapely.geometry.polygon import Polygon
-
-from lasr_shapely.srv import PointInPolygon2D, PointsInPolygon2D, PointInPolygon2DResponse, PointsInPolygon2DResponse
-
-def handle_point_in_polygon_2d(req):
- point = Point(req.x, req.y)
- polygon = Polygon([(req.polygon[i], req.polygon[i+1]) for i in range(0, len(req.polygon), 2)])
- return PointInPolygon2DResponse(polygon.contains(point))
-
-def handle_points_in_polygon_2d(req):
- polygon = Polygon([(req.polygon[i], req.polygon[i+1]) for i in range(0, len(req.polygon), 2)])
- return PointsInPolygon2DResponse([
- polygon.contains(Point(req.points[i], req.points[i+1])) for i in range(0, len(req.points), 2)
- ])
-
-rospy.init_node('lasr_shapely')
-rospy.Service('/lasr_shapely/point_in_polygon_2d', PointInPolygon2D, handle_point_in_polygon_2d)
-rospy.Service('/lasr_shapely/points_in_polygon_2d', PointsInPolygon2D, handle_points_in_polygon_2d)
-rospy.loginfo("lasr_shapely service running")
-rospy.spin()
diff --git a/legacy/lasr_shapely/package.xml b/legacy/lasr_shapely/package.xml
deleted file mode 100644
index 0e873f694..000000000
--- a/legacy/lasr_shapely/package.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
- lasr_shapely
- 0.0.0
- Abstraction of some algorithms provided by shapely as services. Intended for Python 3.6 or older environments.
-
-
-
-
- Paul Makles
-
-
-
-
-
- TODO
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- catkin
- catkin_virtualenv
- message_generation
- message_runtime
-
-
-
-
-
- requirements.txt
-
-
diff --git a/legacy/lasr_shapely/requirements.in b/legacy/lasr_shapely/requirements.in
deleted file mode 100644
index 231726ccb..000000000
--- a/legacy/lasr_shapely/requirements.in
+++ /dev/null
@@ -1 +0,0 @@
-shapely
\ No newline at end of file
diff --git a/legacy/lasr_shapely/requirements.txt b/legacy/lasr_shapely/requirements.txt
deleted file mode 100644
index f813785ce..000000000
--- a/legacy/lasr_shapely/requirements.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-numpy==1.25.2 # via shapely
-shapely==2.0.1 # via -r requirements.in
diff --git a/legacy/lasr_shapely/setup.py b/legacy/lasr_shapely/setup.py
deleted file mode 100644
index 956f1c2ad..000000000
--- a/legacy/lasr_shapely/setup.py
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env python3
-
-from distutils.core import setup
-from catkin_pkg.python_setup import generate_distutils_setup
-
-setup_args = generate_distutils_setup(
- packages=["lasr_shapely"], package_dir={"": "src"}
-)
-
-setup(**setup_args)
diff --git a/legacy/lasr_shapely/src/lasr_shapely/__init__.py b/legacy/lasr_shapely/src/lasr_shapely/__init__.py
deleted file mode 100644
index c7f60e41f..000000000
--- a/legacy/lasr_shapely/src/lasr_shapely/__init__.py
+++ /dev/null
@@ -1,45 +0,0 @@
-import rospy
-
-from lasr_shapely.srv import PointInPolygon2D, PointsInPolygon2D
-
-
-class LasrShapely:
- """
- Wrapper class for Shapely service
- """
-
- def __init__(self):
- rospy.wait_for_service("/lasr_shapely/point_in_polygon_2d")
-
- self.point_proxy = rospy.ServiceProxy(
- "/lasr_shapely/point_in_polygon_2d", PointInPolygon2D
- )
- self.points_proxy = rospy.ServiceProxy(
- "/lasr_shapely/points_in_polygon_2d", PointsInPolygon2D
- )
-
- def is_point_in_polygon_2d(self, polygon_2d_array, x, y):
- return self.point_proxy(
- polygon=[item for sublist in polygon_2d_array for item in sublist], x=x, y=y
- )
-
- def are_points_in_polygon_2d(self, polygon_2d_array, points_2d_array):
- return self.points_proxy(
- polygon=[item for sublist in polygon_2d_array for item in sublist],
- points=[item for sublist in points_2d_array for item in sublist],
- )
-
- def are_points_in_polygon_2d_flatarr(self, polygon_2d_array, points_2d_array):
- return self.points_proxy(polygon=polygon_2d_array, points=points_2d_array)
-
-
-if __name__ == "__main__":
- rospy.init_node("testgkfdp", anonymous=True)
- print(
- LasrShapely().is_point_in_polygon_2d([[0, 0], [5, 0], [10, 10], [0, 5]], 6, 6)
- )
- print(
- LasrShapely().are_points_in_polygon_2d(
- [[0, 0], [5, 0], [10, 10], [0, 5]], [[1, 2], [11, 11]]
- )
- )
diff --git a/legacy/lasr_shapely/srv/PointInPolygon2D.srv b/legacy/lasr_shapely/srv/PointInPolygon2D.srv
deleted file mode 100644
index 4eb6b5cc3..000000000
--- a/legacy/lasr_shapely/srv/PointInPolygon2D.srv
+++ /dev/null
@@ -1,9 +0,0 @@
-# 1D-array of ordered pairs of points (connected by edge) that define the polygon
-float32[] polygon
-# X coordinate of point
-float32 x
-# Y coordinate of point
-float32 y
----
-# Whether the point is inside the polygon
-bool inside
diff --git a/legacy/lasr_shapely/srv/PointsInPolygon2D.srv b/legacy/lasr_shapely/srv/PointsInPolygon2D.srv
deleted file mode 100644
index 0def5e003..000000000
--- a/legacy/lasr_shapely/srv/PointsInPolygon2D.srv
+++ /dev/null
@@ -1,7 +0,0 @@
-# 1D-array of ordered pairs of points (connected by edge) that define the polygon
-float32[] polygon
-# 1D-array of pairs of points
-float32[] points
----
-# Whether the points are inside the polygon
-bool[] inside
diff --git a/tasks/coffee_shop/CATKIN_IGNORE b/tasks/coffee_shop/CATKIN_IGNORE
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tasks/coffee_shop/CMakeLists.txt b/tasks/coffee_shop/CMakeLists.txt
index f02257028..8e02ccf25 100644
--- a/tasks/coffee_shop/CMakeLists.txt
+++ b/tasks/coffee_shop/CMakeLists.txt
@@ -50,12 +50,9 @@ catkin_python_setup()
# )
## Generate services in the 'srv' folder
-add_service_files(
- FILES
- TfTransform.srv
- LatestTransform.srv
- ApplyTransform.srv
-)
+# add_service_files(
+# FILES
+# )
## Generate actions in the 'action' folder
# add_action_files(
@@ -65,12 +62,12 @@ add_service_files(
# )
## Generate added messages and services with any dependencies listed here
-generate_messages(
- DEPENDENCIES
- std_msgs # Or other packages containing msgs
- geometry_msgs
- sensor_msgs
-)
+# generate_messages(
+# DEPENDENCIES
+# std_msgs # Or other packages containing msgs
+# geometry_msgs
+# sensor_msgs
+# )
################################################
## Declare ROS dynamic reconfigure parameters ##
diff --git a/tasks/coffee_shop/TODO.md b/tasks/coffee_shop/TODO.md
deleted file mode 100644
index 1faeffdf4..000000000
--- a/tasks/coffee_shop/TODO.md
+++ /dev/null
@@ -1,2 +0,0 @@
-- State machine template
-- Implementation of final stage states.
diff --git a/tasks/coffee_shop/config/ai_festival.yaml b/tasks/coffee_shop/config/ai_festival.yaml
new file mode 100755
index 000000000..4b47ba3f7
--- /dev/null
+++ b/tasks/coffee_shop/config/ai_festival.yaml
@@ -0,0 +1,152 @@
+counter:
+ cuboid:
+ - - -4.664883613586426
+ - 0.5069149136543274
+ - - -4.66
+ - 1.18
+ - - -3.78360652923584
+ - 1.1981416940689087
+ - - -3.700509548187256
+ - 0.4764649569988251
+ last_updated: '2024-05-21 12:43:44.778366'
+ location:
+ position:
+ x: -4.296226348137036
+ y: 0.08967264124909166
+ z: 0.0
+ orientation:
+ x: 0.0
+ y: 0.0
+ z: 0.7401058378508781
+ w: 0.6724904079457562
+tables:
+ table0:
+ last_updated: '2024-05-21 11:05:19.105609'
+ location:
+ orientation:
+ w: 0.026904741251259426
+ x: 0.0
+ y: 0.0
+ z: -0.9996380019277993
+ position:
+ x: -4.855822287964941
+ y: -2.7264784408971066
+ z: 0.0
+ semantic: end
+ num_persons: 0
+ objects_cuboid:
+ - - -7.309726603688448
+ - -3.1535004587235225
+ - - -5.49823308072611
+ - -3.274925312500865
+ - - -5.448570318314367
+ - -2.4770380084237065
+ - - -7.260063841276704
+ - -2.3556131546463646
+ order: []
+ persons_cuboid:
+ - - -8.15129910291433
+ - -3.898305859510039
+ - - -4.755986106323717
+ - -4.125894519868664
+ - - -4.606997819088486
+ - -1.7322326076371901
+ - - -8.002310815679097
+ - -1.5046439472785653
+ pre_location:
+ orientation:
+ w: 0.6981442535161398
+ x: 0.0
+ y: 0.0
+ z: -0.7159571225166993
+ position:
+ x: 3.4185893265341467
+ y: 1.5007719904983003
+ z: 0.0
+ status: unvisited
+ table1:
+ last_updated: '2024-05-21 11:06:56.162367'
+ location:
+ orientation:
+ w: 0.6940979898029392
+ x: 0.0
+ y: 0.0
+ z: -0.719880532138159
+ position:
+ x: -2.4651278785547643
+ y: -1.2458226745654628
+ z: 0.0
+ objects_cuboid:
+ - - -2.8254424871901778
+ - -1.9543831504533626
+ - - -2.859456062960578
+ - -3.7829678107717317
+ - - -2.059597477265037
+ - -3.79774950535365
+ - - -2.0255839014946373
+ - -1.9691648450352808
+ persons_cuboid:
+ - - -3.61043175014456
+ - -1.140220183601119
+ - - -3.6741839713972766
+ - -4.567567388460139
+ - - -1.2746082143106547
+ - -4.611912472205893
+ - - -1.210855993057938
+ - -1.1845652673468736
+ pre_location:
+ orientation:
+ w: 0.679755237535674
+ x: 0.0
+ y: 0.0
+ z: -0.7334390343053875
+ position:
+ x: 6.294876273276469
+ y: 2.3564053436919483
+ z: 0.0
+wait:
+ approach1:
+ orientation:
+ w: 0.03122925045972576
+ x: 0.0
+ y: 0.0
+ z: 0.9995122480068585
+ position:
+ x: -2.8701601223027664
+ y: -0.3562256053497737
+ z: 0.0
+ approach2:
+ orientation:
+ w: 0.005185091989047549
+ x: 0.0
+ y: 0.0
+ z: -0.9999865573201797
+ position:
+ x: -3.973111012447058
+ y: -0.35096261264440465
+ z: 0.0
+ cuboid:
+ - - -4.7717108537934765
+ - -1.0936771098678093
+ - - -4.826165578352385
+ - 0.5047626855067713
+ - - -5.923852265904756
+ - 0.4656883095154718
+ - - -5.8693975413458475
+ - -1.1327514858591088
+ last_updated: '2024-05-21 11:11:40.469766'
+ location:
+ orientation:
+ w: 0.0101037455354343
+ x: 0.0
+ y: 0.0
+ z: -0.9999489558603255
+ position:
+ x: -1.2641920084155993
+ y: -0.30165943641891735
+ z: 0.0
+objects: {"cup" : "coffee", "bottle": "cocacola"}
+
+yolo_person_model: "yolov8n-seg.pt"
+yolo_objects_model: "yolov8n-seg.pt"
+yolo_counter_model: "yolov8n-seg.pt"
diff --git a/tasks/coffee_shop/config/ai_festival_2.yaml b/tasks/coffee_shop/config/ai_festival_2.yaml
new file mode 100644
index 000000000..ec8565e7f
--- /dev/null
+++ b/tasks/coffee_shop/config/ai_festival_2.yaml
@@ -0,0 +1,147 @@
+counter:
+ cuboid:
+ - - -4.589782504695045
+ - 0.5566271401427713
+ - - -4.66
+ - 1.18
+ - - -3.5521452061834102
+ - 0.861161335790206
+ - - -4.411487855334991
+ - 1.127419091956325
+ last_updated: '2024-05-21 12:43:44.778366'
+ location:
+ orientation:
+ w: 0.7771925436938631
+ x: 0.0
+ y: 0.0
+ z: 0.62926286242449
+ position:
+ x: -4.334041429088822
+ y: -0.009764382985697966
+ z: 0.0
+tables:
+ table0:
+ last_updated: '2024-05-21 12:43:37.890911'
+ location:
+ orientation:
+ w: 0.7591775571212552
+ x: 0.0
+ y: 0.0
+ z: 0.6508835815746187
+ position:
+ x: -4.568242683559272
+ y: 0.06684751379553569
+ z: 0.0
+ semantic: end
+ num_persons: 0
+ objects_cuboid:
+ - - -4.5898689635799474
+ - 0.5569712154888609
+ - - -3.73085110930462
+ - 0.28950763771438615
+ - - -3.5518578665543012
+ - 0.8602260634594268
+ - - -4.410875720829629
+ - 1.1276896412339015
+ order: []
+ persons_cuboid:
+ - - -5.84265531735862
+ - -0.09704440767012379
+ - - -3.0747088980270094
+ - -0.9588714916100978
+ - - -2.2990715127756283
+ - 1.5142416866184116
+ - - -5.067017932107239
+ - 2.3760687705583856
+ pre_location:
+ orientation:
+ w: 0.6981442535161398
+ x: 0.0
+ y: 0.0
+ z: -0.7159571225166993
+ position:
+ x: 3.4185893265341467
+ y: 1.5007719904983003
+ z: 0.0
+ status: unvisited
+ table1:
+ last_updated: '2024-05-21 11:06:56.162367'
+ location:
+ orientation:
+ w: 0.6940979898029392
+ x: 0.0
+ y: 0.0
+ z: -0.719880532138159
+ position:
+ x: -2.4651278785547643
+ y: -1.2458226745654628
+ z: 0.0
+ objects_cuboid:
+ - - -2.8254424871901778
+ - -1.9543831504533626
+ - - -2.859456062960578
+ - -3.7829678107717317
+ - - -2.059597477265037
+ - -3.79774950535365
+ - - -2.0255839014946373
+ - -1.9691648450352808
+ persons_cuboid:
+ - - -3.61043175014456
+ - -1.140220183601119
+ - - -3.6741839713972766
+ - -4.567567388460139
+ - - -1.2746082143106547
+ - -4.611912472205893
+ - - -1.210855993057938
+ - -1.1845652673468736
+ pre_location:
+ orientation:
+ w: 0.679755237535674
+ x: 0.0
+ y: 0.0
+ z: -0.7334390343053875
+ position:
+ x: 6.294876273276469
+ y: 2.3564053436919483
+ z: 0.0
+wait:
+ approach1:
+ orientation:
+ w: 0.03122925045972576
+ x: 0.0
+ y: 0.0
+ z: 0.9995122480068585
+ position:
+ x: -2.8701601223027664
+ y: -0.3562256053497737
+ z: 0.0
+ approach2:
+ orientation:
+ w: 0.005185091989047549
+ x: 0.0
+ y: 0.0
+ z: -0.9999865573201797
+ position:
+ x: -3.973111012447058
+ y: -0.35096261264440465
+ z: 0.0
+ cuboid:
+ - - -4.684506316772146
+ - 0.6076050756113518
+ - - -3.6937263427363503
+ - 0.47421678736600054
+ - - -3.5589995422023004
+ - 1.4627103631531602
+ - - -4.549779516238097
+ - 1.5960986513985114
+ last_updated: '2024-05-21 12:44:20.229716'
+ location:
+ orientation:
+ w: 0.4204985527347494
+ x: 0.0
+ y: 0.0
+ z: 0.9072932090278099
+ position:
+ x: -4.408414332163996
+ y: 0.11043913610712916
+ z: 0.0
diff --git a/tasks/coffee_shop/config/demo.yaml b/tasks/coffee_shop/config/demo.yaml
deleted file mode 100644
index 581536510..000000000
--- a/tasks/coffee_shop/config/demo.yaml
+++ /dev/null
@@ -1,33 +0,0 @@
-tables:
- table0:
- num_persons: 0
- status: "unvisited"
- order: []
- location:
- position: {x: 1.14578607803, y: 1.00757782153, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: 0.746444684543, w: 0.665447468188}
- objects_cuboid:
- min: [0.615044414997, 1.39581489563, 0.0]
- max: [1.47426867485, 2.16378450394, 8.0 ]
- persons_cuboid:
- min: [-1.615044414997, 0.39581489563, -1.0013427734375]
- max: [2.47426867485, 3.16378450394, 8.0013427734375 ]
- table1:
- num_persons: 0
- status: "unvisited"
- order: []
- location:
- position: {x: 0.991964592752, y: -0.501381130548, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: 0.0967301538286, w: 0.995310643639}
- objects_cuboid:
- min: [1.38313889503, -0.777928173542, 0.0]
- max: [2.08614087105, 0.14623811841, 8.0]
- persons_cuboid:
- min: [0.38313889503, -1.777928173542, -1.00137329101562]
- max: [3.08614087105, 1.14623811841, 11.0880737304688]
-
-wait:
- location:
- position: {x: 2.71006066106, y: 2.12491014098, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: 0.752734065359, w: 0.658324712318}
-
diff --git a/tasks/coffee_shop/config/dev_room_16_05.yaml b/tasks/coffee_shop/config/dev_room_16_05.yaml
new file mode 100644
index 000000000..d5fb4a256
--- /dev/null
+++ b/tasks/coffee_shop/config/dev_room_16_05.yaml
@@ -0,0 +1,153 @@
+counter:
+ cuboid:
+ - - 3.1289636070031643
+ - -4.2751113078719545
+ - - 2.6919021221753785
+ - -4.379153662303753
+ - - 2.771619494253796
+ - -4.719282388248615
+ - - 3.2086809790815813
+ - -4.615240033816817
+ last_updated: '2024-05-16 12:03:13.636677'
+ location:
+ position:
+ x: 2.760055110189617
+ y: -3.741277519626965
+ z: 0.0
+ orientation:
+ x: 0.0
+ y: 0.0
+ z: -0.5624162184748698
+ w: 0.8268542780904188
+tables:
+ table0:
+ last_updated: '2024-05-16 11:57:18.869944'
+ location:
+ orientation:
+ w: 0.1260212865286328
+ x: 0.0
+ y: 0.0
+ z: -0.9920275375924139
+ position:
+ x: 1.8921004858624988
+ y: 1.5968756947085707
+ z: 0.0
+ semantic: end
+ num_persons: 0
+ objects_cuboid:
+ - - 0.36692995234924336
+ - 1.054711735852705
+ - - 1.5440135762373695
+ - 1.288101372731992
+ - - 1.4273159780792937
+ - 1.8766017583068597
+ - - 0.2502323541911676
+ - 1.6432121214275726
+ order: []
+ persons_cuboid:
+ - - -0.6160788263715635
+ - -0.41444493917752667
+ - - 3.013262347283492
+ - 0.30517310786694196
+ - - 2.4103247568001005
+ - 3.3457584333370916
+ - - -1.2190164168549549
+ - 2.626140386292623
+ pre_location:
+ orientation:
+ w: 0.6981442535161398
+ x: 0.0
+ y: 0.0
+ z: -0.7159571225166993
+ position:
+ x: 3.4185893265341467
+ y: 1.5007719904983003
+ z: 0.0
+ status: unvisited
+ table1:
+ last_updated: '2024-05-16 11:59:38.547714'
+ location:
+ orientation:
+ w: 0.016149458968483497
+ x: 0.0
+ y: 0.0
+ z: -0.9998695889839961
+ position:
+ x: 2.2174847105596593
+ y: -1.3369953499701548
+ z: 0.0
+ objects_cuboid:
+ - - 0.5999838647394418
+ - -1.9640871825508952
+ - - 1.7538912566489502
+ - -1.636476090035305
+ - - 1.5901729167037555
+ - -1.0592694581913291
+ - - 0.43626552479424696
+ - -1.3868805507069193
+ persons_cuboid:
+ - - -0.08874172860982377
+ - -3.1991074793871803
+ - - 2.9883446498155317
+ - -2.3254778993456062
+ - - 2.278898510053021
+ - 0.17575083864495622
+ - - -0.7981878683723349
+ - -0.6978787413966181
+ pre_location:
+ orientation:
+ w: 0.679755237535674
+ x: 0.0
+ y: 0.0
+ z: -0.7334390343053875
+ position:
+ x: 6.294876273276469
+ y: 2.3564053436919483
+ z: 0.0
+wait:
+ #TODO: fill these out
+ approach1:
+ position:
+ x: 2.5833313785676015
+ y: -0.0727310067973981
+ z: 0.0
+ orientation:
+ x: 0.0
+ y: 0.0
+ z: 0.5249785543660592
+ w: 0.8511154548330812
+ approach2:
+ position:
+ x: 2.4332176864402975
+ y: 1.7897861155564854
+ z: 0.0
+ orientation:
+ x: 0.0
+ y: 0.0
+ z: 0.7494396524891552
+ w: 0.6620726601189134
+ cuboid:
+ - - 2.032221097845468
+ - 2.8493304229007634
+ - - 3.197338606906616
+ - 3.101509471967395
+ - - 2.9751448878038462
+ - 4.0708429096442185
+ - - 1.8100273787426984
+ - 3.818663860577587
+ last_updated: '2024-05-16 12:05:19.859346'
+ location:
+ orientation:
+ w: 0.6152974731062034
+ x: 0.0
+ y: 0.0
+ z: 0.7882950079691745
+ position:
+ x: 3.5465994344446736
+ y: -1.2831174246384893
+ z: 0.0
+objects: {"cup" : "coffee", "banana": "banana", "bottle": "cocacola"}
+
+yolo_person_model: "yolov8n-seg.pt"
+yolo_objects_model: "yolov8n-seg.pt"
+yolo_counter_model: "yolov8n-seg.pt"
diff --git a/tasks/coffee_shop/config/lab_demo.yaml b/tasks/coffee_shop/config/lab_demo.yaml
deleted file mode 100644
index 214b9229b..000000000
--- a/tasks/coffee_shop/config/lab_demo.yaml
+++ /dev/null
@@ -1,69 +0,0 @@
-counter:
- cuboid:
- - [3.742806301313932, 0.6241124789649075]
- - [3.935412982324103, 0.16277761172598088]
- - [4.396677745912738, 0.35552413241523584]
- - [4.204071064902568, 0.8168589996541624]
- last_updated: '2023-10-24 14:08:15.117496'
- location:
- orientation: {w: 0.9748187784058554, x: 0.0, y: 0.0, z: 0.22299854095333407}
- position: {x: 3.2406863808206485, y: -0.0012178606019714368, z: 0.0}
-tables:
- table0:
- last_updated: '2023-10-24 14:06:03.837734'
- location:
- orientation: {w: 0.12006323453252395, x: 0.0, y: 0.0, z: -0.9927662462602102}
- position: {x: 0.280574761758218, y: 1.1084370195835973, z: 0.0}
- semantic: end
- num_persons: 0
- objects_cuboid:
- - [-0.20151740105162042, 0.49222759081015494]
- - [-0.40933890454461413, 1.6740133969862165]
- - [-1.0000827945687423, 1.5699646747788085]
- - [-0.7922612910757487, 0.38817886860274703]
- order: []
- persons_cuboid:
- - [0.4931372407190048, 0.005383409929532068]
- - [0.07749423373301734, 2.3689550222816553]
- - [-1.6947374363393677, 2.0568088556594315]
- - [-1.2790944293533801, -0.30676275669269165]
- table1:
- last_updated: '2023-10-24 14:07:19.606195'
- location:
- orientation: {w: 0.0417268379388012, x: 0.0, y: 0.0, z: -0.999129056226286}
- position: {x: 1.630928113728348, y: -0.9431710493562107, z: 0.0}
- objects_cuboid:
- - [1.123181090775851, -1.5385507283287903]
- - [0.9108335367173495, -0.35760032467212755]
- - [0.3208176106629397, -0.4640165748638083]
- - [0.5331651647214413, -1.644966978520471]
- persons_cuboid:
- - [1.7033391766789014, -1.9419331880259991]
- - [1.3140353275716485, 0.2231425520112158]
- - [-0.25934047524011095, -0.06063411516659922]
- - [0.12996337386714196, -2.2257098552038146]
-wait:
- approach1:
- position: {x: 3.17865429001, y: 0.805295659687, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: -0.665472754214, w: 0.746422141552}
- approach2:
- position: {x: 3.35503140887, y: -0.245327051469, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: -0.605789084253, w: 0.795625279513}
- cuboid:
- - [4.467422909074019, -1.5389431186402693]
- - [3.4835308252725055, -1.7126656862093346]
- - [3.6574980262715107, -2.6974147242975453]
- - [4.641390110073024, -2.52369215672848]
- last_updated: '2023-10-24 14:09:54.999676'
- location:
- orientation: {w: 0.7901919720786472, x: 0.0, y: 0.0, z: -0.6128594025243135}
- position: {x: 2.4648764084347996, y: 2.275933021419933, z: 0.0}
- pose:
- orientation: {w: 0.992020738813, x: 0.0, y: 0.0, z: 0.126074794327}
- position: {x: 10.3656408799, y: 25.7369664143, z: 0.0}
-
-objects: {"coffee" : "coffee", "biscuits": "biscuits", "sandwich": "sandwich", "orange_juice" : "juice", "smoothie" : "smoothie", "granola" : "granola"}
-
-yolo_person_model: "yolov8n-seg.pt"
-yolo_objects_model: "MK_COUNTER.pt"
-yolo_counter_model: "MK_COUNTER.pt"
diff --git a/tasks/coffee_shop/config/sim_tables.yaml b/tasks/coffee_shop/config/sim_tables.yaml
deleted file mode 100644
index 95e2a9bc0..000000000
--- a/tasks/coffee_shop/config/sim_tables.yaml
+++ /dev/null
@@ -1,109 +0,0 @@
-tables:
- table0:
- num_persons: 0
- status: "unvisited"
- order: []
- location:
- position: {x: -0.74, y: -3.57, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: -0.99, w: 0.03}
- semantic: "end"
- objects_cuboid:
- min: [-3.3, -3.4, 0.0]
- max: [-1.54, -3.1, 8.0]
- persons_cuboid:
- min: [-3.35, -4.1, 0.0]
- max: [-1.44, -2.7, 8.0]
- table1:
- num_persons: 0
- status: "unvisited"
- order: []
- location:
- position: {x: -1.17, y: -6.0, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: -1.0, w: 0.02}
- semantic: "end"
- objects_cuboid:
- min: [-3.43, -6.72, 0.0]
- max: [-1.67, -5.11, 8.0]
- persons_cuboid:
- min: [-3.36, -7.26, 0.0]
- max: [-1.29, -5.24, 8.0]
- table2:
- num_persons: 0
- status: "unvisited"
- order: []
- location:
- position: {x: -1.11, y: -8.60, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: -1.0, w: 0.02}
- semantic: "end"
- objects_cuboid:
- min: [-3.30, -9.45, 0.0]
- max: [-1.42, -7.95, 8.0]
- persons_cuboid:
- min: [-3.34, -9.74, 0.0]
- max: [-1.38,-7.37, 8.0]
- table3:
- num_persons: 0
- status: "unvisited"
- order: []
- location:
- position: {x: 0.45, y: -8.67, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: -0.02, w: 1.0}
- semantic: "end"
- objects_cuboid:
- min: [0.73, -9.14, 0.0]
- max: [3.07, -7.97, 8.0]
- persons_cuboid:
- min: [0.87, -9.51, 0.0]
- max: [2.99, -7.74, 8.0]
- table4:
- num_persons: 0
- status: "unvisited"
- order: []
- location:
- position: {x: 0.58, y: -5.92, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: -0.15, w: 0.99}
- semantic: "end"
- objects_cuboid:
- min: [1.07, -6.58, 0.0]
- max: [2.69, -5.48, 8.0]
- persons_cuboid:
- min: [0.94, -6.88, 0.0]
- max: [2.71, -5.23, 8.0]
- table5:
- num_persons: 0
- status: "unvisited"
- order: []
- location:
- position: {x: 0.61, y: -3.61, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: -0.05, w: 1.0}
- semantic: "end"
- objects_cuboid:
- min: [1.13, -4.10, 0.0]
- max: [2.63, -2.92, 8.0]
- persons_cuboid:
- min: [1.0, -4.10, 0.0]
- max: [2.82, -2.73, 8.0]
- table6:
- num_persons: 0
- status: "unvisited"
- order: []
- location:
- position: {x: 0.86, y: -0.94, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: 0.04, w: 1.0}
- semantic: "end"
- objects_cuboid:
- min: [1.25, -1.28, 0.0]
- max: [2.84, -0.34, 8.0]
- persons_cuboid:
- min: [1.07, -1.65, 0.0]
- max: [2.82, -0.84, 8.0]
-
-home:
- location:
- position: {x: 3.0, y: 5.22, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: -0.62, w: 0.78}
-
-wait:
- location:
- position: {x: 3.0, y: 5.22, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: 0.57, w: 0.82}
diff --git a/tasks/coffee_shop/config/test_check_table.yaml b/tasks/coffee_shop/config/test_check_table.yaml
deleted file mode 100644
index 8db4eacc0..000000000
--- a/tasks/coffee_shop/config/test_check_table.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-tables:
- table0:
- location:
- position: {x: 1.14578607803, y: 1.00757782153, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: 0.746444684543, w: 0.665447468188}
- objects_cuboid:
- min: [1.25, -1.28, 0.0]
- max: [2.84, -0.34, 8.0]
- persons_cuboid:
- min: [1.07, -1.65, 0.0]
- max: [2.82, -0.84, 8.0]
diff --git a/tasks/coffee_shop/config/test_check_table_sim.yaml b/tasks/coffee_shop/config/test_check_table_sim.yaml
deleted file mode 100644
index 24e5be749..000000000
--- a/tasks/coffee_shop/config/test_check_table_sim.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-tables:
- table0:
- num_persons: 0
- status: "unvisited"
- order: []
- location:
- position: {x: -0.74, y: -3.57, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: -0.99, w: 0.03}
- semantic: "end"
- objects_cuboid:
- - [-1.54, -3.97]
- - [-3.25, -4.05]
- - [-3.24, -3.11]
- - [-1.54, -3.16]
- persons_cuboid:
- - [-1.50, -4.73]
- - [-3.27, -4.91]
- - [-3.13, -2.33]
- - [-1.51, -2.23]
-current_table: "table0"
diff --git a/tasks/coffee_shop/config/test_make_order.yaml b/tasks/coffee_shop/config/test_make_order.yaml
deleted file mode 100644
index 8fbefa9a1..000000000
--- a/tasks/coffee_shop/config/test_make_order.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-tables:
- table0:
- location:
- position: {x: -0.74, y: -3.57, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: -0.99, w: 0.03}
- semantic: "end"
-counter:
- location:
- position: {x: 0.222374471246, y: 5.10986001747, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: -0.99, w: 0.0173693114911}
- cuboid:
- - [-0.209220409393, 3.5077354908]
- - [-1.98666930199, 3.57624530792]
- - [-0.631086707115, 6.58276844025]
- - [-1.82701158524, 6.51631641388]
\ No newline at end of file
diff --git a/tasks/coffee_shop/config/test_phase3.yaml b/tasks/coffee_shop/config/test_phase3.yaml
deleted file mode 100644
index 3e31b5f5e..000000000
--- a/tasks/coffee_shop/config/test_phase3.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-tables:
- table0:
- location:
- position: {x: 0.45, y: -8.67, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: -0.02, w: 1.0}
- semantic: "end"
-wait:
- location:
- position: {x: 2.71006066106, y: 2.12491014098, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: 0.752734065, w: 0.658324712318}
- cuboid:
- - [-0.28, 3.12]
- - [3.78, 2.97]
- - [3.94, 7.37]
- - [-0.84, 7.19]
\ No newline at end of file
diff --git a/tasks/coffee_shop/config/test_wait_for_person.yaml b/tasks/coffee_shop/config/test_wait_for_person.yaml
deleted file mode 100644
index a0c3c5b0f..000000000
--- a/tasks/coffee_shop/config/test_wait_for_person.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-wait:
- location:
- position: {x: 2.71006066106, y: 2.12491014098, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: 0.752734065, w: 0.658324712318}
- cuboid:
- - [-0.28, 3.12]
- - [3.78, 2.97]
- - [3.94, 7.37]
- - [-0.84, 7.19]
\ No newline at end of file
diff --git a/tasks/coffee_shop/launch/core.launch b/tasks/coffee_shop/launch/core.launch
index 4b40facbe..e9e01006b 100644
--- a/tasks/coffee_shop/launch/core.launch
+++ b/tasks/coffee_shop/launch/core.launch
@@ -14,13 +14,9 @@
-
+
-
-
-
-
diff --git a/tasks/coffee_shop/launch/lift/aruco_test.launch b/tasks/coffee_shop/launch/lift/aruco_test.launch
deleted file mode 100644
index b9a86ba50..000000000
--- a/tasks/coffee_shop/launch/lift/aruco_test.launch
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tasks/coffee_shop/launch/lift/demo_609.yaml b/tasks/coffee_shop/launch/lift/demo_609.yaml
deleted file mode 100644
index 0ae7ebaba..000000000
--- a/tasks/coffee_shop/launch/lift/demo_609.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-lift:
- pose:
- position:
- x: 3.38024333356
- y: -0.707694082116
- z: 0.0
- orientation:
- x: 0.0
- y: 0.0
- z: -0.59235272545
- w: 0.805678750279
\ No newline at end of file
diff --git a/tasks/coffee_shop/launch/lift/demo_sim.yaml b/tasks/coffee_shop/launch/lift/demo_sim.yaml
deleted file mode 100644
index 5cb35f208..000000000
--- a/tasks/coffee_shop/launch/lift/demo_sim.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-lift:
- pose:
- position:
- x: 4.011953830718994
- y: -4.4152936935424805
- z: -0.001434326171875
- orientation:
- x: 0.0
- y: 0.0
- z: -0.59235272545
- w: 0.805678750279
\ No newline at end of file
diff --git a/tasks/coffee_shop/launch/lift/final_lift.yaml b/tasks/coffee_shop/launch/lift/final_lift.yaml
deleted file mode 100644
index 96f330402..000000000
--- a/tasks/coffee_shop/launch/lift/final_lift.yaml
+++ /dev/null
@@ -1,212 +0,0 @@
-#Robot room:
-# dev start:
-#start:
-# pose:
-# position: { x: 3.09560757362, y: 0.974404310171, z: 0.0}
-# orientation: {x: 0.0, y: 0.0, z: -0.591061635968, w: 0.806626395853}
-
-#Heavy Goods Lift:
-#goods_lift_start:
-# pose:
-# position: { x: 0.508800501232, y: 33.8344979691, z: 0.0 }
-# orientation: { x: 0.0,y: 0.0,z: 0.637510283355, w: 0.770441846356 }
-
-#Robot Room
-#finish:
-# pose:
-# position: { x: 0.0151059264317, y: 1.16150856018, z: -0.00143432617188}
-# orientation: {x: 0.0, y: 0.0, z: 0.752734065, w: 0.658324712318}
-
-#Robot Room
-#wait:
-# pose:
-# position: { x: 2.67279863358, y: -0.270290255547, z: -0.00143432617188}
-# orientation: {x: 0.0, y: 0.0, z: -0.151568158509, w: 0.988446808547}
-#
-#wait_centre:
-# pose:
-# position: { x: 3.31266808156, y: -0.483950084911, z: 0.0}
-# orientation: {x: 0.0, y: 0.0, z: -0.585323801347, w: 0.810799634668}
-#
-#goods_lift_wait:
-# pose:
-# position: { x: 0.508800501232, y: 33.8344979691,z: 0.0}
-# orientation: { x: 0.0,y: 0.0,z: 0.637510283355,w: 0.770441846356}
-#
-#lift_centre:
-# pose:
-# position: { x: 4.06678438187, y: -2.04051423073, z: 0.00247192382812}
-# orientation: {x: 0.0, y: 0.0, z: 0.752734065, w: 1.0}
-#
-
-# wait in dev
-#wait_position_center_point: [ 2.81842398643, -0.141454875469 ]
-#wait_position_points:
-# [[ 3.79584240913, 0.724112570286 ],
-# [ 1.32902395725, 0.370439916849 ],
-# [ 1.81307899952, -1.20247292519 ],
-# [ 4.12164831161, -0.839492976665 ]]
-#
-#lift:
-# pose:
-# position:
-# x: 3.38024333356
-# y: -0.707694082116
-# z: 0.0
-# orientation:
-# x: 0.0
-# y: 0.0
-# z: -0.59235272545
-# w: 0.805678750279
-#
-#floor:
-# status: "unknown"
-# number: 2
-#
-#counter_door:
-# counter: 0
-#
-#in_lift:
-# status: False
-#
-#
-#counter_lift:
-# counter: 0
-#
-#door:
-# pose:
-# position: { x: 11.119726181, y: 26.7926883698, z: 0.0}
-# orientation: { x: 0.0, y: 0.0, z: -0.977169511786, w: 0.212461161713}
-#
-#lift_in_front:
-# pose:
-# position: { x: 3.05060815811, y: -0.478551894426, z: -0.00143432617188}
-# orientation: { x: 0.0, y: 0.0, z: 0.0, w: 0.0 }
-#
-#
-#counter_door_open:
-# counter: 0
-#
-# x: 11.119726181
-# y: 26.7926883698
-# z: -0.00143432617188
-#
-#door_location: [ 11.119726181, 26.7926883698 ]
-#
-#test_lift_points:
-# - [ 4.63600158691, -1.35065078735 ]
-# - [ 4.87020158768, -2.30084991455 ]
-# - [ 3.86834454536, -2.61324429512 ]
-# - [ 3.50403380394, -1.44176590443 ]
-#
-#door_detected_official: True
-
-
-# out
-# start out
-start:
- pose:
- position: { x: 10.4685899979, y: 26.6557230611, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: 0.160084213465, w: 0.987103360646}
-
-
-# finish out
-finish:
- pose:
- position: { x: 10.3656408799, y: 25.7369664143, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: 0.0965790640525, w: 0.995325315857}
-
-wait:
- pose:
- position: { x: 10.3656408799, y: 25.7369664143, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: 0.126074794327, w: 0.992020738813}
-
-wait_centre:
- pose:
- position: { x: 10.5647281515, y: 26.7998710048, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: 0.126074794327, w: 0.992020738813}
-
-
-goods_lift_wait:
- pose:
- position: { x: 0.508800501232, y: 33.8344979691,z: 0.0}
- orientation: { x: 0.0,y: 0.0,z: 0.637510283355,w: 0.770441846356}
-
-lift_centre:
- pose:
- position: { x: 9.057735641656286, y: 27.38111656110139, z: 0.00247192382812}
- orientation: {x: 0.0, y: 0.0, z: 0.752734065, w: 1.0}
-
-
-
-# lift in dev
-
-
-#wait_position_center_point: [8.654352168797907, 27.40189201769553]
-wait_position_center_point: [10.9, 27.40189201769553]
-
-wait_position_points:
- [[10.745699396246888, 27.818815710370007],
- [11.082008345323466, 26.102035182358982],
- [9.379748974144063, 25.76267868832162],
- [9.043440025067484, 27.479459216332643]]
-
-lift_position_center_point: [ 11.9706506729, 27.2289657593]
-
-lift_position_points:
- [[ 12.6273851395, 26.9184188843],
- [ 11.5624361038, 26.5122585297],
- [ 11.1644525528, 27.4878616333],
- [ 12.2801580429, 28.0086154938]]
-
-
-lift:
- pose:
- position:
- x: 3.38024333356
- y: -0.707694082116
- z: 0.0
- orientation:
- x: 0.0
- y: 0.0
- z: -0.59235272545
- w: 0.805678750279
-
-floor:
- status: "unknown"
- number: 2
-
-counter_door:
- counter: 0
-
-in_lift:
- status: False
-
-
-counter_lift:
- counter: 0
-
-door:
- pose:
- position: { x: 11.086766243, y: 26.9298286438, z: 0.0}
- orientation: { x: 0.0, y: 0.0, z: 0.145168323452, w: 0.989406972821}
-
-lift_in_front:
- pose:
- position: { x: 10.412532611, y: 26.7708529502, z: 0.0}
- orientation: { x: 0.0, y: 0.0, z: 0.119805466915, w: 0.992797386226 }
-
-
-counter_door_open:
- counter: 0
-
-door_location: [ x: 11.086766243, y: 26.9298286438]
-
-test_lift_points:
- - [ 12.6273851395, 26.9184188843]
- - [ 11.5624361038, 26.5122585297]
- - [ 11.1644525528, 27.4878616333]
- - [ 12.2801580429, 28.0086154938]
-
-door_detected_official: True
-
diff --git a/tasks/coffee_shop/launch/lift/final_lift_sim.yaml b/tasks/coffee_shop/launch/lift/final_lift_sim.yaml
deleted file mode 100644
index 113df7fe8..000000000
--- a/tasks/coffee_shop/launch/lift/final_lift_sim.yaml
+++ /dev/null
@@ -1,92 +0,0 @@
-start:
- pose:
- position: { x: -0.89295363384, y: -4.34396101132, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: 0.203241335237, w: 0.979128673695}
-
-finish:
- pose:
- position: {x: 2.71006066106, y: 2.12491014098, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: 0.752734065, w: 0.658324712318}
-
-
-wait:
- pose:
- position: { x: 1.52014112473, y: -4.45748567581, z: 0.0}
- orientation: {x: 0.0, y: 0.0, z: -0.151568158509, w: 0.988446808547}
-
-wait_centre:
- pose:
- position: {x: 3.8297624588, y: -4.5714597702, z: -0.00143432617188}
- orientation: {x: 0.0, y: 0.0, z: 0.271253999152, w: 0.962507801498 }
-
-lift_centre:
- pose:
- position: { x: 5.42446279526, y: -4.42278385162, z: -0.00143432617188}
- orientation: {x: 0.0, y: 0.0, z: 0.752734065, w: 1.0}
-
-
-wait_position_center_point: [3.12702393531799 , -4.532418251037598]
-
-wait_position_points:
- [[ 2.0859310626983643, -3.3872008323669434 ],
- [ 4.024967670440674, -3.3741872310638428 ],
- [ 4.011953830718994, -5.768733024597168 ],
- [ 1.7605891227722168, -5.794760704040527 ] ]
-
-lift_position_center_point: [5.46206521987915, -4.357753753662109]
-
-lift_position_points:
- [[ 4.442041397094727, -5.306999683380127 ],
- [ 6.458549976348877, -5.189324855804443 ],
- [ 6.387932300567627, -3.4948019981384277 ],
- [ 4.504811763763428, -3.5497169494628906 ]]
-
-lift:
- pose:
- position:
- x: 3.38024333356
- y: -0.707694082116
- z: 0.0
- orientation:
- x: 0.0
- y: 0.0
- z: -0.59235272545
- w: 0.805678750279
-
-floor:
- status: "unknown"
- number: 2
-
-counter_door:
- counter: 0
-
-in_lift:
- status: False
-
-
-counter_lift:
- counter: 0
-
-door:
- pose:
- position: { x: 4.35229116578, y: -4.5204643254, z: 0.0 }
- orientation: { x: 0.0, y: 0.0, z: 0.926613835575, w: 0.376014361058 }
-
-lift_in_front:
- pose:
- position: { x: 3.74506759644, y: -5.12129688263, z: -0.00143432617188}
- orientation: { x: 0.0, y: 0.0, z: 0.0, w: 0.0 }
-
-
-counter_door_open:
- counter: 0
-
-# sim sideways
-#door_location: [-5.49848747253, 1.02214515209]
-door_location: [ 4.19257593155, -4.48854494095]
-
-test_lift_points:
- - [ 4.442041397094727, -5.306999683380127 ]
- - [ 6.458549976348877, -5.189324855804443 ]
- - [ 6.387932300567627, -3.4948019981384277]
- - [ 4.504811763763428, -3.5497169494628906]
\ No newline at end of file
diff --git a/tasks/coffee_shop/launch/lift/narrow_space_nav_demo.launch b/tasks/coffee_shop/launch/lift/narrow_space_nav_demo.launch
deleted file mode 100644
index d41fd4e37..000000000
--- a/tasks/coffee_shop/launch/lift/narrow_space_nav_demo.launch
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tasks/coffee_shop/launch/lift/test_detections.launch b/tasks/coffee_shop/launch/lift/test_detections.launch
deleted file mode 100644
index 0ac3e8386..000000000
--- a/tasks/coffee_shop/launch/lift/test_detections.launch
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tasks/coffee_shop/src/coffee_shop/main.py b/tasks/coffee_shop/nodes/main.py
similarity index 68%
rename from tasks/coffee_shop/src/coffee_shop/main.py
rename to tasks/coffee_shop/nodes/main.py
index fb199f17a..c7c53010b 100755
--- a/tasks/coffee_shop/src/coffee_shop/main.py
+++ b/tasks/coffee_shop/nodes/main.py
@@ -3,7 +3,6 @@
from coffee_shop.state_machine import CoffeeShop
from coffee_shop.context import Context
import sys
-from std_msgs.msg import Empty, Int16
if __name__ == "__main__":
rospy.init_node("coffee_shop")
@@ -13,11 +12,7 @@
sys.exit()
context = Context(sys.argv[1], sys.argv[2])
- context.datahub_ping.publish(Empty())
- context.datahub_start_episode.publish(Empty())
coffee_shop = CoffeeShop(context)
outcome = coffee_shop.execute()
context.voice_controller.sync_tts("I am done.")
- context.datahub_stop_phase.publish(Int16(3))
- context.datahub_stop_epsiode.publish(Empty())
rospy.spin()
diff --git a/tasks/coffee_shop/nodes/tf_transform.py b/tasks/coffee_shop/nodes/tf_transform.py
deleted file mode 100755
index 67bd684f6..000000000
--- a/tasks/coffee_shop/nodes/tf_transform.py
+++ /dev/null
@@ -1,163 +0,0 @@
-#!/usr/bin/env python
-import rospy
-import tf2_ros
-import tf2_geometry_msgs
-import tf2_sensor_msgs
-
-from geometry_msgs.msg import PoseStamped, PoseArray
-from coffee_shop.srv import (
- TfTransform,
- TfTransformResponse,
- LatestTransform,
- LatestTransformResponse,
- ApplyTransform,
- ApplyTransformResponse,
-)
-
-
-from geometry_msgs.msg import PoseStamped, Vector3Stamped, PointStamped, WrenchStamped
-import PyKDL
-import rospy
-import tf2_ros
-import copy
-
-
-def tf_transform(msg):
- tf_response = TfTransformResponse()
- if msg.pose_array.header.frame_id != "":
- transformation = get_transform(
- source_frame=msg.pose_array.header.frame_id,
- target_frame=msg.target_frame.data,
- stamp=msg.pose_array.header.stamp,
- )
- if transformation:
- pose_array = PoseArray()
- pose_array.header.frame_id = msg.target_frame.data
- pose_array.header.stamp = rospy.get_rostime()
-
- for pose in msg.pose_array.poses:
- new_pose = tf2_geometry_msgs.do_transform_pose(
- PoseStamped(pose=pose), transformation
- ).pose
- pose_array.poses.append(new_pose)
-
- tf_response.target_pose_array = pose_array
- else:
- print("Error: No transformation")
- if msg.pointcloud.header.frame_id != "":
- transformation = get_transform(
- source_frame=msg.pointcloud.header.frame_id,
- target_frame=msg.target_frame.data,
- stamp=msg.pointcloud.header.stamp,
- )
- if transformation:
- new_pointcloud = tf2_sensor_msgs.do_transform_cloud(
- msg.pointcloud, transformation
- )
- tf_response.target_pointcloud = new_pointcloud
- else:
- print("Error: No transformation")
- if msg.point.header.frame_id != "":
- transformation = get_transform(
- source_frame=msg.point.header.frame_id,
- target_frame=msg.target_frame.data,
- stamp=msg.point.header.stamp,
- )
- if transformation:
- new_point = do_transform_point(msg.point, transformation)
- tf_response.target_point = new_point
- else:
- print("Error: No transformation")
-
- return tf_response
-
-
-def get_transform(source_frame, target_frame, stamp):
- """
- Converts to target frame
- Returns the pose in the target frame
- """
- assert source_frame and target_frame
- # print('source_frame', source_frame)
- # print('target_frame', target_frame)
- try:
- transformation = tfBuffer.lookup_transform(
- target_frame, source_frame, stamp, rospy.Duration(0.1)
- )
- return transformation
- except (
- tf2_ros.LookupException,
- tf2_ros.ConnectivityException,
- tf2_ros.ExtrapolationException,
- ) as e:
- print(e)
-
-
-def do_transform_point(point, transform):
- p = transform_to_kdl(transform) * PyKDL.Vector(
- point.point.x, point.point.y, point.point.z
- )
- res = PointStamped()
- res.point.x = p[0]
- res.point.y = p[1]
- res.point.z = p[2]
- res.header = transform.header
- return res
-
-
-tf2_ros.TransformRegistration().add(PointStamped, do_transform_point)
-
-
-def transform_to_kdl(t):
- return PyKDL.Frame(
- PyKDL.Rotation.Quaternion(
- t.transform.rotation.x,
- t.transform.rotation.y,
- t.transform.rotation.z,
- t.transform.rotation.w,
- ),
- PyKDL.Vector(
- t.transform.translation.x,
- t.transform.translation.y,
- t.transform.translation.z,
- ),
- )
-
-
-def get_latest_transform(msg):
- to_frame = msg.target_frame
- from_frame = msg.from_frame
- try:
- t = tfBuffer.lookup_transform(
- to_frame, from_frame, rospy.Time(0), rospy.Duration(5)
- )
- return t
- except (
- tf2_ros.LookupException,
- tf2_ros.ConnectivityException,
- tf2_ros.ExtrapolationException,
- ):
- raise
-
-
-def apply_transform(msg):
- rospy.logwarn("Applying transform")
- new_p = []
- for p in msg.points:
- ps = PointStamped()
- ps.point = p
- p_tf = do_transform_point(ps, msg.transform)
- new_p.append(p_tf.point)
- return ApplyTransformResponse(new_p)
-
-
-if __name__ == "__main__":
- rospy.init_node("tf_transform_node")
- s = rospy.Service("tf_transform", TfTransform, tf_transform)
- s2 = rospy.Service("get_latest_transform", LatestTransform, get_latest_transform)
- s3 = rospy.Service("apply_transform", ApplyTransform, apply_transform)
- tfBuffer = tf2_ros.Buffer()
- listener = tf2_ros.TransformListener(tfBuffer)
-
- print("Ready to transform!")
- rospy.spin()
diff --git a/tasks/coffee_shop/scripts/datahub.py b/tasks/coffee_shop/scripts/datahub.py
deleted file mode 100755
index 607ebb6cf..000000000
--- a/tasks/coffee_shop/scripts/datahub.py
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/usr/bin/env python3
-import rospy
-import requests
-from std_msgs.msg import Int16, Empty
-
-rospy.init_node("datahub_shit")
-
-DATAHUB_API = "https://ecs-mnemosyne.azurewebsites.net/api/Hub"
-ROBOT_ID = "019b1442-728d-48c4-1de7-08dbb68bfcf1"
-
-
-def start_episode(_):
- requests.post(
- DATAHUB_API,
- json={
- "RobotId": ROBOT_ID,
- "Competition": "ERL",
- "Action": "STARTEPISODE",
- "Episode": 1,
- },
- )
-
-
-def stop_episode(_):
- requests.post(
- DATAHUB_API,
- json={
- "RobotId": ROBOT_ID,
- "Competition": "ERL",
- "Action": "STOPEPISODE",
- "Episode": 1,
- },
- )
-
-
-def start_phase(msg):
- requests.post(
- DATAHUB_API,
- json={
- "RobotId": ROBOT_ID,
- "Competition": "ERL",
- "Action": "STARTPHASE",
- "Episode": 1,
- "Phase": msg.data,
- },
- )
-
-
-def stop_phase(msg):
- requests.post(
- DATAHUB_API,
- json={
- "RobotId": ROBOT_ID,
- "Competition": "ERL",
- "Action": "STOPPHASE",
- "Episode": 1,
- "Phase": msg.data,
- },
- )
-
-
-def ping(_):
- requests.post(
- DATAHUB_API, json={"RobotId": ROBOT_ID, "Competition": "ERL", "Action": "PING"}
- )
-
-
-rospy.Subscriber("/datahub/start_episode", Empty, start_episode)
-rospy.Subscriber("/datahub/stop_episode", Empty, stop_episode)
-rospy.Subscriber("/datahub/start_phase", Int16, start_phase)
-rospy.Subscriber("/datahub/stop_phase", Int16, stop_phase)
-rospy.Subscriber("/datahub/ping", Int16, ping)
-
-rospy.spin()
diff --git a/tasks/coffee_shop/scripts/test_check_table.py b/tasks/coffee_shop/scripts/test_check_table.py
index 0f410ef41..fe5b7b1da 100755
--- a/tasks/coffee_shop/scripts/test_check_table.py
+++ b/tasks/coffee_shop/scripts/test_check_table.py
@@ -9,9 +9,18 @@
rospy.init_node("test_check_table")
sm = smach.StateMachine(outcomes=["end", "not_finished"])
context = Context(sys.argv[1], sys.argv[2])
- context.current_table = "table0"
+ context.current_table = "table1"
with sm:
- sm.add("CHECK_TABLE", CheckTable(context), transitions={"finished": "end"})
+ sm.add(
+ "CHECK_TABLE",
+ CheckTable(context),
+ transitions={
+ "has_needs_serving_tables": "end",
+ "not_finished": "end",
+ "idle": "end",
+ "has_free_tables": "end",
+ },
+ )
sm.execute()
rospy.signal_shutdown("down")
diff --git a/tasks/coffee_shop/scripts/test_make_order.py b/tasks/coffee_shop/scripts/test_make_order.py
index 7d9493b29..26298d961 100755
--- a/tasks/coffee_shop/scripts/test_make_order.py
+++ b/tasks/coffee_shop/scripts/test_make_order.py
@@ -17,7 +17,7 @@
context = Context(sys.argv[1], sys.argv[2])
context.current_table = "table0"
context.tables[context.current_table]["status"] = "currently serving"
- context.tables[context.current_table]["order"] = ["coffee", "coffee"]
+ context.tables[context.current_table]["order"] = ["cup", "cup"]
with sm:
sm.add(
diff --git a/tasks/coffee_shop/scripts/test_people_pose.py b/tasks/coffee_shop/scripts/test_people_pose.py
index 4e3601704..6074e73e6 100755
--- a/tasks/coffee_shop/scripts/test_people_pose.py
+++ b/tasks/coffee_shop/scripts/test_people_pose.py
@@ -1,6 +1,7 @@
#!/usr/bin/env python3
import rospy
-from common_math import pcl_msg_to_cv2, seg_to_centroid
+import cv2_pcl
+import cv2_img
from sensor_msgs.msg import PointCloud2
from std_msgs.msg import String
from geometry_msgs.msg import PointStamped, Point
@@ -45,19 +46,19 @@ def create_point_marker(x, y, z, idx):
while not rospy.is_shutdown():
pcl_msg = rospy.wait_for_message("/xtion/depth_registered/points", PointCloud2)
- cv_im = pcl_msg_to_cv2(pcl_msg)
- img_msg = bridge.cv2_to_imgmsg(cv_im)
+ cv_im = cv2_pcl.pcl_to_cv2(pcl_msg)
+ img_msg = cv2_img.cv2_img_to_msg(cv_im)
detections = yolo(img_msg, "yolov8n-seg.pt", 0.3, 0.3)
for detection in detections.detected_objects:
if detection.name == "person":
- centroid_xyz = seg_to_centroid(pcl_msg, np.array(detection.xyseg))
+ centroid_xyz = cv2_pcl.seg_to_centroid(pcl_msg, np.array(detection.xyseg))
centroid = PointStamped()
centroid.point = Point(*centroid_xyz)
centroid.header = pcl_msg.header
tf_req = TfTransformRequest()
tf_req.target_frame = String("map")
tf_req.point = centroid
- centroid_tf = tf(tf_req).target_point.point
+ centroid_tf = tf(tf_req).point
people_pose_pub.publish(
create_point_marker(centroid_tf.x, centroid_tf.y, centroid_tf.z, idx)
)
diff --git a/tasks/coffee_shop/src/coffee_shop/add_coffee_shop_vo.py b/tasks/coffee_shop/src/coffee_shop/add_coffee_shop_vo.py
new file mode 100755
index 000000000..d29a21d60
--- /dev/null
+++ b/tasks/coffee_shop/src/coffee_shop/add_coffee_shop_vo.py
@@ -0,0 +1,20 @@
+#!/usr/bin/env python3
+import rospy
+import rosparam
+
+rospy.init_node("add_coffee_shop_vo")
+
+x1, y1 = -5.8, -2.0
+x2, y2 = -5.8, -0.5
+x3, y3 = -4.27, -0.63
+x4, y4 = -4.27, -2.18
+vo_dict = {
+ "vo_0096": ["submap_0", "pillar", x1, y1, 0.0],
+ "vo_0097": ["submap_0", "pillar", x2, y2, 0.0],
+ "vo_0098": ["submap_0", "pillar", x3, y3, 0.0],
+ "vo_0099": ["submap_0", "pillar", x4, y4, 0.0],
+}
+
+
+for vo, params in vo_dict.items():
+ rosparam.upload_params(f"mmap/vo/submap_0/{vo}", params)
diff --git a/tasks/coffee_shop/src/coffee_shop/context.py b/tasks/coffee_shop/src/coffee_shop/context.py
index d4a0ca3a0..f01b14504 100755
--- a/tasks/coffee_shop/src/coffee_shop/context.py
+++ b/tasks/coffee_shop/src/coffee_shop/context.py
@@ -1,31 +1,30 @@
import rospy
import rosparam
-from tiago_controllers import BaseController, HeadController
from lasr_voice import Voice
from play_motion_msgs.msg import PlayMotionAction
from control_msgs.msg import PointHeadAction
from lasr_vision_msgs.srv import YoloDetection
-from coffee_shop.srv import TfTransform, LatestTransform, ApplyTransform
-from lasr_shapely import LasrShapely
-from lasr_speech.srv import Speech
-from cv_bridge3 import CvBridge
import actionlib
+from move_base_msgs.msg import MoveBaseAction
import yaml
from visualization_msgs.msg import Marker
import rosservice
import time
import random
-from std_msgs.msg import Empty, Int16
+import tf2_ros as tf2
+import tf2_geometry_msgs # noqa
+from tf2_geometry_msgs.tf2_geometry_msgs import do_transform_pose, do_transform_point
class Context:
def __init__(self, config_path=None, tablet=False):
self.tablet = tablet
- self.base_controller = BaseController()
- rospy.loginfo("Got base controller")
- self.head_controller = HeadController()
- rospy.loginfo("Got head controller")
+ self.move_base_client = actionlib.SimpleActionClient(
+ "/move_base", MoveBaseAction
+ )
+ self.move_base_client.wait_for_server()
+ rospy.loginfo("Got MoveBase")
self.voice_controller = Voice()
rospy.loginfo("Got voice controller")
self.play_motion_client = actionlib.SimpleActionClient(
@@ -41,31 +40,9 @@ def __init__(self, config_path=None, tablet=False):
rospy.wait_for_service("/yolov8/detect")
self.yolo = rospy.ServiceProxy("/yolov8/detect", YoloDetection)
rospy.loginfo("Got YOLO")
- rospy.wait_for_service("/tf_transform")
- rospy.wait_for_service("/get_latest_transform")
- rospy.wait_for_service("/apply_transform")
- self.tf = rospy.ServiceProxy("/tf_transform", TfTransform)
- self.tf_latest = rospy.ServiceProxy("/get_latest_transform", LatestTransform)
- self.tf_apply = rospy.ServiceProxy("/apply_transform", ApplyTransform)
+ self.tf_buffer = tf2.Buffer()
+ self.tf_listener = tf2.TransformListener(self.tf_buffer)
rospy.loginfo("Got TF")
- self.shapely = LasrShapely()
- rospy.loginfo("Got shapely")
- self.bridge = CvBridge()
- rospy.loginfo("CV Bridge")
-
- self.datahub_ping = rospy.Publisher("/datahub/ping", Empty, queue_size=10)
- self.datahub_start_episode = rospy.Publisher(
- "/datahub/start_episode", Empty, queue_size=10
- )
- self.datahub_stop_epsiode = rospy.Publisher(
- "/datahub/stop_episode", Empty, queue_size=10
- )
- self.datahub_start_phase = rospy.Publisher(
- "/datahub/start_phase", Int16, queue_size=10
- )
- self.datahub_stop_phase = rospy.Publisher(
- "/datahub/stop_phase", Int16, queue_size=10
- )
if not tablet:
rospy.wait_for_service("/lasr_speech/transcribe_and_parse")
@@ -214,3 +191,16 @@ def get_interaction_person(self):
# Seed the random number generator with the current time
random.seed(time.time())
return random.choice(self.tables[self.current_table]["people"])
+
+ def tf_point(self, point_stamped, target_frame):
+ trans = self.tf_buffer.lookup_transform(
+ target_frame, point_stamped.header.frame_id, rospy.Time(0)
+ )
+ return do_transform_point(point_stamped, trans)
+
+ def tf_point_list(self, points, source_frame, target_frame):
+ trans = self.tf_buffer.lookup_transform(
+ target_frame, source_frame, rospy.Time(0)
+ )
+
+ return [do_transform_point(point, trans) for point in points]
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_1/phase_1.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_1/phase_1.py
index e57019c1d..fccbe0be7 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_1/phase_1.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_1/phase_1.py
@@ -1,23 +1,91 @@
+import rospy
import smach
+import smach_ros
+from .states import Start, GoToTable, CheckTable
-from .states import Start, GoToTable, CheckTable, GoToPreTable, PreCheckTable
+from move_base_msgs.msg import MoveBaseAction, MoveBaseGoal
+from geometry_msgs.msg import Pose, Point, Quaternion
class Phase1(smach.StateMachine):
+
+ class GoIdle(smach.StateMachine):
+
+ def __init__(self):
+
+ smach.StateMachine.__init__(self, outcomes=["done"])
+
+ idle_location = rospy.get_param("wait/location")
+ idle_position, idle_orientation = (
+ idle_location["position"],
+ idle_location["orientation"],
+ )
+ idle_pose = Pose(
+ position=Point(**idle_position),
+ orientation=Quaternion(**idle_orientation),
+ )
+ idle_goal = MoveBaseGoal()
+ idle_goal.target_pose.header.frame_id = "map"
+ idle_goal.target_pose.pose = idle_pose
+
+ with self:
+
+ smach.StateMachine.add(
+ "GO_TO_IDLE",
+ smach_ros.SimpleActionState(
+ "move_base", MoveBaseAction, goal=idle_goal
+ ),
+ transitions={
+ "succeeded": "IDLE",
+ "aborted": "IDLE",
+ "preempted": "IDLE",
+ },
+ )
+
+ @smach.cb_interface(
+ input_keys=[], output_keys=[], outcomes=["succeeded"]
+ )
+ def idle_cb(_):
+ rospy.sleep(rospy.Duration(15.0))
+ return "succeeded"
+
+ smach.StateMachine.add(
+ "IDLE",
+ smach.CBState(idle_cb),
+ transitions={"succeeded": "done"},
+ )
+
def __init__(self, context):
- smach.StateMachine.__init__(self, outcomes=["done"])
+ smach.StateMachine.__init__(self, outcomes=["greet_new_customer", "serve"])
with self:
+
+ @smach.cb_interface(input_keys=[], output_keys=[], outcomes=["done"])
+ def reset_tables(ud):
+ for table in context.tables.keys():
+ context.tables[table]["status"] = "unvisited"
+ return "done"
+
smach.StateMachine.add(
- "START_PHASE_1", Start(context), transitions={"done": "GO_TO_TABLE"}
+ "GO_IDLE", self.GoIdle(), transitions={"done": "RESET_TABLES"}
)
- # smach.StateMachine.add('GO_TO_TABLE', GoToPreTable(context), transitions={'done' : 'GO_TO_TABLE'})
- # smach.StateMachine.add('PRE_CHECK_TABLE', PreCheckTable(context), transitions={'done' : 'GO_TO_TABLE'})
+
+ smach.StateMachine.add(
+ "RESET_TABLES",
+ smach.CBState(reset_tables),
+ transitions={"done": "GO_TO_TABLE"},
+ )
+
smach.StateMachine.add(
"GO_TO_TABLE", GoToTable(context), transitions={"done": "CHECK_TABLE"}
)
smach.StateMachine.add(
"CHECK_TABLE",
CheckTable(context),
- transitions={"not_finished": "GO_TO_TABLE", "finished": "done"},
+ transitions={
+ "not_finished": "GO_TO_TABLE",
+ "has_free_tables": "greet_new_customer",
+ "has_needs_serving_tables": "serve",
+ "idle": "GO_IDLE",
+ },
)
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/__init__.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/__init__.py
index 2c362473b..11a26aa08 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/__init__.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/__init__.py
@@ -1,5 +1,3 @@
from .start import Start
from .check_table import CheckTable
from .go_to_table import GoToTable
-from .go_to_pre_table import GoToPreTable
-from .pre_check_table import PreCheckTable
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/check_table.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/check_table.py
index 6f3a4daeb..88803c76e 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/check_table.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/check_table.py
@@ -1,38 +1,44 @@
-#!/usr/bin/env python3
import smach
import rospy
-from std_msgs.msg import String
from play_motion_msgs.msg import PlayMotionGoal
from sensor_msgs.msg import PointCloud2
from geometry_msgs.msg import PointStamped, Point
-from common_math import pcl_msg_to_cv2, seg_to_centroid
-from coffee_shop.srv import TfTransform, TfTransformRequest
+import cv2_pcl
+import cv2_img
import numpy as np
+from shapely.geometry import Point as ShapelyPoint
+from shapely.geometry.polygon import Polygon
+
class CheckTable(smach.State):
def __init__(self, context):
- smach.State.__init__(self, outcomes=["not_finished", "finished"])
+ smach.State.__init__(
+ self,
+ outcomes=[
+ "not_finished",
+ "has_free_tables",
+ "has_needs_serving_tables",
+ "idle",
+ ],
+ )
self.context = context
self.detections_objects = []
self.detections_people = []
self.biscuits = False
def estimate_pose(self, pcl_msg, detection):
- centroid_xyz = seg_to_centroid(pcl_msg, np.array(detection.xyseg))
+ centroid_xyz = cv2_pcl.seg_to_centroid(pcl_msg, np.array(detection.xyseg))
centroid = PointStamped()
centroid.point = Point(*centroid_xyz)
centroid.header = pcl_msg.header
- tf_req = TfTransformRequest()
- tf_req.target_frame = String("map")
- tf_req.point = centroid
- response = self.context.tf(tf_req)
+ centroid = self.context.tf_point(centroid, "map")
return np.array(
[
- response.target_point.point.x,
- response.target_point.point.y,
- response.target_point.point.z,
+ centroid.point.x,
+ centroid.point.y,
+ centroid.point.z,
]
)
@@ -57,9 +63,9 @@ def filter_detections_by_pose(self, detections, threshold=0.2):
return filtered
def perform_detection(self, pcl_msg, polygon, filter, model):
- cv_im = pcl_msg_to_cv2(pcl_msg)
- img_msg = self.context.bridge.cv2_to_imgmsg(cv_im)
- detections = self.context.yolo(img_msg, model, 0.6, 0.3)
+ cv_im = cv2_pcl.pcl_to_cv2(pcl_msg)
+ img_msg = cv2_img.cv2_img_to_msg(cv_im)
+ detections = self.context.yolo(img_msg, model, 0.3, 0.3)
detections = [
(det, self.estimate_pose(pcl_msg, det))
for det in detections.detected_objects
@@ -67,11 +73,11 @@ def perform_detection(self, pcl_msg, polygon, filter, model):
]
rospy.loginfo(f"All: {[(det.name, pose) for det, pose in detections]}")
rospy.loginfo(f"Boundary: {polygon}")
- # satisfied_points = self.context.shapely.are_points_in_polygon_2d(self.arena_polygon, [[pose[0], pose[1]] for (_, pose) in detections]).inside
- # detections = [detections[i] for i in range(0, len(detections)) if satisfied_points[i]]
- satisfied_points = self.context.shapely.are_points_in_polygon_2d(
- polygon, [[pose[0], pose[1]] for (_, pose) in detections]
- ).inside
+ shapely_polygon = Polygon(polygon)
+ satisfied_points = [
+ shapely_polygon.contains(ShapelyPoint(pose[0], pose[1]))
+ for _, pose in detections
+ ]
detections = [
detections[i] for i in range(0, len(detections)) if satisfied_points[i]
]
@@ -114,7 +120,6 @@ def execute(self, userdata):
self.person_polygon = rospy.get_param(
f"/tables/{self.context.current_table}/persons_cuboid"
)
- # self.arena_polygon = rospy.get_param(f"/arena/cuboid")
self.detections_objects = []
self.detections_people = []
@@ -126,46 +131,14 @@ def execute(self, userdata):
"look_right",
"back_to_default",
]
- # self.detection_sub = rospy.Subscriber("/xtion/depth_registered/points", PointCloud2, self.check)
-
- if self.context.current_table == "table2":
- pm_goal = PlayMotionGoal(motion_name="back_to_default", skip_planning=True)
- self.context.play_motion_client.send_goal_and_wait(pm_goal)
- pm_goal = PlayMotionGoal(
- motion_name="check_annoying_table_low", skip_planning=True
- )
+ for motion in motions:
+ pm_goal = PlayMotionGoal(motion_name=motion, skip_planning=True)
self.context.play_motion_client.send_goal_and_wait(pm_goal)
pcl_msg = rospy.wait_for_message(
"/xtion/depth_registered/points", PointCloud2
)
- self.check_table(pcl_msg)
-
- pm_goal = PlayMotionGoal(motion_name="look_left", skip_planning=True)
- self.context.play_motion_client.send_goal_and_wait(pm_goal)
- pcl_msg = rospy.wait_for_message(
- "/xtion/depth_registered/points", PointCloud2
- )
- self.check_people(pcl_msg)
-
- pm_goal = PlayMotionGoal(motion_name="look_right", skip_planning=True)
- self.context.play_motion_client.send_goal_and_wait(pm_goal)
- pcl_msg = rospy.wait_for_message(
- "/xtion/depth_registered/points", PointCloud2
- )
- self.check_people(pcl_msg)
-
- pm_goal = PlayMotionGoal(motion_name="back_to_default", skip_planning=True)
- self.context.play_motion_client.send_goal_and_wait(pm_goal)
-
- else:
- for motion in motions:
- pm_goal = PlayMotionGoal(motion_name=motion, skip_planning=True)
- self.context.play_motion_client.send_goal_and_wait(pm_goal)
- pcl_msg = rospy.wait_for_message(
- "/xtion/depth_registered/points", PointCloud2
- )
- self.check(pcl_msg)
+ self.check(pcl_msg)
status = "unknown"
if len(self.detections_objects) > 0 and len(self.detections_people) == 0:
@@ -177,9 +150,6 @@ def execute(self, userdata):
elif len(self.detections_objects) == 0 and len(self.detections_people) == 0:
status = "ready"
- # self.detection_sub.unregister()
-
- # self.detections_objects = self.filter_detections_by_pose(self.detections_objects, threshold=0.1)
self.detections_people = self.filter_detections_by_pose(
self.detections_people, threshold=0.6
)
@@ -199,14 +169,28 @@ def execute(self, userdata):
self.context.voice_controller.sync_tts(f"{status_text} {count_text}")
self.context.start_head_manager("head_manager", "")
- return (
- "not_finished"
- if len(
- [
- (label, table)
- for label, table in self.context.tables.items()
- if table["status"] == "unvisited"
- ]
- )
- else "finished"
- )
+
+ unvisited_tables = [
+ (label, table)
+ for label, table in self.context.tables.items()
+ if table["status"] == "unvisited"
+ ]
+ free_tables = [
+ (label, table)
+ for label, table in self.context.tables.items()
+ if table["status"] == "ready"
+ ]
+ needs_serving_tables = [
+ (label, table)
+ for label, table in self.context.tables.items()
+ if table["status"] == "needs serving"
+ ]
+
+ if len(unvisited_tables) > 0:
+ return "not_finished"
+ elif len(needs_serving_tables) > 0:
+ return "has_needs_serving_tables"
+ elif len(free_tables) > 0:
+ return "has_free_tables"
+ else:
+ return "idle"
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/go_to_pre_table.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/go_to_pre_table.py
deleted file mode 100644
index d556d4269..000000000
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/go_to_pre_table.py
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env python3
-import smach
-import rospy
-from geometry_msgs.msg import Pose, Point, Quaternion
-import numpy as np
-
-
-class GoToPreTable(smach.State):
- def __init__(self, context):
- smach.State.__init__(self, outcomes=["done"])
- self.context = context
-
- def execute(self, userdata):
- robot_x, robot_y = self.context.base_controller.get_pose()
- unvisited = [
- (label, rospy.get_param(f"/tables/{label}"))
- for label, table in self.context.tables.items()
- if table["status"] == "unvisited"
- ]
- closest_table = min(
- unvisited,
- key=lambda table: np.linalg.norm(
- [
- table[1]["pre_location"]["position"]["x"] - robot_x,
- table[1]["pre_location"]["position"]["y"] - robot_y,
- ]
- ),
- )
- label, next_table = closest_table
- self.context.voice_controller.async_tts(f"I am going to {label}")
- position, orientation = (
- next_table["pre_location"]["position"],
- next_table["pre_location"]["orientation"],
- )
- self.context.base_controller.sync_to_pose(
- Pose(position=Point(**position), orientation=Quaternion(**orientation))
- )
- self.context.tables[label]["status"] = "currently visiting"
- self.context.current_table = label
- return "done"
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/go_to_table.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/go_to_table.py
index ac070130b..6c086c837 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/go_to_table.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/go_to_table.py
@@ -1,7 +1,7 @@
-#!/usr/bin/env python3
import smach
import rospy
-from geometry_msgs.msg import Pose, Point, Quaternion
+from geometry_msgs.msg import Pose, Point, Quaternion, PoseWithCovarianceStamped
+from move_base_msgs.msg import MoveBaseGoal
import numpy as np
@@ -11,7 +11,10 @@ def __init__(self, context):
self.context = context
def execute(self, userdata):
- robot_x, robot_y = self.context.base_controller.get_pose()
+ robot_pose = rospy.wait_for_message(
+ "/amcl_pose", PoseWithCovarianceStamped
+ ).pose.pose
+ robot_x, robot_y = robot_pose.position.x, robot_pose.position.y
unvisited = [
(label, rospy.get_param(f"/tables/{label}"))
for label, table in self.context.tables.items()
@@ -32,9 +35,12 @@ def execute(self, userdata):
next_table["location"]["position"],
next_table["location"]["orientation"],
)
- self.context.base_controller.sync_to_pose(
- Pose(position=Point(**position), orientation=Quaternion(**orientation))
+ move_base_goal = MoveBaseGoal()
+ move_base_goal.target_pose.header.frame_id = "map"
+ move_base_goal.target_pose.pose = Pose(
+ position=Point(**position), orientation=Quaternion(**orientation)
)
+ self.context.move_base_client.send_goal_and_wait(move_base_goal)
self.context.tables[label]["status"] = "currently visiting"
self.context.current_table = label
return "done"
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/pre_check_table.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/pre_check_table.py
deleted file mode 100644
index e2ff505fa..000000000
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/pre_check_table.py
+++ /dev/null
@@ -1,122 +0,0 @@
-#!/usr/bin/env python3
-import smach
-import rospy
-
-from std_msgs.msg import String
-from play_motion_msgs.msg import PlayMotionGoal
-from sensor_msgs.msg import PointCloud2
-from geometry_msgs.msg import PointStamped, Point
-from common_math import pcl_msg_to_cv2, seg_to_centroid
-from coffee_shop.srv import TfTransform, TfTransformRequest
-import numpy as np
-
-
-class PreCheckTable(smach.State):
- def __init__(self, context):
- smach.State.__init__(self, outcomes=["done"])
- self.context = context
- self.detections_people = []
-
- def estimate_pose(self, pcl_msg, detection):
- centroid_xyz = seg_to_centroid(pcl_msg, np.array(detection.xyseg))
- centroid = PointStamped()
- centroid.point = Point(*centroid_xyz)
- centroid.header = pcl_msg.header
- tf_req = TfTransformRequest()
- tf_req.target_frame = String("map")
- tf_req.point = centroid
- response = self.context.tf(tf_req)
- return np.array(
- [
- response.target_point.point.x,
- response.target_point.point.y,
- response.target_point.point.z,
- ]
- )
-
- def publish_object_points(self):
- for _, point in self.detections_objects:
- self.context.publish_object_pose(*point, "map")
-
- def publish_people_points(self):
- for _, point in self.detections_people:
- self.context.publish_person_pose(*point, "map")
-
- def filter_detections_by_pose(self, detections, threshold=0.2):
- filtered = []
-
- for i, (detection, point) in enumerate(detections):
- distances = np.array(
- [np.sqrt(np.sum((point - ref_point) ** 2)) for _, ref_point in filtered]
- )
- if not np.any(distances < threshold):
- filtered.append((detection, point))
-
- return filtered
-
- def perform_detection(self, pcl_msg, polygon, filter, model):
- cv_im = pcl_msg_to_cv2(pcl_msg)
- img_msg = self.context.bridge.cv2_to_imgmsg(cv_im)
- detections = self.context.yolo(img_msg, model, 0.5, 0.3)
- detections = [
- (det, self.estimate_pose(pcl_msg, det))
- for det in detections.detected_objects
- if det.name in filter
- ]
- rospy.loginfo(f"All: {[(det.name, pose) for det, pose in detections]}")
- rospy.loginfo(f"Boundary: {polygon}")
- satisfied_points = self.context.shapely.are_points_in_polygon_2d(
- polygon, [[pose[0], pose[1]] for (_, pose) in detections]
- ).inside
- detections = [
- detections[i] for i in range(0, len(detections)) if satisfied_points[i]
- ]
- rospy.loginfo(f"Filtered: {[(det.name, pose) for det, pose in detections]}")
- return detections
-
- def check(self, pcl_msg):
- self.check_people(pcl_msg)
-
- def check_people(self, pcl_msg):
- detections_people_ = self.perform_detection(
- pcl_msg, self.person_polygon, ["person"], self.context.YOLO_person_model
- )
- self.detections_people.extend(detections_people_)
-
- def execute(self, userdata):
- self.context.stop_head_manager("head_manager")
-
- self.context.voice_controller.async_tts("I'm taking a quick look at the table")
-
- rospy.loginfo(self.context.current_table)
- self.person_polygon = rospy.get_param(
- f"/tables/{self.context.current_table}/persons_cuboid"
- )
- self.detections_people = []
-
- motions = ["back_to_default", "look_left", "look_right", "back_to_default"]
- # self.detection_sub = rospy.Subscriber("/xtion/depth_registered/points", PointCloud2, self.check)
- for motion in motions:
- pm_goal = PlayMotionGoal(motion_name=motion, skip_planning=True)
- self.context.play_motion_client.send_goal_and_wait(pm_goal)
- pcl_msg = rospy.wait_for_message(
- "/xtion/depth_registered/points", PointCloud2
- )
- self.check(pcl_msg)
-
- self.detections_people = self.filter_detections_by_pose(
- self.detections_people, threshold=0.50
- )
-
- people_count = len(self.detections_people)
- people_text = "person" if people_count == 1 else "people"
-
- self.context.voice_controller.async_tts(
- f"I saw {people_count} {people_text} so far"
- )
-
- self.context.tables[self.context.current_table][
- "pre_people"
- ] = self.detections_people
- self.context.start_head_manager("head_manager", "")
- return "done"
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/start.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/start.py
index 41178e7a2..90b725e4b 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/start.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_1/states/start.py
@@ -1,6 +1,5 @@
import smach
import rospy
-from std_msgs.msg import Int16
class Start(smach.State):
@@ -9,7 +8,5 @@ def __init__(self, context):
self.context = context
def execute(self, userdata):
- self.context.voice_controller.sync_tts("Starting Phase 1.")
- self.context.datahub_start_phase.publish(Int16(1))
rospy.loginfo(f"Context: {str(self.context)}")
return "done"
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_2/phase_2.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_2/phase_2.py
index 0832c0b24..e9c566eca 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_2/phase_2.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_2/phase_2.py
@@ -49,6 +49,21 @@ def __init__(self, context):
smach.StateMachine.add(
"LOAD_ORDER", LoadOrder(context), transitions={"done": "DELIVER_ORDER"}
)
+
+ @smach.cb_interface(input_keys=[], output_keys=[], outcomes=["done"])
+ def reset_tables(ud):
+ for table in context.tables.keys():
+ context.tables[table]["status"] = "unvisited"
+ return "done"
+
+ smach.StateMachine.add(
+ "DELIVER_ORDER",
+ DeliverOrder(context),
+ transitions={"done": "RESET_TABLES"},
+ )
+
smach.StateMachine.add(
- "DELIVER_ORDER", DeliverOrder(context), transitions={"done": "done"}
+ "RESET_TABLES",
+ smach.CBState(reset_tables),
+ transitions={"done": "done"},
)
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/check_order.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/check_order.py
index 425ef3166..6bf9153e1 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/check_order.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/check_order.py
@@ -1,16 +1,14 @@
-#!/usr/bin/env python3
import smach
import rospy
import numpy as np
from sensor_msgs.msg import PointCloud2
from geometry_msgs.msg import Point, PointStamped
-from std_msgs.msg import String
-from common_math import pcl_msg_to_cv2, seg_to_centroid
-from coffee_shop.srv import TfTransform, TfTransformRequest
+import cv2_pcl
+import cv2_img
from play_motion_msgs.msg import PlayMotionGoal
from collections import Counter
-from control_msgs.msg import PointHeadGoal
from geometry_msgs.msg import Point
+from shapely.geometry import Point as ShapelyPoint, Polygon
class CheckOrder(smach.State):
@@ -20,19 +18,16 @@ def __init__(self, context):
self.n_checks = 0
def estimate_pose(self, pcl_msg, detection):
- centroid_xyz = seg_to_centroid(pcl_msg, np.array(detection.xyseg))
+ centroid_xyz = cv2_pcl.seg_to_centroid(pcl_msg, np.array(detection.xyseg))
centroid = PointStamped()
centroid.point = Point(*centroid_xyz)
centroid.header = pcl_msg.header
- tf_req = TfTransformRequest()
- tf_req.target_frame = String("map")
- tf_req.point = centroid
- response = self.context.tf(tf_req)
+ centroid = self.context.tf_point(centroid, "map")
return np.array(
[
- response.target_point.point.x,
- response.target_point.point.y,
- response.target_point.point.z,
+ centroid.point.x,
+ centroid.point.y,
+ centroid.point.z,
]
)
@@ -41,6 +36,7 @@ def execute(self, userdata):
self.context.voice_controller.sync_tts(
"I think I have something in my eyes, I'm struggling to check the order. I trust you that the order is correct!"
)
+ self.n_checks = 0
return "correct"
self.n_checks += 1
@@ -50,22 +46,10 @@ def execute(self, userdata):
order = self.context.tables[self.context.current_table]["order"]
counter_corners = rospy.get_param(f"/counter/cuboid")
- """
- pm_goal = PlayMotionGoal(motion_name="back_to_default", skip_planning=True)
- self.context.play_motion_client.send_goal_and_wait(pm_goal)
- counter_centroid = np.mean(counter_corners, axis=0)
- ph_goal = PointHeadGoal()
- ph_goal.max_velocity = 1.0
- ph_goal.pointing_frame = 'head_2_link'
- ph_goal.pointing_axis = Point(1.0, 0.0, 0.0)
- ph_goal.target.header.frame_id = 'map'
- ph_goal.target.point = Point(*counter_centroid, 0.7)
- self.context.point_head_client.send_goal_and_wait(ph_goal)
- """
rospy.sleep(rospy.Duration(2.0))
pcl_msg = rospy.wait_for_message("/xtion/depth_registered/points", PointCloud2)
- cv_im = pcl_msg_to_cv2(pcl_msg)
- img_msg = self.context.bridge.cv2_to_imgmsg(cv_im)
+ cv_im = cv2_pcl.pcl_to_cv2(pcl_msg)
+ img_msg = cv2_img.cv2_img_to_msg(cv_im)
detections = self.context.yolo(
img_msg, self.context.YOLO_counter_model, 0.6, 0.3
)
@@ -74,9 +58,11 @@ def execute(self, userdata):
for det in detections.detected_objects
if det.name in self.context.target_object_remappings.keys()
]
- satisfied_points = self.context.shapely.are_points_in_polygon_2d(
- counter_corners, [[pose[0], pose[1]] for (_, pose) in detections]
- ).inside
+ shapely_polygon = Polygon(counter_corners)
+ satisfied_points = [
+ shapely_polygon.contains(ShapelyPoint(pose[0], pose[1]))
+ for _, pose in detections
+ ]
given_order = [
detections[i] for i in range(0, len(detections)) if satisfied_points[i]
]
@@ -88,6 +74,7 @@ def execute(self, userdata):
given_order[:] = [x if x != "biscuits" else "granola" for x in given_order]
if sorted(order) == sorted(given_order):
+ self.n_checks = 0
return "correct"
missing_items = list((Counter(order) - Counter(given_order)).elements())
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/deliver_order.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/deliver_order.py
index 3e9695af6..b2a198aff 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/deliver_order.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/deliver_order.py
@@ -1,10 +1,10 @@
-#!/usr/bin/env python3
import smach
import rospy
from geometry_msgs.msg import Pose, Point, Quaternion
import numpy as np
from play_motion_msgs.msg import PlayMotionGoal
-import json
+from move_base_msgs.msg import MoveBaseGoal
+from scipy.spatial.transform import Rotation as R
class DeliverOrder(smach.State):
@@ -17,12 +17,18 @@ def execute(self, userdata):
location = rospy.get_param(f"/tables/{self.context.current_table}/location")
position = location["position"]
orientation = location["orientation"]
- # self.context.base_controller.sync_to_radius(self.context.tables[self.context.current_table]["people"][0][0], self.context.tables[self.context.current_table]["people"][0][1], 0.5)
- # self.context.base_controller.sync_face_to(self.context.tables[self.context.current_table]["people"][0][0], self.context.tables[self.context.current_table]["people"][0][1])
- self.context.base_controller.sync_to_pose(
- Pose(position=Point(**position), orientation=Quaternion(**orientation))
+ target_orientation = R.from_quat(
+ [orientation["x"], orientation["y"], orientation["z"], orientation["w"]]
)
- self.context.base_controller.rotate(np.pi)
+ target_orientation *= R.from_euler("z", np.pi, degrees=False)
+ move_base_goal = MoveBaseGoal()
+ move_base_goal.target_pose.header.frame_id = "map"
+ move_base_goal.target_pose.pose = Pose(
+ position=Point(**position),
+ orientation=Quaternion(*target_orientation.as_quat()),
+ )
+ self.context.move_base_client.send_goal_and_wait(move_base_goal)
+
pm_goal = PlayMotionGoal(motion_name="load_unload", skip_planning=True)
self.context.play_motion_client.send_goal_and_wait(pm_goal)
self.context.voice_controller.async_tts(
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/go_to_counter.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/go_to_counter.py
index b51534942..4c8af1dd8 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/go_to_counter.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/go_to_counter.py
@@ -1,7 +1,7 @@
-#!/usr/bin/env python3
import smach
import rospy
from geometry_msgs.msg import Pose, Point, Quaternion
+from move_base_msgs.msg import MoveBaseGoal
class GoToCounter(smach.State):
@@ -15,7 +15,10 @@ def execute(self, userdata):
)
position = rospy.get_param("counter/location/position")
orientation = rospy.get_param("counter/location/orientation")
- self.context.base_controller.sync_to_pose(
- Pose(position=Point(**position), orientation=Quaternion(**orientation))
+ move_base_goal = MoveBaseGoal()
+ move_base_goal.target_pose.header.frame_id = "map"
+ move_base_goal.target_pose.pose = Pose(
+ position=Point(**position), orientation=Quaternion(**orientation)
)
+ self.context.move_base_client.send_goal_and_wait(move_base_goal)
return "done"
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/go_to_table.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/go_to_table.py
index 339d72be0..7d4c79b99 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/go_to_table.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/go_to_table.py
@@ -1,7 +1,7 @@
-#!/usr/bin/env python3
import smach
import rospy
-from geometry_msgs.msg import Pose, Point, Quaternion
+from geometry_msgs.msg import Pose, Point, Quaternion, PoseWithCovarianceStamped
+from move_base_msgs.msg import MoveBaseGoal
import numpy as np
@@ -11,7 +11,10 @@ def __init__(self, context):
self.context = context
def execute(self, userdata):
- robot_x, robot_y = self.context.base_controller.get_pose()
+ robot_pose = rospy.wait_for_message(
+ "/amcl_pose", PoseWithCovarianceStamped
+ ).pose.pose
+ robot_x, robot_y = robot_pose.position.x, robot_pose.position.y
tables_need_serving = [
(label, rospy.get_param(f"/tables/{label}"))
for label, table in self.context.tables.items()
@@ -29,18 +32,13 @@ def execute(self, userdata):
),
)
label, table = closest_table
- if label == self.context.current_table:
- self.context.voice_controller.sync_tts(
- "Lucky me, I am already at the table which needs serving!"
- )
- else:
- self.context.voice_controller.sync_tts(
- f"I am going to {label}, which needs serving"
- )
- position = table["location"]["position"]
- orientation = table["location"]["orientation"]
- self.context.base_controller.sync_to_pose(
- Pose(position=Point(**position), orientation=Quaternion(**orientation))
- )
+ position = table["location"]["position"]
+ orientation = table["location"]["orientation"]
+ move_base_goal = MoveBaseGoal()
+ move_base_goal.target_pose.header.frame_id = "map"
+ move_base_goal.target_pose.pose = Pose(
+ position=Point(**position), orientation=Quaternion(**orientation)
+ )
+ self.context.move_base_client.send_goal_and_wait(move_base_goal)
self.context.current_table = label
return "done"
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/load_order.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/load_order.py
index 13ac0961d..a5595bf2f 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/load_order.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/load_order.py
@@ -1,9 +1,10 @@
-#!/usr/bin/env python3
import smach
import numpy as np
from play_motion_msgs.msg import PlayMotionGoal
-import json
+from geometry_msgs.msg import PoseWithCovarianceStamped, Pose, Point, Quaternion
+from move_base_msgs.msg import MoveBaseGoal
import rospy
+from scipy.spatial.transform import Rotation as R
class LoadOrder(smach.State):
@@ -15,7 +16,25 @@ def execute(self, userdata):
self.context.voice_controller.sync_tts(
"That's the right order, I'll turn around so that you can load it"
)
- self.context.base_controller.rotate(np.pi)
+ robot_pose = rospy.wait_for_message(
+ "/amcl_pose", PoseWithCovarianceStamped
+ ).pose.pose
+ target_orientation = R.from_quat(
+ [
+ robot_pose.orientation.x,
+ robot_pose.orientation.y,
+ robot_pose.orientation.z,
+ robot_pose.orientation.w,
+ ]
+ ) * R.from_euler("z", np.pi, degrees=False)
+ move_base_goal = MoveBaseGoal()
+ move_base_goal.target_pose.header.frame_id = "map"
+ move_base_goal.target_pose.pose = Pose(
+ position=robot_pose.position,
+ orientation=Quaternion(*target_orientation.as_quat()),
+ )
+ self.context.move_base_client.send_goal_and_wait(move_base_goal)
+
pm_goal = PlayMotionGoal(motion_name="load_unload", skip_planning=True)
self.context.play_motion_client.send_goal_and_wait(pm_goal)
self.context.voice_controller.sync_tts(
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/make_order.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/make_order.py
index d0661e7d4..95f57fca1 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/make_order.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/make_order.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python3
import smach
import rospy
from collections import Counter
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/start.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/start.py
index 2152cb6a6..90b725e4b 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/start.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/start.py
@@ -1,6 +1,5 @@
import smach
import rospy
-from std_msgs.msg import Int16
class Start(smach.State):
@@ -9,8 +8,5 @@ def __init__(self, context):
self.context = context
def execute(self, userdata):
- self.context.datahub_stop_phase.publish(Int16(1))
- self.context.voice_controller.sync_tts("Starting Phase 2.")
- self.context.datahub_start_phase.publish(Int16(2))
rospy.loginfo(f"Context: {str(self.context)}")
return "done"
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/take_order.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/take_order.py
index 9fcac428a..76a641a57 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/take_order.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/take_order.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python3
import smach
import rospy
import json
@@ -89,7 +88,7 @@ def execute(self, userdata):
if self.context.tablet:
self.context.voice_controller.sync_tts(
- "Hello, I'm TIAGo, I'll be serving you today. Please use the tablet to make your order."
+ "Please use the tablet to make your order."
)
pm_goal = PlayMotionGoal(motion_name="tablet", skip_planning=True)
self.context.play_motion_client.send_goal_and_wait(pm_goal)
@@ -157,6 +156,8 @@ def execute(self, userdata):
)
else:
break
+ print(self.context.target_object_remappings)
+ print(order)
order_string = ", ".join(
[
f"{count} {self.context.target_object_remappings[item] if count == 1 else self.context.target_object_remappings[item]+'s'}"
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/wait_for_order.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/wait_for_order.py
index b040641e1..bc15f7fea 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/wait_for_order.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_2/states/wait_for_order.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python3
import smach
import json
import rospy
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_3/phase_3.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_3/phase_3.py
index e2804b401..8ab766cd4 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_3/phase_3.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_3/phase_3.py
@@ -57,5 +57,5 @@ def __init__(self, context):
smach.StateMachine.add(
"GUIDE_PERSON",
GuidePerson(context),
- transitions={"done": "GO_TO_WAIT_LOCATION"},
+ transitions={"done": "done"},
)
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/go_closer_to_person.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/go_closer_to_person.py
index 5e8eeb707..3f8989e78 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/go_closer_to_person.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/go_closer_to_person.py
@@ -1,7 +1,7 @@
-#!/usr/bin/env python3
import smach
from geometry_msgs.msg import Pose, Point, Quaternion
import rospy
+from move_base_msgs.msg import MoveBaseGoal
class GoCloserToPerson(smach.State):
@@ -15,7 +15,10 @@ def execute(self, userdata):
)
location = rospy.get_param("/wait/approach1")
position, orientation = location["position"], location["orientation"]
- self.context.base_controller.sync_to_pose(
- Pose(position=Point(**position), orientation=Quaternion(**orientation))
+ move_base_goal = MoveBaseGoal()
+ move_base_goal.target_pose.header.frame_id = "map"
+ move_base_goal.target_pose.pose = Pose(
+ position=Point(**position), orientation=Quaternion(**orientation)
)
+ self.context.move_base_client.send_goal_and_wait(move_base_goal)
return "done"
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/go_to_person.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/go_to_person.py
index 15f16947c..0b989a7c1 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/go_to_person.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/go_to_person.py
@@ -1,7 +1,10 @@
-#!/usr/bin/env python3
import smach
-from geometry_msgs.msg import Pose, Point, Quaternion
+from geometry_msgs.msg import Pose, Point, Quaternion, PoseWithCovarianceStamped
import rospy
+from move_base_msgs.msg import MoveBaseGoal
+import numpy as np
+import math
+from scipy.spatial.transform import Rotation as R
class GoToPerson(smach.State):
@@ -12,11 +15,30 @@ def __init__(self, context):
def execute(self, userdata):
location = rospy.get_param("/wait/approach2")
position, orientation = location["position"], location["orientation"]
- self.context.base_controller.sync_to_pose(
- Pose(position=Point(**position), orientation=Quaternion(**orientation))
+ move_base_goal = MoveBaseGoal()
+ move_base_goal.target_pose.header.frame_id = "map"
+ move_base_goal.target_pose.pose = Pose(
+ position=Point(**position), orientation=Quaternion(**orientation)
)
+ self.context.move_base_client.send_goal_and_wait(move_base_goal)
if self.context.new_customer_pose:
- self.context.base_controller.sync_face_to(
- self.context.new_customer_pose[0], self.context.new_customer_pose[1]
+ robot_pose = rospy.wait_for_message(
+ "/amcl_pose", PoseWithCovarianceStamped
+ ).pose.pose
+ robot_x, robot_y = robot_pose.position.x, robot_pose.position.y
+ customer_x, customer_y = (
+ self.context.new_customer_pose.point.x,
+ self.context.new_customer_pose.point.y,
)
+ dx, dy = customer_x - robot_x, customer_y - robot_y
+ theta_deg = np.degrees(math.atan2(dy, dx))
+ quaternion = R.from_euler("z", theta_deg, degrees=True).as_quat()
+ move_base_goal = MoveBaseGoal()
+ move_base_goal.target_pose.header.frame_id = "map"
+ move_base_goal.target_pose.pose = Pose(
+ position=Point(**position),
+ orientation=Quaternion(*quaternion),
+ )
+ self.context.move_base_client.send_goal_and_wait(move_base_goal)
+
return "done"
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/go_to_wait_location.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/go_to_wait_location.py
index 8ba02a796..3cd53b1ff 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/go_to_wait_location.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/go_to_wait_location.py
@@ -1,7 +1,7 @@
-#!/usr/bin/env python3
import smach
import rospy
from geometry_msgs.msg import Pose, Point, Quaternion
+from move_base_msgs.msg import MoveBaseGoal
class GoToWaitLocation(smach.State):
@@ -16,11 +16,10 @@ def execute(self, userdata):
wait_location["location"]["position"],
wait_location["location"]["orientation"],
)
- self.context.base_controller.sync_to_pose(
- Pose(position=Point(**position), orientation=Quaternion(**orientation))
+ move_base_goal = MoveBaseGoal()
+ move_base_goal.target_pose.header.frame_id = "map"
+ move_base_goal.target_pose.pose = Pose(
+ position=Point(**position), orientation=Quaternion(**orientation)
)
- if not self.done:
- self.done = True
- return "not done"
- else:
- return "done"
+ self.context.move_base_client.send_goal_and_wait(move_base_goal)
+ return "not done"
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/greet_person.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/greet_person.py
index e4ae41446..b4c07c18e 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/greet_person.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/greet_person.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python3
import smach
from play_motion_msgs.msg import PlayMotionGoal
from control_msgs.msg import PointHeadGoal
@@ -12,15 +11,6 @@ def __init__(self, context):
def execute(self, userdata):
self.context.stop_head_manager("head_manager")
- """
- ph_goal = PointHeadGoal()
- ph_goal.max_velocity = 1.0
- ph_goal.pointing_frame = 'head_2_link'
- ph_goal.pointing_axis = Point(1.0, 0.0, 0.0)
- ph_goal.target.header.frame_id = 'map'
- ph_goal.target.point = Point(*self.context.new_customer_pose)
- self.context.point_head_client.send_goal_and_wait(ph_goal)
- """
self.context.voice_controller.sync_tts(
"Hi there! My name is TIAGO. Please follow me, I'll guide you to a table."
)
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/guide_person.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/guide_person.py
index 7028bb6f6..d3f9b2239 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/guide_person.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/guide_person.py
@@ -1,19 +1,17 @@
-#!/usr/bin/env python3
import smach
import rospy
-from geometry_msgs.msg import Pose, Point, Quaternion
+from geometry_msgs.msg import Pose, Point, Quaternion, PoseWithCovarianceStamped
from sensor_msgs.msg import PointCloud2
from play_motion_msgs.msg import PlayMotionGoal
import numpy as np
-from common_math import pcl_msg_to_cv2
-
-from std_msgs.msg import String
from play_motion_msgs.msg import PlayMotionGoal
from sensor_msgs.msg import PointCloud2
from geometry_msgs.msg import PointStamped, Point
-from common_math import pcl_msg_to_cv2, seg_to_centroid
-from coffee_shop.srv import TfTransform, TfTransformRequest
+import cv2_pcl
+import cv2_img
import numpy as np
+from shapely.geometry import Point as ShapelyPoint, Polygon
+from move_base_msgs.msg import MoveBaseGoal
class GuidePerson(smach.State):
@@ -22,25 +20,22 @@ def __init__(self, context):
self.context = context
def estimate_pose(self, pcl_msg, detection):
- centroid_xyz = seg_to_centroid(pcl_msg, np.array(detection.xyseg))
+ centroid_xyz = cv2_pcl.seg_to_centroid(pcl_msg, np.array(detection.xyseg))
centroid = PointStamped()
centroid.point = Point(*centroid_xyz)
centroid.header = pcl_msg.header
- tf_req = TfTransformRequest()
- tf_req.target_frame = String("map")
- tf_req.point = centroid
- response = self.context.tf(tf_req)
+ centroid = self.context.tf_point(centroid, "map")
return np.array(
[
- response.target_point.point.x,
- response.target_point.point.y,
- response.target_point.point.z,
+ centroid.point.x,
+ centroid.point.y,
+ centroid.point.z,
]
)
def perform_detection(self, pcl_msg, polygon, filter, model):
- cv_im = pcl_msg_to_cv2(pcl_msg)
- img_msg = self.context.bridge.cv2_to_imgmsg(cv_im)
+ cv_im = cv2_pcl.pcl_to_cv2(pcl_msg)
+ img_msg = cv2_img.cv2_img_to_msg(cv_im)
detections = self.context.yolo(img_msg, model, 0.5, 0.3)
detections = [
(det, self.estimate_pose(pcl_msg, det))
@@ -49,9 +44,11 @@ def perform_detection(self, pcl_msg, polygon, filter, model):
]
rospy.loginfo(f"All: {[(det.name, pose) for det, pose in detections]}")
rospy.loginfo(f"Boundary: {polygon}")
- satisfied_points = self.context.shapely.are_points_in_polygon_2d(
- polygon, [[pose[0], pose[1]] for (_, pose) in detections]
- ).inside
+ shapely_polygon = Polygon(polygon)
+ satisfied_points = [
+ shapely_polygon.contains(ShapelyPoint(pose[0], pose[1]))
+ for _, pose in detections
+ ]
detections = [
detections[i] for i in range(0, len(detections)) if satisfied_points[i]
]
@@ -60,7 +57,10 @@ def perform_detection(self, pcl_msg, polygon, filter, model):
def execute(self, userdata):
self.context.stop_head_manager("head_manager")
- robot_x, robot_y = self.context.base_controller.get_pose()
+ robot_pose = rospy.wait_for_message(
+ "/amcl_pose", PoseWithCovarianceStamped
+ ).pose.pose
+ robot_x, robot_y = robot_pose.position.x, robot_pose.position.y
utter_clean_phrase = False
empty_tables = [
(label, rospy.get_param(f"/tables/{label}"))
@@ -106,9 +106,13 @@ def execute(self, userdata):
table["location"]["position"],
table["location"]["orientation"],
)
- self.context.base_controller.sync_to_pose(
- Pose(position=Point(**position), orientation=Quaternion(**orientation))
+
+ move_base_goal = MoveBaseGoal()
+ move_base_goal.target_pose.header.frame_id = "map"
+ move_base_goal.target_pose.pose = Pose(
+ position=Point(**position), orientation=Quaternion(**orientation)
)
+ self.context.move_base_client.send_goal_and_wait(move_base_goal)
pm_goal = PlayMotionGoal(motion_name="back_to_default", skip_planning=True)
self.context.play_motion_client.send_goal_and_wait(pm_goal)
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/look_for_person.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/look_for_person.py
index 96563debd..f3adb5261 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/look_for_person.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/look_for_person.py
@@ -1,15 +1,12 @@
-#!/usr/bin/env python3
import smach
import rospy
import numpy as np
-import ros_numpy as rnp
from sensor_msgs.msg import PointCloud2
from geometry_msgs.msg import Point, PointStamped
-from std_msgs.msg import String
-import cv2
-from coffee_shop.srv import TfTransform, TfTransformRequest
-from common_math import pcl_msg_to_cv2
+import cv2_pcl
+import cv2_img
from play_motion_msgs.msg import PlayMotionGoal
+from shapely.geometry import Point as ShapelyPoint, Polygon
class LookForPerson(smach.State):
@@ -17,33 +14,17 @@ def __init__(self, context):
smach.State.__init__(self, outcomes=["found", "not found"])
self.context = context
- def estimate_pose(self, pcl_msg, cv_im, detection):
- contours = np.array(detection.xyseg).reshape(-1, 2)
- mask = np.zeros((cv_im.shape[0], cv_im.shape[1]), np.uint8)
- cv2.fillPoly(mask, pts=[contours], color=(255, 255, 255))
- indices = np.argwhere(mask)
- if indices.shape[0] == 0:
- return np.array([np.inf, np.inf, np.inf])
- pcl_xyz = rnp.point_cloud2.pointcloud2_to_xyz_array(pcl_msg, remove_nans=False)
-
- xyz_points = []
- for x, y in indices:
- x, y, z = pcl_xyz[x][y]
- xyz_points.append([x, y, z])
-
- x, y, z = np.nanmean(xyz_points, axis=0)
+ def estimate_pose(self, pcl_msg, detection):
+ centroid_xyz = cv2_pcl.seg_to_centroid(pcl_msg, np.array(detection.xyseg))
centroid = PointStamped()
- centroid.point = Point(x, y, z)
+ centroid.point = Point(*centroid_xyz)
centroid.header = pcl_msg.header
- tf_req = TfTransformRequest()
- tf_req.target_frame = String("map")
- tf_req.point = centroid
- response = self.context.tf(tf_req)
+ centroid = self.context.tf_point(centroid, "map")
return np.array(
[
- response.target_point.point.x,
- response.target_point.point.y,
- response.target_point.point.z,
+ centroid.point.x,
+ centroid.point.y,
+ centroid.point.z,
]
)
@@ -55,25 +36,29 @@ def execute(self, userdata):
corners = rospy.get_param("/wait/cuboid")
pcl_msg = rospy.wait_for_message("/xtion/depth_registered/points", PointCloud2)
- cv_im = pcl_msg_to_cv2(pcl_msg)
- img_msg = self.context.bridge.cv2_to_imgmsg(cv_im)
+ cv_im = cv2_pcl.pcl_to_cv2(pcl_msg)
+ img_msg = cv2_img.cv2_img_to_msg(cv_im)
detections = self.context.yolo(
img_msg, self.context.YOLO_person_model, 0.3, 0.3
)
detections = [
- (det, self.estimate_pose(pcl_msg, cv_im, det))
+ (det, self.estimate_pose(pcl_msg, det))
for det in detections.detected_objects
if det.name == "person"
]
- satisfied_points = self.context.shapely.are_points_in_polygon_2d(
- corners, [[pose[0], pose[1]] for (_, pose) in detections]
- ).inside
+ shapely_polygon = Polygon(corners)
+ satisfied_points = [
+ shapely_polygon.contains(ShapelyPoint(pose[0], pose[1]))
+ for _, pose in detections
+ ]
if len(detections):
for i in range(0, len(detections)):
pose = detections[i][1]
self.context.publish_person_pose(*pose, "map")
if satisfied_points[i]:
- self.context.new_customer_pose = pose.tolist()
+ self.context.new_customer_pose = PointStamped(point=Point(*pose))
+ self.context.new_customer_pose.header.frame_id = "map"
+
return "found"
rospy.sleep(rospy.Duration(1.0))
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/look_for_person_laser.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/look_for_person_laser.py
index de436ff35..064b6286d 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/look_for_person_laser.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/look_for_person_laser.py
@@ -1,16 +1,14 @@
-#!/usr/bin/env python3
import smach
import rospy
from sensor_msgs.msg import LaserScan, CameraInfo, Image
-from std_msgs.msg import String
-from geometry_msgs.msg import Point
+from geometry_msgs.msg import Point, PointStamped
import numpy as np
import laser_geometry.laser_geometry as lg
import sensor_msgs.point_cloud2 as pc2
from image_geometry import PinholeCameraModel
from play_motion_msgs.msg import PlayMotionGoal
-from coffee_shop.srv import LatestTransformRequest, ApplyTransformRequest
import time
+from shapely.geometry import Point as ShapelyPoint, Polygon
def timeit_rospy(method):
@@ -52,32 +50,30 @@ def get_points_and_pixels_from_laser(self, msg):
p for p in pc2.read_points(pcl_msg, field_names=("x, y, z"), skip_nans=True)
]
- tf_req = LatestTransformRequest()
- tf_req.target_frame = "xtion_rgb_optical_frame"
- tf_req.from_frame = "base_laser_link"
- t = self.context.tf_latest(tf_req)
-
padded_points = []
pixels = []
for point in pcl_points:
# Pad out the points to add vertical "pillars" to the point cloud
for z in np.linspace(0.0, 1.0, 5):
- padded_points.append(Point(x=point[0], y=point[1], z=z))
+ padded_points.append(
+ PointStamped(
+ point=Point(x=point[0], y=point[1], z=z), header=msg.header
+ )
+ )
- apply_req = ApplyTransformRequest()
- apply_req.points = padded_points
- apply_req.transform = t.transform
- res = self.context.tf_apply(apply_req)
+ tf_points = self.context.tf_point_list(
+ padded_points, "base_laser_link", "xtion_rgb_optical_frame"
+ )
padded_converted_points = []
- for p in res.new_points:
- pt = (p.x, p.y, p.z)
+ for p in tf_points:
+ pt = (p.point.x, p.point.y, p.point.z)
u, v = self.camera.project3dToPixel(pt)
# Filter out points that are outside the camera frame
if u >= 0 and u < 640 and v >= 0 and v < 480:
pixels.append(u)
pixels.append(v)
- padded_converted_points.append(pt)
+ padded_converted_points.append(p)
return padded_converted_points, pixels
@@ -90,18 +86,8 @@ def convert_points_to_map_frame(self, points, from_frame="xtion_rgb_optical_fram
Returns:
List: A list of tuples containing points in map frame.
"""
- tf_req = LatestTransformRequest()
- tf_req.target_frame = "map"
- tf_req.from_frame = from_frame
- t = self.context.tf_latest(tf_req)
-
- apply_req = ApplyTransformRequest()
- apply_req.points = [
- Point(x=point[0], y=point[1], z=point[2]) for point in points
- ]
- apply_req.transform = t.transform
- res = self.context.tf_apply(apply_req)
- converted_points = [(point.x, point.y, point.z) for point in res.new_points]
+ tf_points = self.context.tf_point_list(points, from_frame, "map")
+ converted_points = [(p.point.x, p.point.y, p.point.z) for p in tf_points]
return converted_points
@@ -117,33 +103,45 @@ def execute(self, userdata):
detections = self.context.yolo(
img_msg, self.context.YOLO_person_model, 0.3, 0.3
)
+ waiting_area = Polygon(self.corners)
+ pixels_2d = np.array(pixels).reshape(-1, 2)
for detection in detections.detected_objects:
if detection.name == "person":
- decision = self.context.shapely.are_points_in_polygon_2d_flatarr(
- detection.xyseg, pixels
- )
- idx = [idx for idx, el in enumerate(decision.inside) if el]
+ shapely_polygon = Polygon(np.array(detection.xyseg).reshape(-1, 2))
+ satisfied_points = [
+ shapely_polygon.contains(ShapelyPoint(x, y)) for x, y in pixels_2d
+ ]
+ idx = [idx for idx, el in enumerate(satisfied_points) if el]
filtered_points = self.convert_points_to_map_frame(
[points[i] for i in idx]
)
if self.corners is not None:
- waiting_area = self.context.shapely.are_points_in_polygon_2d(
- self.corners, [[p[0], p[1]] for p in filtered_points]
- )
- idx = [idx for idx, el in enumerate(waiting_area.inside) if el]
+ waiting_area_satisfied_points = [
+ waiting_area.contains(ShapelyPoint(*point))
+ for point in filtered_points
+ ]
+ idx = [
+ idx
+ for idx, el in enumerate(waiting_area_satisfied_points)
+ if el
+ ]
points_inside_area = [filtered_points[i] for i in idx]
if len(points_inside_area):
point = np.mean(points_inside_area, axis=0)
self.context.publish_person_pose(*point, "map")
- self.context.new_customer_pose = point.tolist()
+ self.context.new_customer_pose = PointStamped(
+ point=Point(*point)
+ )
+ self.context.new_customer_pose.header.frame_id = "map"
return "found"
else:
# mean of filtered points
point = np.mean(filtered_points, axis=0)
self.context.publish_person_pose(*point, "map")
- self.context.new_customer_pose = point.tolist()
+ self.context.new_customer_pose = PointStamped(point=Point(*point))
+ self.context.new_customer_pose.header.frame_id = "map"
return "found"
diff --git a/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/start.py b/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/start.py
index 0a79d7492..8c5c5b976 100644
--- a/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/start.py
+++ b/tasks/coffee_shop/src/coffee_shop/phases/phase_3/states/start.py
@@ -1,6 +1,5 @@
import smach
import rospy
-from std_msgs.msg import Int16
class Start(smach.State):
@@ -9,9 +8,6 @@ def __init__(self, context):
self.context = context
def execute(self, userdata):
- self.context.datahub_stop_phase.publish(Int16(2))
- self.context.voice_controller.sync_tts("Starting Phase 3.")
- self.context.datahub_start_phase.publish(Int16(3))
rospy.loginfo(f"Context: {str(self.context)}")
self.context.voice_controller.async_tts("I am going to wait for a new customer")
return "done"
diff --git a/tasks/coffee_shop/src/coffee_shop/state_machine.py b/tasks/coffee_shop/src/coffee_shop/state_machine.py
index befa53358..d5ac070da 100644
--- a/tasks/coffee_shop/src/coffee_shop/state_machine.py
+++ b/tasks/coffee_shop/src/coffee_shop/state_machine.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python3
import smach
from coffee_shop.phases import Phase1, Phase2, Phase3
@@ -8,11 +7,13 @@ def __init__(self, context):
smach.StateMachine.__init__(self, outcomes=["end"])
with self:
smach.StateMachine.add(
- "PHASE_1", Phase1(context), transitions={"done": "PHASE_2"}
+ "PHASE_1",
+ Phase1(context),
+ transitions={"greet_new_customer": "PHASE_3", "serve": "PHASE_2"},
)
smach.StateMachine.add(
- "PHASE_2", Phase2(context), transitions={"done": "PHASE_3"}
+ "PHASE_3", Phase3(context), transitions={"done": "PHASE_2"}
)
smach.StateMachine.add(
- "PHASE_3", Phase3(context), transitions={"done": "end"}
+ "PHASE_2", Phase2(context), transitions={"done": "PHASE_1"}
)
diff --git a/tasks/coffee_shop/src/coffee_shop/utils/__init__.py b/tasks/coffee_shop/src/coffee_shop/utils/__init__.py
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tasks/coffee_shop/src/coffee_shop/utils/utils.py b/tasks/coffee_shop/src/coffee_shop/utils/utils.py
deleted file mode 100644
index 8b1378917..000000000
--- a/tasks/coffee_shop/src/coffee_shop/utils/utils.py
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/tasks/coffee_shop/srv/ApplyTransform.srv b/tasks/coffee_shop/srv/ApplyTransform.srv
deleted file mode 100644
index 7a1fa8d6f..000000000
--- a/tasks/coffee_shop/srv/ApplyTransform.srv
+++ /dev/null
@@ -1,4 +0,0 @@
-geometry_msgs/Point[] points # point we want to transform
-geometry_msgs/TransformStamped transform #the transform we want to use
----
-geometry_msgs/Point[] new_points # the transformed point
diff --git a/tasks/coffee_shop/srv/LatestTransform.srv b/tasks/coffee_shop/srv/LatestTransform.srv
deleted file mode 100644
index e41175e19..000000000
--- a/tasks/coffee_shop/srv/LatestTransform.srv
+++ /dev/null
@@ -1,4 +0,0 @@
-string from_frame # source frame
-string target_frame # target frame
----
-geometry_msgs/TransformStamped transform # transform
\ No newline at end of file
diff --git a/tasks/coffee_shop/srv/TfTransform.srv b/tasks/coffee_shop/srv/TfTransform.srv
deleted file mode 100644
index 9d8833524..000000000
--- a/tasks/coffee_shop/srv/TfTransform.srv
+++ /dev/null
@@ -1,8 +0,0 @@
-geometry_msgs/PoseArray pose_array
-sensor_msgs/PointCloud2 pointcloud
-geometry_msgs/PointStamped point
-std_msgs/String target_frame
----
-geometry_msgs/PoseArray target_pose_array
-sensor_msgs/PointCloud2 target_pointcloud
-geometry_msgs/PointStamped target_point
\ No newline at end of file