diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d031c3..86b812f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## [3.5.2](https://github.com/thangved/ctu-extension/compare/v3.5.1...v3.5.2) (2025-01-07) + +### Bug Fixes + +- **deps:** update dependency antd to v5.23.0 ([08f3f7d](https://github.com/thangved/ctu-extension/commit/08f3f7d7a2645d27160f66747d235db5de8fc202)) + ## [3.5.1](https://github.com/thangved/ctu-extension/compare/v3.5.0...v3.5.1) (2025-01-03) ### Bug Fixes diff --git a/package.json b/package.json index d7a389f..09e9fef 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ctu-extension", - "version": "3.5.1", + "version": "3.5.2", "description": "A useful extension for CTU students", "type": "module", "scripts": { @@ -20,7 +20,7 @@ }, "license": "ISC", "devDependencies": { - "@types/chrome": "^0.0.289", + "@types/chrome": "^0.0.290", "@types/esbuild-copy-static-files": "^0.1.3", "@types/js-cookie": "^3.0.6", "@types/react": "^19.0.0", @@ -48,7 +48,7 @@ "typescript": "^5.6.2", "zip-a-folder": "^3.1.7" }, - "packageManager": "pnpm@9.15.2+sha512.93e57b0126f0df74ce6bff29680394c0ba54ec47246b9cf321f0121d8d9bb03f750a705f24edc3c1180853afd7c2c3b94196d0a3d53d3e069d9e2793ef11f321", + "packageManager": "pnpm@9.15.3+sha512.1f79bc245a66eb0b07c5d4d83131240774642caaa86ef7d0434ab47c0d16f66b04e21e0c086eb61e62c77efc4d7f7ec071afad3796af64892fae66509173893a", "pnpm": { "overrides": { "braces@<3.0.3": ">=3.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 989012d..c67acd7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,7 +17,7 @@ importers: version: 5.5.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) antd: specifier: ^5.21.1 - version: 5.22.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 5.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) axios: specifier: ^1.7.7 version: 1.7.9 @@ -44,8 +44,8 @@ importers: version: 3.1.8 devDependencies: '@types/chrome': - specifier: ^0.0.289 - version: 0.0.289 + specifier: ^0.0.290 + version: 0.0.290 '@types/esbuild-copy-static-files': specifier: ^0.1.3 version: 0.1.4 @@ -54,16 +54,16 @@ importers: version: 3.0.6 '@types/react': specifier: ^19.0.0 - version: 19.0.2 + version: 19.0.3 '@types/react-dom': specifier: ^19.0.0 - version: 19.0.2(@types/react@19.0.2) + version: 19.0.2(@types/react@19.0.3) '@typescript-eslint/eslint-plugin': specifier: ^8.7.0 - version: 8.19.0(@typescript-eslint/parser@8.19.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2) + version: 8.19.1(@typescript-eslint/parser@8.19.1(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2) '@typescript-eslint/parser': specifier: ^8.7.0 - version: 8.19.0(eslint@9.17.0)(typescript@5.7.2) + version: 8.19.1(eslint@9.17.0)(typescript@5.7.2) esbuild: specifier: ^0.24.0 version: 0.24.2 @@ -94,6 +94,9 @@ packages: '@ant-design/colors@7.1.0': resolution: {integrity: sha512-MMoDGWn1y9LdQJQSHiCC20x3uZ3CwQnv9QMz6pCmJOrqdgM9YxsoVVY0wtrdXbmfSgnV0KNk6zi09NAhMR2jvg==} + '@ant-design/colors@7.2.0': + resolution: {integrity: sha512-bjTObSnZ9C/O8MB/B4OUtd/q9COomuJAR2SYfhxLyHvCKn4EKwCN3e+fWGMo7H5InAyV0wL17jdE9ALrdOW/6A==} + '@ant-design/cssinjs-utils@1.1.3': resolution: {integrity: sha512-nOoQMLW1l+xR1Co8NFVYiP8pZp3VjIIzqV6D6ShYF2ljtdwWJn5WSsH+7kvCktXL/yhEtWURKOfH5Xz/gzlwsg==} peerDependencies: @@ -418,8 +421,8 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' - '@types/chrome@0.0.289': - resolution: {integrity: sha512-JQifH2d4TFeIZ+ySBSQxCd4D+J6W0jIAyQipAzG1up4O7WApTYrBqnmpNbMqFR5f70wJ1FE6+axqtpfTtPzy/g==} + '@types/chrome@0.0.290': + resolution: {integrity: sha512-N92vsAdlwoWameDQ8D4K0EZXXvxsJ1+gJg+4TWjUUsZ6gpontVmwl1XVtysA3mso45Fcn5UPiX/yqiT8GcBV3A==} '@types/esbuild-copy-static-files@0.1.4': resolution: {integrity: sha512-Xv4zewzzit6lccvS9sPcte2pe1xLDaKHm3KcjUEJuf1DV06oy2d0/DgjoGCHyM1bSMOrf1cFtB9pQmXJeVnJ0g==} @@ -450,54 +453,54 @@ packages: peerDependencies: '@types/react': ^19.0.0 - '@types/react@19.0.2': - resolution: {integrity: sha512-USU8ZI/xyKJwFTpjSVIrSeHBVAGagkHQKPNbxeWwql/vDmnTIBgx+TJnhFnj1NXgz8XfprU0egV2dROLGpsBEg==} + '@types/react@19.0.3': + resolution: {integrity: sha512-UavfHguIjnnuq9O67uXfgy/h3SRJbidAYvNjLceB+2RIKVRBzVsh0QO+Pw6BCSQqFS9xwzKfwstXx0m6AbAREA==} - '@typescript-eslint/eslint-plugin@8.19.0': - resolution: {integrity: sha512-NggSaEZCdSrFddbctrVjkVZvFC6KGfKfNK0CU7mNK/iKHGKbzT4Wmgm08dKpcZECBu9f5FypndoMyRHkdqfT1Q==} + '@typescript-eslint/eslint-plugin@8.19.1': + resolution: {integrity: sha512-tJzcVyvvb9h/PB96g30MpxACd9IrunT7GF9wfA9/0TJ1LxGOJx1TdPzSbBBnNED7K9Ka8ybJsnEpiXPktolTLg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/parser@8.19.0': - resolution: {integrity: sha512-6M8taKyOETY1TKHp0x8ndycipTVgmp4xtg5QpEZzXxDhNvvHOJi5rLRkLr8SK3jTgD5l4fTlvBiRdfsuWydxBw==} + '@typescript-eslint/parser@8.19.1': + resolution: {integrity: sha512-67gbfv8rAwawjYx3fYArwldTQKoYfezNUT4D5ioWetr/xCrxXxvleo3uuiFuKfejipvq+og7mjz3b0G2bVyUCw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/scope-manager@8.19.0': - resolution: {integrity: sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA==} + '@typescript-eslint/scope-manager@8.19.1': + resolution: {integrity: sha512-60L9KIuN/xgmsINzonOcMDSB8p82h95hoBfSBtXuO4jlR1R9L1xSkmVZKgCPVfavDlXihh4ARNjXhh1gGnLC7Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.19.0': - resolution: {integrity: sha512-TZs0I0OSbd5Aza4qAMpp1cdCYVnER94IziudE3JU328YUHgWu9gwiwhag+fuLeJ2LkWLXI+F/182TbG+JaBdTg==} + '@typescript-eslint/type-utils@8.19.1': + resolution: {integrity: sha512-Rp7k9lhDKBMRJB/nM9Ksp1zs4796wVNyihG9/TU9R6KCJDNkQbc2EOKjrBtLYh3396ZdpXLtr/MkaSEmNMtykw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/types@8.19.0': - resolution: {integrity: sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA==} + '@typescript-eslint/types@8.19.1': + resolution: {integrity: sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.19.0': - resolution: {integrity: sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw==} + '@typescript-eslint/typescript-estree@8.19.1': + resolution: {integrity: sha512-jk/TZwSMJlxlNnqhy0Eod1PNEvCkpY6MXOXE/WLlblZ6ibb32i2We4uByoKPv1d0OD2xebDv4hbs3fm11SMw8Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/utils@8.19.0': - resolution: {integrity: sha512-PTBG+0oEMPH9jCZlfg07LCB2nYI0I317yyvXGfxnvGvw4SHIOuRnQ3kadyyXY6tGdChusIHIbM5zfIbp4M6tCg==} + '@typescript-eslint/utils@8.19.1': + resolution: {integrity: sha512-IxG5gLO0Ne+KaUc8iW1A+XuKLd63o4wlbI1Zp692n1xojCl/THvgIKXJXBZixTh5dd5+yTJ/VXH7GJaaw21qXA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/visitor-keys@8.19.0': - resolution: {integrity: sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w==} + '@typescript-eslint/visitor-keys@8.19.1': + resolution: {integrity: sha512-fzmjU8CHK853V/avYZAvuVut3ZTfwN5YtMaoi+X9Y9MA9keaWNHC3zEQ9zvyX/7Hj+5JkNyK1l7TOR2hevHB6Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} abort-controller@3.0.0: @@ -533,8 +536,8 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - antd@5.22.7: - resolution: {integrity: sha512-koT5QMliDgXc21yNcs4Uyuq6TeB5AJbzGZ2qjNExzE7Tjr8yYIX6sJsQfunsEV80wC1mpF7m9ldKuNj+PafcFA==} + antd@5.23.0: + resolution: {integrity: sha512-aRuhim7u3UCbOMDeGGWAxoCvEmvkqPG9ZZCn5EqdsUGogh4bLJxm0n+omxgXH5TwJy2MuDEZlw88IEw5P2CLvg==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' @@ -859,8 +862,8 @@ packages: fast-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} - fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} fast-json-stable-stringify@2.1.0: @@ -1389,14 +1392,14 @@ packages: queue-tick@1.0.1: resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} - rc-cascader@3.30.0: - resolution: {integrity: sha512-rrzSbk1Bdqbu+pDwiLCLHu72+lwX9BZ28+JKzoi0DWZ4N29QYFeip8Gctl33QVd2Xg3Rf14D3yAOG76ElJw16w==} + rc-cascader@3.32.0: + resolution: {integrity: sha512-U1N1N3Pt6DGcVWhZTUYqnE0JeoyphrjIJQztXSgDd50DBfhbZrjTn/TMf/qKQnC7KTMDb4eNwvo/U9LOpFJ+DQ==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' - rc-checkbox@3.3.0: - resolution: {integrity: sha512-Ih3ZaAcoAiFKJjifzwsGiT/f/quIkxJoklW4yKGho14Olulwn8gN7hOBve0/WGDg5o/l/5mL0w7ff7/YGvefVw==} + rc-checkbox@3.5.0: + resolution: {integrity: sha512-aOAQc3E98HteIIsSqm6Xk2FPKIER6+5vyEFMZfo73TqM+VVAIqOkHoPjgKLqSNtVLWScoaM7vY2ZrGEheI79yg==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' @@ -1438,20 +1441,20 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' - rc-input-number@9.3.0: - resolution: {integrity: sha512-JQ363ywqRyxwgVxpg2z2kja3CehTpYdqR7emJ/6yJjRdbvo+RvfE83fcpBCIJRq3zLp8SakmEXq60qzWyZ7Usw==} + rc-input-number@9.4.0: + resolution: {integrity: sha512-Tiy4DcXcFXAf9wDhN8aUAyMeCLHJUHA/VA/t7Hj8ZEx5ETvxG7MArDOSE6psbiSCo+vJPm4E3fGN710ITVn6GA==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' - rc-input@1.6.4: - resolution: {integrity: sha512-lBZhfRD4NSAUW0zOKLUeI6GJuXkxeZYi0hr8VcJgJpyTNOvHw1ysrKWAHcEOAAHj7guxgmWYSi6xWrEdfrSAsA==} + rc-input@1.7.2: + resolution: {integrity: sha512-g3nYONnl4edWj2FfVoxsU3Ec4XTE+Hb39Kfh2MFxMZjp/0gGyPUgy/v7ZhS27ZxUFNkuIDYXm9PJsLyJbtg86A==} peerDependencies: react: '>=16.0.0' react-dom: '>=16.0.0' - rc-mentions@2.17.0: - resolution: {integrity: sha512-sfHy+qLvc+p8jx8GUsujZWXDOIlIimp6YQz7N5ONQ6bHsa2kyG+BLa5k2wuxgebBbH97is33wxiyq5UkiXRpHA==} + rc-mentions@2.19.1: + resolution: {integrity: sha512-KK3bAc/bPFI993J3necmaMXD2reZTzytZdlTvkeBbp50IGH1BDPDvxLdHDUrpQx2b2TGaVJsn+86BvYa03kGqA==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' @@ -1487,8 +1490,8 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' - rc-picker@4.8.3: - resolution: {integrity: sha512-hJ45qoEs4mfxXPAJdp1n3sKwADul874Cd0/HwnsEOE60H+tgiJUGgbOD62As3EG/rFVNS5AWRfBCDJJfmRqOVQ==} + rc-picker@4.9.0: + resolution: {integrity: sha512-37Cx1tCsKuCMCLRAJZTjLJNVmX14QcapLlNQFUhcBjpPbzT3a62Q+p9ct7Oa9oKDn6nvfBh4I5CC3q92pOPq3w==} engines: {node: '>=8.x'} peerDependencies: date-fns: '>= 2.x' @@ -1526,8 +1529,8 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' - rc-segmented@2.5.0: - resolution: {integrity: sha512-B28Fe3J9iUFOhFJET3RoXAPFJ2u47QvLSYcZWC4tFYNGPEjug5LAxEasZlA/PpAxhdOPqGWsGbSj7ftneukJnw==} + rc-segmented@2.7.0: + resolution: {integrity: sha512-liijAjXz+KnTRVnxxXG2sYDGd6iLL7VpGGdR8gwoxAXy2KglviKCxLWZdjKYJzYzGSUwKDSTdYk8brj54Bn5BA==} peerDependencies: react: '>=16.0.0' react-dom: '>=16.0.0' @@ -1539,8 +1542,8 @@ packages: react: '*' react-dom: '*' - rc-slider@11.1.7: - resolution: {integrity: sha512-ytYbZei81TX7otdC0QvoYD72XSlxvTihNth5OeZ6PMXyEDq/vHdWFulQmfDGyXK1NwKwSlKgpvINOa88uT5g2A==} + rc-slider@11.1.8: + resolution: {integrity: sha512-2gg/72YFSpKP+Ja5AjC5DPL1YnV8DEITDQrcc1eASrUYjl0esptaBVJBh5nLTXCCp15eD8EuGjwezVGSHhs9tQ==} engines: {node: '>=8.x'} peerDependencies: react: '>=16.9.0' @@ -1559,40 +1562,40 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' - rc-table@7.49.0: - resolution: {integrity: sha512-/FoPLX94muAQOxVpi1jhnpKjOIqUbT81eELQPAzSXOke4ky4oCWYUXOcVpL31ZCO90xScwVSXRd7coqtgtB1Ng==} + rc-table@7.50.1: + resolution: {integrity: sha512-+kt7uQvJUsGBwVStrFwS6lMuQTY1TlH7Zh82PB7JflbD968qXyZ6tSTyQjXW0ObFsqpKB/lprdqqU4fl6cj9Uw==} engines: {node: '>=8.x'} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' - rc-tabs@15.4.0: - resolution: {integrity: sha512-llKuyiAVqmXm2z7OrmhX5cNb2ueZaL8ZyA2P4R+6/72NYYcbEgOXibwHiQCFY2RiN3swXl53SIABi2CumUS02g==} + rc-tabs@15.5.0: + resolution: {integrity: sha512-NrDcTaUJLh9UuDdMBkjKTn97U9iXG44s9D03V5NHkhEDWO5/nC6PwC3RhkCWFMKB9hh+ryqgZ+TIr1b9Jd/hnQ==} engines: {node: '>=8.x'} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' - rc-textarea@1.8.2: - resolution: {integrity: sha512-UFAezAqltyR00a8Lf0IPAyTd29Jj9ee8wt8DqXyDMal7r/Cg/nDt3e1OOv3Th4W6mKaZijjgwuPXhAfVNTN8sw==} + rc-textarea@1.9.0: + resolution: {integrity: sha512-dQW/Bc/MriPBTugj2Kx9PMS5eXCCGn2cxoIaichjbNvOiARlaHdI99j4DTxLl/V8+PIfW06uFy7kjfUIDDKyxQ==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' - rc-tooltip@6.2.1: - resolution: {integrity: sha512-rws0duD/3sHHsD905Nex7FvoUGy2UBQRhTkKxeEvr2FB+r21HsOxcDJI0TzyO8NHhnAA8ILr8pfbSBg5Jj5KBg==} + rc-tooltip@6.3.2: + resolution: {integrity: sha512-oA4HZIiZJbUQ5ojigM0y4XtWxaH/aQlJSzknjICRWNpqyemy1sL3X3iEQV2eSPBWEq+bqU3+aSs81z+28j9luA==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' - rc-tree-select@5.24.5: - resolution: {integrity: sha512-PnyR8LZJWaiEFw0SHRqo4MNQWyyZsyMs8eNmo68uXZWjxc7QqeWcjPPoONN0rc90c3HZqGF9z+Roz+GLzY5GXA==} + rc-tree-select@5.26.0: + resolution: {integrity: sha512-aRS6LeFO00ScvsxyyXp8nYUe+CsJ+6WMPuSNay90TUHGOmWnacaC43F5XAveUnskSIL+Svp+Nw2od7ANd8puFQ==} peerDependencies: react: '*' react-dom: '*' - rc-tree@5.10.1: - resolution: {integrity: sha512-FPXb3tT/u39mgjr6JNlHaUTYfHkVGW56XaGDahDpEFLGsnPxGcVLNTjcqoQb/GNbSCycl7tD7EvIymwOTP0+Yw==} + rc-tree@5.12.4: + resolution: {integrity: sha512-Up5NVYMprq9ijtcp01nf9Dkk6RJaRdt/fBCe9U2Cx+IBoVfR+gaUKPijDlMQX7XVgyfD89ivTz8jHM3XggdvyA==} engines: {node: '>=10.x'} peerDependencies: react: '*' @@ -1616,8 +1619,8 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' - rc-virtual-list@3.16.1: - resolution: {integrity: sha512-algM5UsB7vrlPNr9lsZEH8s9KHkP8XbT/Y0qylyPkiM8mIOlSJLjBNADcmbYPEQCm4zW82mZRJuVHNzqqN0EAQ==} + rc-virtual-list@3.17.0: + resolution: {integrity: sha512-h0jPHWt8/Ots9eiGVSGQTxwrSuQ3kxqL/ERKubv8zzIMICGQaDDWm/JoUa31MdQUC7PKDMiy5KDLkNfHcWo+iQ==} engines: {node: '>=8.x'} peerDependencies: react: '>=16.9.0' @@ -1837,11 +1840,11 @@ packages: resolution: {integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==} hasBin: true - ts-api-utils@1.4.3: - resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} - engines: {node: '>=16'} + ts-api-utils@2.0.0: + resolution: {integrity: sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==} + engines: {node: '>=18.12'} peerDependencies: - typescript: '>=4.2.0' + typescript: '>=4.8.4' type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} @@ -1934,6 +1937,10 @@ snapshots: dependencies: '@ctrl/tinycolor': 3.6.1 + '@ant-design/colors@7.2.0': + dependencies: + '@ant-design/fast-color': 2.0.6 + '@ant-design/cssinjs-utils@1.1.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@ant-design/cssinjs': 1.22.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -2211,7 +2218,7 @@ snapshots: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - '@types/chrome@0.0.289': + '@types/chrome@0.0.290': dependencies: '@types/filesystem': 0.0.36 '@types/har-format': 1.2.15 @@ -2239,89 +2246,89 @@ snapshots: dependencies: undici-types: 6.20.0 - '@types/react-dom@19.0.2(@types/react@19.0.2)': + '@types/react-dom@19.0.2(@types/react@19.0.3)': dependencies: - '@types/react': 19.0.2 + '@types/react': 19.0.3 - '@types/react@19.0.2': + '@types/react@19.0.3': dependencies: csstype: 3.1.3 - '@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2)': + '@typescript-eslint/eslint-plugin@8.19.1(@typescript-eslint/parser@8.19.1(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.19.0(eslint@9.17.0)(typescript@5.7.2) - '@typescript-eslint/scope-manager': 8.19.0 - '@typescript-eslint/type-utils': 8.19.0(eslint@9.17.0)(typescript@5.7.2) - '@typescript-eslint/utils': 8.19.0(eslint@9.17.0)(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.19.0 + '@typescript-eslint/parser': 8.19.1(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.19.1 + '@typescript-eslint/type-utils': 8.19.1(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.19.1(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.19.1 eslint: 9.17.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.4.3(typescript@5.7.2) + ts-api-utils: 2.0.0(typescript@5.7.2) typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.19.0(eslint@9.17.0)(typescript@5.7.2)': + '@typescript-eslint/parser@8.19.1(eslint@9.17.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/scope-manager': 8.19.0 - '@typescript-eslint/types': 8.19.0 - '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.19.0 + '@typescript-eslint/scope-manager': 8.19.1 + '@typescript-eslint/types': 8.19.1 + '@typescript-eslint/typescript-estree': 8.19.1(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.19.1 debug: 4.4.0(supports-color@5.5.0) eslint: 9.17.0 typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.19.0': + '@typescript-eslint/scope-manager@8.19.1': dependencies: - '@typescript-eslint/types': 8.19.0 - '@typescript-eslint/visitor-keys': 8.19.0 + '@typescript-eslint/types': 8.19.1 + '@typescript-eslint/visitor-keys': 8.19.1 - '@typescript-eslint/type-utils@8.19.0(eslint@9.17.0)(typescript@5.7.2)': + '@typescript-eslint/type-utils@8.19.1(eslint@9.17.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) - '@typescript-eslint/utils': 8.19.0(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/typescript-estree': 8.19.1(typescript@5.7.2) + '@typescript-eslint/utils': 8.19.1(eslint@9.17.0)(typescript@5.7.2) debug: 4.4.0(supports-color@5.5.0) eslint: 9.17.0 - ts-api-utils: 1.4.3(typescript@5.7.2) + ts-api-utils: 2.0.0(typescript@5.7.2) typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.19.0': {} + '@typescript-eslint/types@8.19.1': {} - '@typescript-eslint/typescript-estree@8.19.0(typescript@5.7.2)': + '@typescript-eslint/typescript-estree@8.19.1(typescript@5.7.2)': dependencies: - '@typescript-eslint/types': 8.19.0 - '@typescript-eslint/visitor-keys': 8.19.0 + '@typescript-eslint/types': 8.19.1 + '@typescript-eslint/visitor-keys': 8.19.1 debug: 4.4.0(supports-color@5.5.0) - fast-glob: 3.3.2 + fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.4.3(typescript@5.7.2) + ts-api-utils: 2.0.0(typescript@5.7.2) typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.19.0(eslint@9.17.0)(typescript@5.7.2)': + '@typescript-eslint/utils@8.19.1(eslint@9.17.0)(typescript@5.7.2)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0) - '@typescript-eslint/scope-manager': 8.19.0 - '@typescript-eslint/types': 8.19.0 - '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.19.1 + '@typescript-eslint/types': 8.19.1 + '@typescript-eslint/typescript-estree': 8.19.1(typescript@5.7.2) eslint: 9.17.0 typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.19.0': + '@typescript-eslint/visitor-keys@8.19.1': dependencies: - '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/types': 8.19.1 eslint-visitor-keys: 4.2.0 abort-controller@3.0.0: @@ -2351,15 +2358,15 @@ snapshots: ansi-styles@6.2.1: {} - antd@5.22.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + antd@5.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - '@ant-design/colors': 7.1.0 + '@ant-design/colors': 7.2.0 '@ant-design/cssinjs': 1.22.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@ant-design/cssinjs-utils': 1.1.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@ant-design/fast-color': 2.0.6 '@ant-design/icons': 5.5.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@ant-design/react-slick': 1.1.2(react@19.0.0) '@babel/runtime': 7.26.0 - '@ctrl/tinycolor': 3.6.1 '@rc-component/color-picker': 2.0.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@rc-component/mutate-observer': 1.1.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@rc-component/qrcode': 1.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -2368,36 +2375,36 @@ snapshots: classnames: 2.5.1 copy-to-clipboard: 3.3.3 dayjs: 1.11.13 - rc-cascader: 3.30.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - rc-checkbox: 3.3.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-cascader: 3.32.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-checkbox: 3.5.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-collapse: 3.9.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-dialog: 9.6.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-drawer: 7.2.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-dropdown: 4.2.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-field-form: 2.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-image: 7.11.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - rc-input: 1.6.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - rc-input-number: 9.3.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - rc-mentions: 2.17.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-input: 1.7.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-input-number: 9.4.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-mentions: 2.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-menu: 9.16.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-motion: 2.9.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-notification: 5.6.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-pagination: 5.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - rc-picker: 4.8.3(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-picker: 4.9.0(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-progress: 4.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-rate: 2.13.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-resize-observer: 1.4.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - rc-segmented: 2.5.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-segmented: 2.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-select: 14.16.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - rc-slider: 11.1.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-slider: 11.1.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-steps: 6.0.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-switch: 4.1.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - rc-table: 7.49.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - rc-tabs: 15.4.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - rc-textarea: 1.8.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - rc-tooltip: 6.2.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - rc-tree: 5.10.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - rc-tree-select: 5.24.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-table: 7.50.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-tabs: 15.5.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-textarea: 1.9.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-tooltip: 6.3.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-tree: 5.12.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-tree-select: 5.26.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-upload: 4.8.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-util: 5.44.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 @@ -2898,7 +2905,7 @@ snapshots: fast-fifo@1.3.2: {} - fast-glob@3.3.2: + fast-glob@3.3.3: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -3418,17 +3425,17 @@ snapshots: queue-tick@1.0.1: {} - rc-cascader@3.30.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + rc-cascader@3.32.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@babel/runtime': 7.26.0 classnames: 2.5.1 rc-select: 14.16.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - rc-tree: 5.10.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-tree: 5.12.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-util: 5.44.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - rc-checkbox@3.3.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + rc-checkbox@3.5.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@babel/runtime': 7.26.0 classnames: 2.5.1 @@ -3493,17 +3500,17 @@ snapshots: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - rc-input-number@9.3.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + rc-input-number@9.4.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@babel/runtime': 7.26.0 '@rc-component/mini-decimal': 1.1.0 classnames: 2.5.1 - rc-input: 1.6.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-input: 1.7.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-util: 5.44.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - rc-input@1.6.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + rc-input@1.7.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@babel/runtime': 7.26.0 classnames: 2.5.1 @@ -3511,14 +3518,14 @@ snapshots: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - rc-mentions@2.17.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + rc-mentions@2.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@babel/runtime': 7.26.0 '@rc-component/trigger': 2.2.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0) classnames: 2.5.1 - rc-input: 1.6.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-input: 1.7.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-menu: 9.16.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - rc-textarea: 1.8.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-textarea: 1.9.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-util: 5.44.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) @@ -3568,7 +3575,7 @@ snapshots: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - rc-picker@4.8.3(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + rc-picker@4.9.0(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@babel/runtime': 7.26.0 '@rc-component/trigger': 2.2.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -3606,7 +3613,7 @@ snapshots: react-dom: 19.0.0(react@19.0.0) resize-observer-polyfill: 1.5.1 - rc-segmented@2.5.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + rc-segmented@2.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@babel/runtime': 7.26.0 classnames: 2.5.1 @@ -3623,11 +3630,11 @@ snapshots: rc-motion: 2.9.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-overflow: 1.3.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-util: 5.44.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - rc-virtual-list: 3.16.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-virtual-list: 3.17.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - rc-slider@11.1.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + rc-slider@11.1.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@babel/runtime': 7.26.0 classnames: 2.5.1 @@ -3651,18 +3658,18 @@ snapshots: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - rc-table@7.49.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + rc-table@7.50.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@babel/runtime': 7.26.0 '@rc-component/context': 1.4.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) classnames: 2.5.1 rc-resize-observer: 1.4.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-util: 5.44.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - rc-virtual-list: 3.16.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-virtual-list: 3.17.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - rc-tabs@15.4.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + rc-tabs@15.5.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@babel/runtime': 7.26.0 classnames: 2.5.1 @@ -3674,17 +3681,17 @@ snapshots: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - rc-textarea@1.8.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + rc-textarea@1.9.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@babel/runtime': 7.26.0 classnames: 2.5.1 - rc-input: 1.6.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-input: 1.7.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-resize-observer: 1.4.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-util: 5.44.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - rc-tooltip@6.2.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + rc-tooltip@6.3.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@babel/runtime': 7.26.0 '@rc-component/trigger': 2.2.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -3692,23 +3699,23 @@ snapshots: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - rc-tree-select@5.24.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + rc-tree-select@5.26.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@babel/runtime': 7.26.0 classnames: 2.5.1 rc-select: 14.16.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - rc-tree: 5.10.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-tree: 5.12.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-util: 5.44.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - rc-tree@5.10.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + rc-tree@5.12.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@babel/runtime': 7.26.0 classnames: 2.5.1 rc-motion: 2.9.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rc-util: 5.44.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - rc-virtual-list: 3.16.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + rc-virtual-list: 3.17.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) @@ -3734,7 +3741,7 @@ snapshots: react-dom: 19.0.0(react@19.0.0) react-is: 18.3.1 - rc-virtual-list@3.16.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + rc-virtual-list@3.17.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@babel/runtime': 7.26.0 classnames: 2.5.1 @@ -4014,7 +4021,7 @@ snapshots: touch@3.1.1: {} - ts-api-utils@1.4.3(typescript@5.7.2): + ts-api-utils@2.0.0(typescript@5.7.2): dependencies: typescript: 5.7.2 diff --git a/public/manifest.json b/public/manifest.json index f66b335..0dc69d2 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "CTU Extension", - "version": "3.5.1", + "version": "3.5.2", "description": "Tiện ích mở rộng cho sinh viên CTU với các tính năng như sắp thời khóa biểu, bỏ qua captcha khi đăng nhập vào hệ thống quản lý", "content_scripts": [ {