diff --git a/.distignore b/.distignore
index bc86917709..5954edf827 100644
--- a/.distignore
+++ b/.distignore
@@ -22,6 +22,8 @@
 .editorconfig
 .babelrc
 
+
+/tests
 /node_modules
 /packages/form-builder/node_modules
 /assets/src
@@ -74,11 +76,10 @@ webpack.mix.js
 docker-compose.yml
 wp-textdomain.js
 .wp-env.json
-*.test.js
 
 # GH Action files
 DOCKER_ENV
 docker_tag
 output.log
 docker-compose.yml
-wp-textdomain.js
+wp-textdomain.js
\ No newline at end of file
diff --git a/.github/workflows/wordpress.yml b/.github/workflows/wordpress.yml
index ac5f6869bb..1dc59960f6 100644
--- a/.github/workflows/wordpress.yml
+++ b/.github/workflows/wordpress.yml
@@ -16,7 +16,8 @@ on:
 
 # A workflow run is made up of one or more jobs that can run sequentially or in parallel
 jobs:
-    php_tests:
+    # This workflow contains a single job called "test"
+    test:
         # The type of runner that the job will run on
         runs-on: ubuntu-20.04
         strategy:
@@ -104,21 +105,3 @@ jobs:
                 run: php -d memory_limit=-1 vendor/bin/phpunit
                 env:
                     DB_PORT: ${{ env.mysql_port }}
-
-    js_tests:
-        runs-on: ubuntu-20.04
-        steps:
-            -   uses: actions/checkout@v3
-            -   uses: actions/setup-node@v3
-                with:
-                    node-version: '18'
-                    cache: 'npm'
-                    cache-dependency-path: 'package-lock.json'
-
-            -   name: Install npm dependencies
-                run: |
-                    npm install -g npm@8
-                    npm install
-
-            -   name: Run Tests
-                run: npm test
diff --git a/.gitignore b/.gitignore
index 917425094e..6354bcc8ce 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,6 @@
 # Unit tests
 /tmp
 /tests/bin/tmp
-/tests/resources/coverage
 
 # Bin files
 /bin/*
diff --git a/package-lock.json b/package-lock.json
index 9a1bc5f95b..2447e24ede 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -53,10 +53,10 @@
                 "intl-tel-input": "^21.2.4",
                 "joi": "^17.7.0",
                 "jquery": "^3.6.0",
-                "jquery-chosen": "*",
-                "jquery.payment": "*",
+                "jquery-chosen": "latest",
+                "jquery.payment": "latest",
                 "lodash": "^4.17.21",
-                "magnific-popup": "*",
+                "magnific-popup": "latest",
                 "moment": "^2.29.4",
                 "prop-types": "^15.8.1",
                 "react": "^18.2.0",
@@ -86,36 +86,25 @@
                 "react-use-clipboard": "^1.0.9",
                 "styled-components": "^5.2.1",
                 "swr": "^2.0.1",
-                "uiblocker": "*",
+                "uiblocker": "latest",
                 "use-immer": "^0.9.0",
                 "uuid": "^9.0.1",
                 "vhtml": "^2.2.0"
             },
             "devDependencies": {
-                "@testing-library/dom": "^10.4.0",
-                "@testing-library/jest-dom": "^6.4.2",
-                "@testing-library/react": "^14.3.1",
-                "@types/jest": "^29.5.12",
                 "@types/lodash": "^4.14.199",
-                "@types/react": "^18.3.18",
+                "@types/react": "^18.0.38",
                 "@types/react-datepicker": "^4.15.0",
-                "@types/react-dom": "^18.3.5",
-                "@types/testing-library__jest-dom": "^6.0.0",
-                "@types/testing-library__react": "^10.2.0",
+                "@types/react-dom": "^18.0.11",
                 "@types/wordpress__blocks": "^12.5.0",
                 "@types/wordpress__components": "^23.0.1",
-                "@wordpress/babel-preset-default": "^7.38.0",
                 "@wordpress/dependency-extraction-webpack-plugin": "^3.3.2",
                 "@wordpress/env": "^5.10.0",
-                "@wordpress/jest-preset-default": "^11.25.0",
                 "@wordpress/scripts": "^26.9.0",
                 "autoprefixer": "^10.4.13",
                 "axios-mock-adapter": "^1.18.2",
-                "babel-jest": "^29.7.0",
                 "jest": "^29.6.2",
-                "jest-environment-jsdom": "^29.7.0",
                 "jest-puppeteer": "^9.0.0",
-                "jest-watch-typeahead": "^2.2.2",
                 "laravel-mix": "^6.0.34",
                 "prettier": "^2.8.3",
                 "puppeteer": "^21.0.3",
@@ -3088,15 +3077,15 @@
             }
         },
         "node_modules/@jest/environment": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz",
-            "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==",
+            "version": "29.6.2",
+            "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz",
+            "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==",
             "dev": true,
             "dependencies": {
-                "@jest/fake-timers": "^29.7.0",
-                "@jest/types": "^29.6.3",
+                "@jest/fake-timers": "^29.6.2",
+                "@jest/types": "^29.6.1",
                 "@types/node": "*",
-                "jest-mock": "^29.7.0"
+                "jest-mock": "^29.6.2"
             },
             "engines": {
                 "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -3128,17 +3117,17 @@
             }
         },
         "node_modules/@jest/fake-timers": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz",
-            "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==",
+            "version": "29.6.2",
+            "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz",
+            "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==",
             "dev": true,
             "dependencies": {
-                "@jest/types": "^29.6.3",
+                "@jest/types": "^29.6.1",
                 "@sinonjs/fake-timers": "^10.0.2",
                 "@types/node": "*",
-                "jest-message-util": "^29.7.0",
-                "jest-mock": "^29.7.0",
-                "jest-util": "^29.7.0"
+                "jest-message-util": "^29.6.2",
+                "jest-mock": "^29.6.2",
+                "jest-util": "^29.6.2"
             },
             "engines": {
                 "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -3245,26 +3234,6 @@
                 "node": ">=7.0.0"
             }
         },
-        "node_modules/@jest/reporters/node_modules/glob": {
-            "version": "7.2.3",
-            "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-            "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-            "dev": true,
-            "dependencies": {
-                "fs.realpath": "^1.0.0",
-                "inflight": "^1.0.4",
-                "inherits": "2",
-                "minimatch": "^3.1.1",
-                "once": "^1.3.0",
-                "path-is-absolute": "^1.0.0"
-            },
-            "engines": {
-                "node": "*"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/isaacs"
-            }
-        },
         "node_modules/@jest/reporters/node_modules/has-flag": {
             "version": "4.0.0",
             "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -3287,9 +3256,9 @@
             }
         },
         "node_modules/@jest/schemas": {
-            "version": "29.6.3",
-            "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
-            "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
+            "version": "29.6.0",
+            "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz",
+            "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==",
             "dev": true,
             "dependencies": {
                 "@sinclair/typebox": "^0.27.8"
@@ -3343,22 +3312,22 @@
             }
         },
         "node_modules/@jest/transform": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz",
-            "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==",
+            "version": "29.6.2",
+            "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz",
+            "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==",
             "dev": true,
             "dependencies": {
                 "@babel/core": "^7.11.6",
-                "@jest/types": "^29.6.3",
+                "@jest/types": "^29.6.1",
                 "@jridgewell/trace-mapping": "^0.3.18",
                 "babel-plugin-istanbul": "^6.1.1",
                 "chalk": "^4.0.0",
                 "convert-source-map": "^2.0.0",
                 "fast-json-stable-stringify": "^2.1.0",
                 "graceful-fs": "^4.2.9",
-                "jest-haste-map": "^29.7.0",
-                "jest-regex-util": "^29.6.3",
-                "jest-util": "^29.7.0",
+                "jest-haste-map": "^29.6.2",
+                "jest-regex-util": "^29.4.3",
+                "jest-util": "^29.6.2",
                 "micromatch": "^4.0.4",
                 "pirates": "^4.0.4",
                 "slash": "^3.0.0",
@@ -3439,12 +3408,12 @@
             }
         },
         "node_modules/@jest/types": {
-            "version": "29.6.3",
-            "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
-            "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+            "version": "29.6.1",
+            "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz",
+            "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==",
             "dev": true,
             "dependencies": {
-                "@jest/schemas": "^29.6.3",
+                "@jest/schemas": "^29.6.0",
                 "@types/istanbul-lib-coverage": "^2.0.0",
                 "@types/istanbul-reports": "^3.0.0",
                 "@types/node": "*",
@@ -6523,381 +6492,6 @@
             "resolved": "https://registry.npmjs.org/@tannin/postfix/-/postfix-1.1.0.tgz",
             "integrity": "sha512-oocsqY7g0cR+Gur5jRQLSrX2OtpMLMse1I10JQBm8CdGMrDkh1Mg2gjsiquMHRtBs4Qwu5wgEp5GgIYHk4SNPw=="
         },
-        "node_modules/@testing-library/dom": {
-            "version": "10.4.0",
-            "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz",
-            "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==",
-            "dev": true,
-            "dependencies": {
-                "@babel/code-frame": "^7.10.4",
-                "@babel/runtime": "^7.12.5",
-                "@types/aria-query": "^5.0.1",
-                "aria-query": "5.3.0",
-                "chalk": "^4.1.0",
-                "dom-accessibility-api": "^0.5.9",
-                "lz-string": "^1.5.0",
-                "pretty-format": "^27.0.2"
-            },
-            "engines": {
-                "node": ">=18"
-            }
-        },
-        "node_modules/@testing-library/dom/node_modules/ansi-regex": {
-            "version": "5.0.1",
-            "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
-            "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
-            "dev": true,
-            "engines": {
-                "node": ">=8"
-            }
-        },
-        "node_modules/@testing-library/dom/node_modules/ansi-styles": {
-            "version": "4.3.0",
-            "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-            "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-            "dev": true,
-            "dependencies": {
-                "color-convert": "^2.0.1"
-            },
-            "engines": {
-                "node": ">=8"
-            },
-            "funding": {
-                "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-            }
-        },
-        "node_modules/@testing-library/dom/node_modules/chalk": {
-            "version": "4.1.2",
-            "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-            "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-            "dev": true,
-            "dependencies": {
-                "ansi-styles": "^4.1.0",
-                "supports-color": "^7.1.0"
-            },
-            "engines": {
-                "node": ">=10"
-            },
-            "funding": {
-                "url": "https://github.com/chalk/chalk?sponsor=1"
-            }
-        },
-        "node_modules/@testing-library/dom/node_modules/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==",
-            "dev": true,
-            "dependencies": {
-                "color-name": "~1.1.4"
-            },
-            "engines": {
-                "node": ">=7.0.0"
-            }
-        },
-        "node_modules/@testing-library/dom/node_modules/has-flag": {
-            "version": "4.0.0",
-            "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-            "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-            "dev": true,
-            "engines": {
-                "node": ">=8"
-            }
-        },
-        "node_modules/@testing-library/dom/node_modules/pretty-format": {
-            "version": "27.5.1",
-            "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
-            "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
-            "dev": true,
-            "dependencies": {
-                "ansi-regex": "^5.0.1",
-                "ansi-styles": "^5.0.0",
-                "react-is": "^17.0.1"
-            },
-            "engines": {
-                "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-            }
-        },
-        "node_modules/@testing-library/dom/node_modules/pretty-format/node_modules/ansi-styles": {
-            "version": "5.2.0",
-            "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
-            "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
-            "dev": true,
-            "engines": {
-                "node": ">=10"
-            },
-            "funding": {
-                "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-            }
-        },
-        "node_modules/@testing-library/dom/node_modules/supports-color": {
-            "version": "7.2.0",
-            "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-            "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-            "dev": true,
-            "dependencies": {
-                "has-flag": "^4.0.0"
-            },
-            "engines": {
-                "node": ">=8"
-            }
-        },
-        "node_modules/@testing-library/jest-dom": {
-            "version": "6.4.2",
-            "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.2.tgz",
-            "integrity": "sha512-CzqH0AFymEMG48CpzXFriYYkOjk6ZGPCLMhW9e9jg3KMCn5OfJecF8GtGW7yGfR/IgCe3SX8BSwjdzI6BBbZLw==",
-            "dev": true,
-            "dependencies": {
-                "@adobe/css-tools": "^4.3.2",
-                "@babel/runtime": "^7.9.2",
-                "aria-query": "^5.0.0",
-                "chalk": "^3.0.0",
-                "css.escape": "^1.5.1",
-                "dom-accessibility-api": "^0.6.3",
-                "lodash": "^4.17.15",
-                "redent": "^3.0.0"
-            },
-            "engines": {
-                "node": ">=14",
-                "npm": ">=6",
-                "yarn": ">=1"
-            },
-            "peerDependencies": {
-                "@jest/globals": ">= 28",
-                "@types/bun": "latest",
-                "@types/jest": ">= 28",
-                "jest": ">= 28",
-                "vitest": ">= 0.32"
-            },
-            "peerDependenciesMeta": {
-                "@jest/globals": {
-                    "optional": true
-                },
-                "@types/bun": {
-                    "optional": true
-                },
-                "@types/jest": {
-                    "optional": true
-                },
-                "jest": {
-                    "optional": true
-                },
-                "vitest": {
-                    "optional": true
-                }
-            }
-        },
-        "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": {
-            "version": "4.3.0",
-            "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-            "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-            "dev": true,
-            "dependencies": {
-                "color-convert": "^2.0.1"
-            },
-            "engines": {
-                "node": ">=8"
-            },
-            "funding": {
-                "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-            }
-        },
-        "node_modules/@testing-library/jest-dom/node_modules/chalk": {
-            "version": "3.0.0",
-            "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-            "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
-            "dev": true,
-            "dependencies": {
-                "ansi-styles": "^4.1.0",
-                "supports-color": "^7.1.0"
-            },
-            "engines": {
-                "node": ">=8"
-            }
-        },
-        "node_modules/@testing-library/jest-dom/node_modules/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==",
-            "dev": true,
-            "dependencies": {
-                "color-name": "~1.1.4"
-            },
-            "engines": {
-                "node": ">=7.0.0"
-            }
-        },
-        "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": {
-            "version": "0.6.3",
-            "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz",
-            "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==",
-            "dev": true
-        },
-        "node_modules/@testing-library/jest-dom/node_modules/has-flag": {
-            "version": "4.0.0",
-            "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-            "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-            "dev": true,
-            "engines": {
-                "node": ">=8"
-            }
-        },
-        "node_modules/@testing-library/jest-dom/node_modules/supports-color": {
-            "version": "7.2.0",
-            "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-            "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-            "dev": true,
-            "dependencies": {
-                "has-flag": "^4.0.0"
-            },
-            "engines": {
-                "node": ">=8"
-            }
-        },
-        "node_modules/@testing-library/react": {
-            "version": "14.3.1",
-            "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.3.1.tgz",
-            "integrity": "sha512-H99XjUhWQw0lTgyMN05W3xQG1Nh4lq574D8keFf1dDoNTJgp66VbJozRaczoF+wsiaPJNt/TcnfpLGufGxSrZQ==",
-            "dev": true,
-            "dependencies": {
-                "@babel/runtime": "^7.12.5",
-                "@testing-library/dom": "^9.0.0",
-                "@types/react-dom": "^18.0.0"
-            },
-            "engines": {
-                "node": ">=14"
-            },
-            "peerDependencies": {
-                "react": "^18.0.0",
-                "react-dom": "^18.0.0"
-            }
-        },
-        "node_modules/@testing-library/react/node_modules/@testing-library/dom": {
-            "version": "9.3.4",
-            "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.4.tgz",
-            "integrity": "sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==",
-            "dev": true,
-            "dependencies": {
-                "@babel/code-frame": "^7.10.4",
-                "@babel/runtime": "^7.12.5",
-                "@types/aria-query": "^5.0.1",
-                "aria-query": "5.1.3",
-                "chalk": "^4.1.0",
-                "dom-accessibility-api": "^0.5.9",
-                "lz-string": "^1.5.0",
-                "pretty-format": "^27.0.2"
-            },
-            "engines": {
-                "node": ">=14"
-            }
-        },
-        "node_modules/@testing-library/react/node_modules/ansi-regex": {
-            "version": "5.0.1",
-            "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
-            "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
-            "dev": true,
-            "engines": {
-                "node": ">=8"
-            }
-        },
-        "node_modules/@testing-library/react/node_modules/ansi-styles": {
-            "version": "4.3.0",
-            "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-            "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-            "dev": true,
-            "dependencies": {
-                "color-convert": "^2.0.1"
-            },
-            "engines": {
-                "node": ">=8"
-            },
-            "funding": {
-                "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-            }
-        },
-        "node_modules/@testing-library/react/node_modules/aria-query": {
-            "version": "5.1.3",
-            "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz",
-            "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==",
-            "dev": true,
-            "dependencies": {
-                "deep-equal": "^2.0.5"
-            }
-        },
-        "node_modules/@testing-library/react/node_modules/chalk": {
-            "version": "4.1.2",
-            "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-            "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-            "dev": true,
-            "dependencies": {
-                "ansi-styles": "^4.1.0",
-                "supports-color": "^7.1.0"
-            },
-            "engines": {
-                "node": ">=10"
-            },
-            "funding": {
-                "url": "https://github.com/chalk/chalk?sponsor=1"
-            }
-        },
-        "node_modules/@testing-library/react/node_modules/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==",
-            "dev": true,
-            "dependencies": {
-                "color-name": "~1.1.4"
-            },
-            "engines": {
-                "node": ">=7.0.0"
-            }
-        },
-        "node_modules/@testing-library/react/node_modules/has-flag": {
-            "version": "4.0.0",
-            "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-            "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-            "dev": true,
-            "engines": {
-                "node": ">=8"
-            }
-        },
-        "node_modules/@testing-library/react/node_modules/pretty-format": {
-            "version": "27.5.1",
-            "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
-            "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
-            "dev": true,
-            "dependencies": {
-                "ansi-regex": "^5.0.1",
-                "ansi-styles": "^5.0.0",
-                "react-is": "^17.0.1"
-            },
-            "engines": {
-                "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-            }
-        },
-        "node_modules/@testing-library/react/node_modules/pretty-format/node_modules/ansi-styles": {
-            "version": "5.2.0",
-            "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
-            "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
-            "dev": true,
-            "engines": {
-                "node": ">=10"
-            },
-            "funding": {
-                "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-            }
-        },
-        "node_modules/@testing-library/react/node_modules/supports-color": {
-            "version": "7.2.0",
-            "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-            "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-            "dev": true,
-            "dependencies": {
-                "has-flag": "^4.0.0"
-            },
-            "engines": {
-                "node": ">=8"
-            }
-        },
         "node_modules/@tokenizer/token": {
             "version": "0.3.0",
             "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz",
@@ -6928,12 +6522,6 @@
                 "node": ">=10.13.0"
             }
         },
-        "node_modules/@types/aria-query": {
-            "version": "5.0.4",
-            "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz",
-            "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==",
-            "dev": true
-        },
         "node_modules/@types/babel__core": {
             "version": "7.1.18",
             "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.18.tgz",
@@ -7197,16 +6785,6 @@
                 "@types/istanbul-lib-report": "*"
             }
         },
-        "node_modules/@types/jest": {
-            "version": "29.5.12",
-            "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz",
-            "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==",
-            "dev": true,
-            "dependencies": {
-                "expect": "^29.0.0",
-                "pretty-format": "^29.0.0"
-            }
-        },
         "node_modules/@types/jsdom": {
             "version": "20.0.1",
             "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz",
@@ -7218,6 +6796,30 @@
                 "parse5": "^7.0.0"
             }
         },
+        "node_modules/@types/jsdom/node_modules/entities": {
+            "version": "4.5.0",
+            "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+            "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+            "dev": true,
+            "engines": {
+                "node": ">=0.12"
+            },
+            "funding": {
+                "url": "https://github.com/fb55/entities?sponsor=1"
+            }
+        },
+        "node_modules/@types/jsdom/node_modules/parse5": {
+            "version": "7.1.2",
+            "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
+            "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
+            "dev": true,
+            "dependencies": {
+                "entities": "^4.4.0"
+            },
+            "funding": {
+                "url": "https://github.com/inikulin/parse5?sponsor=1"
+            }
+        },
         "node_modules/@types/json-schema": {
             "version": "7.0.15",
             "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
@@ -7336,11 +6938,12 @@
             "dev": true
         },
         "node_modules/@types/react": {
-            "version": "18.3.18",
-            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.18.tgz",
-            "integrity": "sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==",
+            "version": "18.0.38",
+            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.38.tgz",
+            "integrity": "sha512-ExsidLLSzYj4cvaQjGnQCk4HFfVT9+EZ9XZsQ8Hsrcn8QNgXtpZ3m9vSIC2MWtx7jHictK6wYhQgGh6ic58oOw==",
             "dependencies": {
                 "@types/prop-types": "*",
+                "@types/scheduler": "*",
                 "csstype": "^3.0.2"
             }
         },
@@ -7357,11 +6960,11 @@
             }
         },
         "node_modules/@types/react-dom": {
-            "version": "18.3.5",
-            "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.5.tgz",
-            "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==",
-            "peerDependencies": {
-                "@types/react": "^18.0.0"
+            "version": "18.0.11",
+            "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz",
+            "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==",
+            "dependencies": {
+                "@types/react": "*"
             }
         },
         "node_modules/@types/react-redux": {
@@ -7398,6 +7001,11 @@
             "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==",
             "dev": true
         },
+        "node_modules/@types/scheduler": {
+            "version": "0.16.1",
+            "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.1.tgz",
+            "integrity": "sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA=="
+        },
         "node_modules/@types/semver": {
             "version": "7.5.8",
             "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
@@ -7450,26 +7058,6 @@
             "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==",
             "dev": true
         },
-        "node_modules/@types/testing-library__jest-dom": {
-            "version": "6.0.0",
-            "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-6.0.0.tgz",
-            "integrity": "sha512-bnreXCgus6IIadyHNlN/oI5FfX4dWgvGhOPvpr7zzCYDGAPIfvyIoAozMBINmhmsVuqV0cncejF2y5KC7ScqOg==",
-            "deprecated": "This is a stub types definition. @testing-library/jest-dom provides its own type definitions, so you do not need this installed.",
-            "dev": true,
-            "dependencies": {
-                "@testing-library/jest-dom": "*"
-            }
-        },
-        "node_modules/@types/testing-library__react": {
-            "version": "10.2.0",
-            "resolved": "https://registry.npmjs.org/@types/testing-library__react/-/testing-library__react-10.2.0.tgz",
-            "integrity": "sha512-KbU7qVfEwml8G5KFxM+xEfentAAVj/SOQSjW0+HqzjPE0cXpt0IpSamfX4jGYCImznDHgQcfXBPajS7HjLZduw==",
-            "deprecated": "This is a stub types definition. testing-library__react provides its own type definitions, so you do not need this installed.",
-            "dev": true,
-            "dependencies": {
-                "@testing-library/react": "*"
-            }
-        },
         "node_modules/@types/tinycolor2": {
             "version": "1.4.3",
             "resolved": "https://registry.npmjs.org/@types/tinycolor2/-/tinycolor2-1.4.3.tgz",
@@ -11429,6 +11017,28 @@
                 "prettier": ">=3"
             }
         },
+        "node_modules/@wordpress/scripts/node_modules/acorn-globals": {
+            "version": "7.0.1",
+            "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz",
+            "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==",
+            "dev": true,
+            "dependencies": {
+                "acorn": "^8.1.0",
+                "acorn-walk": "^8.0.2"
+            }
+        },
+        "node_modules/@wordpress/scripts/node_modules/agent-base": {
+            "version": "6.0.2",
+            "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+            "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+            "dev": true,
+            "dependencies": {
+                "debug": "4"
+            },
+            "engines": {
+                "node": ">= 6.0.0"
+            }
+        },
         "node_modules/@wordpress/scripts/node_modules/ansi-styles": {
             "version": "4.3.0",
             "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -11672,6 +11282,44 @@
             "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==",
             "dev": true
         },
+        "node_modules/@wordpress/scripts/node_modules/cssom": {
+            "version": "0.5.0",
+            "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz",
+            "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==",
+            "dev": true
+        },
+        "node_modules/@wordpress/scripts/node_modules/cssstyle": {
+            "version": "2.3.0",
+            "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+            "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
+            "dev": true,
+            "dependencies": {
+                "cssom": "~0.3.6"
+            },
+            "engines": {
+                "node": ">=8"
+            }
+        },
+        "node_modules/@wordpress/scripts/node_modules/cssstyle/node_modules/cssom": {
+            "version": "0.3.8",
+            "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+            "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
+            "dev": true
+        },
+        "node_modules/@wordpress/scripts/node_modules/data-urls": {
+            "version": "3.0.2",
+            "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz",
+            "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==",
+            "dev": true,
+            "dependencies": {
+                "abab": "^2.0.6",
+                "whatwg-mimetype": "^3.0.0",
+                "whatwg-url": "^11.0.0"
+            },
+            "engines": {
+                "node": ">=12"
+            }
+        },
         "node_modules/@wordpress/scripts/node_modules/dom-serializer": {
             "version": "2.0.0",
             "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
@@ -11686,6 +11334,18 @@
                 "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
             }
         },
+        "node_modules/@wordpress/scripts/node_modules/domexception": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz",
+            "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==",
+            "dev": true,
+            "dependencies": {
+                "webidl-conversions": "^7.0.0"
+            },
+            "engines": {
+                "node": ">=12"
+            }
+        },
         "node_modules/@wordpress/scripts/node_modules/domhandler": {
             "version": "5.0.3",
             "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
@@ -11763,6 +11423,43 @@
                 "node": ">=8"
             }
         },
+        "node_modules/@wordpress/scripts/node_modules/html-encoding-sniffer": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz",
+            "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==",
+            "dev": true,
+            "dependencies": {
+                "whatwg-encoding": "^2.0.0"
+            },
+            "engines": {
+                "node": ">=12"
+            }
+        },
+        "node_modules/@wordpress/scripts/node_modules/https-proxy-agent": {
+            "version": "5.0.1",
+            "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+            "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+            "dev": true,
+            "dependencies": {
+                "agent-base": "6",
+                "debug": "4"
+            },
+            "engines": {
+                "node": ">= 6"
+            }
+        },
+        "node_modules/@wordpress/scripts/node_modules/iconv-lite": {
+            "version": "0.6.3",
+            "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+            "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+            "dev": true,
+            "dependencies": {
+                "safer-buffer": ">= 2.1.2 < 3.0.0"
+            },
+            "engines": {
+                "node": ">=0.10.0"
+            }
+        },
         "node_modules/@wordpress/scripts/node_modules/interpret": {
             "version": "3.1.1",
             "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
@@ -11772,6 +11469,33 @@
                 "node": ">=10.13.0"
             }
         },
+        "node_modules/@wordpress/scripts/node_modules/jest-environment-jsdom": {
+            "version": "29.6.2",
+            "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.6.2.tgz",
+            "integrity": "sha512-7oa/+266AAEgkzae8i1awNEfTfjwawWKLpiw2XesZmaoVVj9u9t8JOYx18cG29rbPNtkUlZ8V4b5Jb36y/VxoQ==",
+            "dev": true,
+            "dependencies": {
+                "@jest/environment": "^29.6.2",
+                "@jest/fake-timers": "^29.6.2",
+                "@jest/types": "^29.6.1",
+                "@types/jsdom": "^20.0.0",
+                "@types/node": "*",
+                "jest-mock": "^29.6.2",
+                "jest-util": "^29.6.2",
+                "jsdom": "^20.0.0"
+            },
+            "engines": {
+                "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+            },
+            "peerDependencies": {
+                "canvas": "^2.5.0"
+            },
+            "peerDependenciesMeta": {
+                "canvas": {
+                    "optional": true
+                }
+            }
+        },
         "node_modules/@wordpress/scripts/node_modules/js-yaml": {
             "version": "4.1.0",
             "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -11784,6 +11508,51 @@
                 "js-yaml": "bin/js-yaml.js"
             }
         },
+        "node_modules/@wordpress/scripts/node_modules/jsdom": {
+            "version": "20.0.3",
+            "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz",
+            "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==",
+            "dev": true,
+            "dependencies": {
+                "abab": "^2.0.6",
+                "acorn": "^8.8.1",
+                "acorn-globals": "^7.0.0",
+                "cssom": "^0.5.0",
+                "cssstyle": "^2.3.0",
+                "data-urls": "^3.0.2",
+                "decimal.js": "^10.4.2",
+                "domexception": "^4.0.0",
+                "escodegen": "^2.0.0",
+                "form-data": "^4.0.0",
+                "html-encoding-sniffer": "^3.0.0",
+                "http-proxy-agent": "^5.0.0",
+                "https-proxy-agent": "^5.0.1",
+                "is-potential-custom-element-name": "^1.0.1",
+                "nwsapi": "^2.2.2",
+                "parse5": "^7.1.1",
+                "saxes": "^6.0.0",
+                "symbol-tree": "^3.2.4",
+                "tough-cookie": "^4.1.2",
+                "w3c-xmlserializer": "^4.0.0",
+                "webidl-conversions": "^7.0.0",
+                "whatwg-encoding": "^2.0.0",
+                "whatwg-mimetype": "^3.0.0",
+                "whatwg-url": "^11.0.0",
+                "ws": "^8.11.0",
+                "xml-name-validator": "^4.0.0"
+            },
+            "engines": {
+                "node": ">=14"
+            },
+            "peerDependencies": {
+                "canvas": "^2.5.0"
+            },
+            "peerDependenciesMeta": {
+                "canvas": {
+                    "optional": true
+                }
+            }
+        },
         "node_modules/@wordpress/scripts/node_modules/json2php": {
             "version": "0.0.7",
             "resolved": "https://registry.npmjs.org/json2php/-/json2php-0.0.7.tgz",
@@ -11818,6 +11587,18 @@
             "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
             "dev": true
         },
+        "node_modules/@wordpress/scripts/node_modules/parse5": {
+            "version": "7.1.2",
+            "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
+            "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
+            "dev": true,
+            "dependencies": {
+                "entities": "^4.4.0"
+            },
+            "funding": {
+                "url": "https://github.com/inikulin/parse5?sponsor=1"
+            }
+        },
         "node_modules/@wordpress/scripts/node_modules/postcss-calc": {
             "version": "9.0.1",
             "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz",
@@ -12346,6 +12127,33 @@
                 "url": "https://opencollective.com/svgo"
             }
         },
+        "node_modules/@wordpress/scripts/node_modules/tough-cookie": {
+            "version": "4.1.3",
+            "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz",
+            "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
+            "dev": true,
+            "dependencies": {
+                "psl": "^1.1.33",
+                "punycode": "^2.1.1",
+                "universalify": "^0.2.0",
+                "url-parse": "^1.5.3"
+            },
+            "engines": {
+                "node": ">=6"
+            }
+        },
+        "node_modules/@wordpress/scripts/node_modules/tr46": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
+            "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
+            "dev": true,
+            "dependencies": {
+                "punycode": "^2.1.1"
+            },
+            "engines": {
+                "node": ">=12"
+            }
+        },
         "node_modules/@wordpress/scripts/node_modules/type-fest": {
             "version": "0.20.2",
             "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
@@ -12373,6 +12181,15 @@
                 "node": ">=14.17"
             }
         },
+        "node_modules/@wordpress/scripts/node_modules/webidl-conversions": {
+            "version": "7.0.0",
+            "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+            "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+            "dev": true,
+            "engines": {
+                "node": ">=12"
+            }
+        },
         "node_modules/@wordpress/scripts/node_modules/webpack-cli": {
             "version": "5.1.4",
             "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz",
@@ -12477,6 +12294,49 @@
                 "node": ">=10.13.0"
             }
         },
+        "node_modules/@wordpress/scripts/node_modules/whatwg-encoding": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
+            "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==",
+            "dev": true,
+            "dependencies": {
+                "iconv-lite": "0.6.3"
+            },
+            "engines": {
+                "node": ">=12"
+            }
+        },
+        "node_modules/@wordpress/scripts/node_modules/whatwg-mimetype": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz",
+            "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==",
+            "dev": true,
+            "engines": {
+                "node": ">=12"
+            }
+        },
+        "node_modules/@wordpress/scripts/node_modules/whatwg-url": {
+            "version": "11.0.0",
+            "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
+            "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+            "dev": true,
+            "dependencies": {
+                "tr46": "^3.0.0",
+                "webidl-conversions": "^7.0.0"
+            },
+            "engines": {
+                "node": ">=12"
+            }
+        },
+        "node_modules/@wordpress/scripts/node_modules/xml-name-validator": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
+            "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
+            "dev": true,
+            "engines": {
+                "node": ">=12"
+            }
+        },
         "node_modules/@wordpress/scripts/node_modules/yallist": {
             "version": "2.1.2",
             "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
@@ -12938,16 +12798,6 @@
                 "node": ">=0.4.0"
             }
         },
-        "node_modules/acorn-globals": {
-            "version": "7.0.1",
-            "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz",
-            "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==",
-            "dev": true,
-            "dependencies": {
-                "acorn": "^8.1.0",
-                "acorn-walk": "^8.0.2"
-            }
-        },
         "node_modules/acorn-import-assertions": {
             "version": "1.9.0",
             "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
@@ -13645,15 +13495,15 @@
             "dev": true
         },
         "node_modules/babel-jest": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz",
-            "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==",
+            "version": "29.6.2",
+            "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz",
+            "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==",
             "dev": true,
             "dependencies": {
-                "@jest/transform": "^29.7.0",
+                "@jest/transform": "^29.6.2",
                 "@types/babel__core": "^7.1.14",
                 "babel-plugin-istanbul": "^6.1.1",
-                "babel-preset-jest": "^29.6.3",
+                "babel-preset-jest": "^29.5.0",
                 "chalk": "^4.0.0",
                 "graceful-fs": "^4.2.9",
                 "slash": "^3.0.0"
@@ -13765,9 +13615,9 @@
             }
         },
         "node_modules/babel-plugin-jest-hoist": {
-            "version": "29.6.3",
-            "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz",
-            "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==",
+            "version": "29.5.0",
+            "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz",
+            "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==",
             "dev": true,
             "dependencies": {
                 "@babel/template": "^7.3.3",
@@ -13871,12 +13721,12 @@
             }
         },
         "node_modules/babel-preset-jest": {
-            "version": "29.6.3",
-            "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz",
-            "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==",
+            "version": "29.5.0",
+            "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz",
+            "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==",
             "dev": true,
             "dependencies": {
-                "babel-plugin-jest-hoist": "^29.6.3",
+                "babel-plugin-jest-hoist": "^29.5.0",
                 "babel-preset-current-node-syntax": "^1.0.0"
             },
             "engines": {
@@ -14382,33 +14232,6 @@
                 "url": "https://github.com/sponsors/ljharb"
             }
         },
-        "node_modules/call-bind-apply-helpers": {
-            "version": "1.0.1",
-            "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz",
-            "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==",
-            "dependencies": {
-                "es-errors": "^1.3.0",
-                "function-bind": "^1.1.2"
-            },
-            "engines": {
-                "node": ">= 0.4"
-            }
-        },
-        "node_modules/call-bound": {
-            "version": "1.0.3",
-            "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz",
-            "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==",
-            "dependencies": {
-                "call-bind-apply-helpers": "^1.0.1",
-                "get-intrinsic": "^1.2.6"
-            },
-            "engines": {
-                "node": ">= 0.4"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/ljharb"
-            }
-        },
         "node_modules/caller-callsite": {
             "version": "2.0.0",
             "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
@@ -14896,26 +14719,6 @@
                 "node": ">=6"
             }
         },
-        "node_modules/clean-webpack-plugin/node_modules/glob": {
-            "version": "7.2.3",
-            "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-            "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-            "dev": true,
-            "dependencies": {
-                "fs.realpath": "^1.0.0",
-                "inflight": "^1.0.4",
-                "inherits": "2",
-                "minimatch": "^3.1.1",
-                "once": "^1.3.0",
-                "path-is-absolute": "^1.0.0"
-            },
-            "engines": {
-                "node": "*"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/isaacs"
-            }
-        },
         "node_modules/clean-webpack-plugin/node_modules/globby": {
             "version": "6.1.0",
             "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
@@ -16042,12 +15845,6 @@
                 "url": "https://github.com/sponsors/fb55"
             }
         },
-        "node_modules/css.escape": {
-            "version": "1.5.1",
-            "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz",
-            "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==",
-            "dev": true
-        },
         "node_modules/cssesc": {
             "version": "3.0.0",
             "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
@@ -16349,30 +16146,6 @@
                 "node": ">=0.10.0"
             }
         },
-        "node_modules/cssom": {
-            "version": "0.5.0",
-            "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz",
-            "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==",
-            "dev": true
-        },
-        "node_modules/cssstyle": {
-            "version": "2.3.0",
-            "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
-            "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
-            "dev": true,
-            "dependencies": {
-                "cssom": "~0.3.6"
-            },
-            "engines": {
-                "node": ">=8"
-            }
-        },
-        "node_modules/cssstyle/node_modules/cssom": {
-            "version": "0.3.8",
-            "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
-            "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
-            "dev": true
-        },
         "node_modules/csstype": {
             "version": "3.1.2",
             "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
@@ -16406,54 +16179,6 @@
                 "node": ">= 14"
             }
         },
-        "node_modules/data-urls": {
-            "version": "3.0.2",
-            "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz",
-            "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==",
-            "dev": true,
-            "dependencies": {
-                "abab": "^2.0.6",
-                "whatwg-mimetype": "^3.0.0",
-                "whatwg-url": "^11.0.0"
-            },
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/data-urls/node_modules/tr46": {
-            "version": "3.0.0",
-            "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
-            "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
-            "dev": true,
-            "dependencies": {
-                "punycode": "^2.1.1"
-            },
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/data-urls/node_modules/webidl-conversions": {
-            "version": "7.0.0",
-            "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
-            "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
-            "dev": true,
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/data-urls/node_modules/whatwg-url": {
-            "version": "11.0.0",
-            "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
-            "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
-            "dev": true,
-            "dependencies": {
-                "tr46": "^3.0.0",
-                "webidl-conversions": "^7.0.0"
-            },
-            "engines": {
-                "node": ">=12"
-            }
-        },
         "node_modules/data-view-buffer": {
             "version": "1.0.1",
             "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz",
@@ -16619,38 +16344,6 @@
                 }
             }
         },
-        "node_modules/deep-equal": {
-            "version": "2.2.3",
-            "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz",
-            "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==",
-            "dev": true,
-            "dependencies": {
-                "array-buffer-byte-length": "^1.0.0",
-                "call-bind": "^1.0.5",
-                "es-get-iterator": "^1.1.3",
-                "get-intrinsic": "^1.2.2",
-                "is-arguments": "^1.1.1",
-                "is-array-buffer": "^3.0.2",
-                "is-date-object": "^1.0.5",
-                "is-regex": "^1.1.4",
-                "is-shared-array-buffer": "^1.0.2",
-                "isarray": "^2.0.5",
-                "object-is": "^1.1.5",
-                "object-keys": "^1.1.1",
-                "object.assign": "^4.1.4",
-                "regexp.prototype.flags": "^1.5.1",
-                "side-channel": "^1.0.4",
-                "which-boxed-primitive": "^1.0.2",
-                "which-collection": "^1.0.1",
-                "which-typed-array": "^1.1.13"
-            },
-            "engines": {
-                "node": ">= 0.4"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/ljharb"
-            }
-        },
         "node_modules/deep-extend": {
             "version": "0.6.0",
             "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
@@ -16969,12 +16662,6 @@
                 "url": "https://github.com/sponsors/ljharb"
             }
         },
-        "node_modules/dom-accessibility-api": {
-            "version": "0.5.16",
-            "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz",
-            "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==",
-            "dev": true
-        },
         "node_modules/dom-helpers": {
             "version": "5.2.1",
             "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz",
@@ -17023,28 +16710,6 @@
                 }
             ]
         },
-        "node_modules/domexception": {
-            "version": "4.0.0",
-            "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz",
-            "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==",
-            "deprecated": "Use your platform's native DOMException instead",
-            "dev": true,
-            "dependencies": {
-                "webidl-conversions": "^7.0.0"
-            },
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/domexception/node_modules/webidl-conversions": {
-            "version": "7.0.0",
-            "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
-            "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
-            "dev": true,
-            "engines": {
-                "node": ">=12"
-            }
-        },
         "node_modules/domhandler": {
             "version": "4.2.0",
             "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz",
@@ -17123,19 +16788,6 @@
                 "react": ">=16.12.0"
             }
         },
-        "node_modules/dunder-proto": {
-            "version": "1.0.1",
-            "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
-            "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
-            "dependencies": {
-                "call-bind-apply-helpers": "^1.0.1",
-                "es-errors": "^1.3.0",
-                "gopd": "^1.2.0"
-            },
-            "engines": {
-                "node": ">= 0.4"
-            }
-        },
         "node_modules/duplexer": {
             "version": "0.1.2",
             "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
@@ -17405,9 +17057,12 @@
             "dev": true
         },
         "node_modules/es-define-property": {
-            "version": "1.0.1",
-            "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
-            "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
+            "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+            "dependencies": {
+                "get-intrinsic": "^1.2.4"
+            },
             "engines": {
                 "node": ">= 0.4"
             }
@@ -17420,26 +17075,6 @@
                 "node": ">= 0.4"
             }
         },
-        "node_modules/es-get-iterator": {
-            "version": "1.1.3",
-            "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz",
-            "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==",
-            "dev": true,
-            "dependencies": {
-                "call-bind": "^1.0.2",
-                "get-intrinsic": "^1.1.3",
-                "has-symbols": "^1.0.3",
-                "is-arguments": "^1.1.1",
-                "is-map": "^2.0.2",
-                "is-set": "^2.0.2",
-                "is-string": "^1.0.7",
-                "isarray": "^2.0.5",
-                "stop-iteration-iterator": "^1.0.0"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/ljharb"
-            }
-        },
         "node_modules/es-iterator-helpers": {
             "version": "1.0.18",
             "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz",
@@ -19253,7 +18888,7 @@
         "node_modules/fs.realpath": {
             "version": "1.0.0",
             "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
-            "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+            "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
             "dev": true
         },
         "node_modules/fsevents": {
@@ -19320,20 +18955,15 @@
             }
         },
         "node_modules/get-intrinsic": {
-            "version": "1.2.7",
-            "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz",
-            "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==",
+            "version": "1.2.4",
+            "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+            "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
             "dependencies": {
-                "call-bind-apply-helpers": "^1.0.1",
-                "es-define-property": "^1.0.1",
                 "es-errors": "^1.3.0",
-                "es-object-atoms": "^1.0.0",
                 "function-bind": "^1.1.2",
-                "get-proto": "^1.0.0",
-                "gopd": "^1.2.0",
-                "has-symbols": "^1.1.0",
-                "hasown": "^2.0.2",
-                "math-intrinsics": "^1.1.0"
+                "has-proto": "^1.0.1",
+                "has-symbols": "^1.0.3",
+                "hasown": "^2.0.0"
             },
             "engines": {
                 "node": ">= 0.4"
@@ -19371,18 +19001,6 @@
                 "url": "https://github.com/sponsors/sindresorhus"
             }
         },
-        "node_modules/get-proto": {
-            "version": "1.0.1",
-            "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
-            "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
-            "dependencies": {
-                "dunder-proto": "^1.0.1",
-                "es-object-atoms": "^1.0.0"
-            },
-            "engines": {
-                "node": ">= 0.4"
-            }
-        },
         "node_modules/get-stdin": {
             "version": "9.0.0",
             "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz",
@@ -19450,6 +19068,26 @@
                 "safe-buffer": "^5.1.1"
             }
         },
+        "node_modules/glob": {
+            "version": "7.2.0",
+            "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+            "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+            "dev": true,
+            "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"
+            }
+        },
         "node_modules/glob-parent": {
             "version": "5.1.2",
             "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
@@ -19572,11 +19210,11 @@
             }
         },
         "node_modules/gopd": {
-            "version": "1.2.0",
-            "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
-            "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
-            "engines": {
-                "node": ">= 0.4"
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+            "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+            "dependencies": {
+                "get-intrinsic": "^1.1.3"
             },
             "funding": {
                 "url": "https://github.com/sponsors/ljharb"
@@ -19832,9 +19470,9 @@
             }
         },
         "node_modules/has-symbols": {
-            "version": "1.1.0",
-            "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
-            "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+            "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"
             },
@@ -20060,18 +19698,6 @@
             "integrity": "sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==",
             "dev": true
         },
-        "node_modules/html-encoding-sniffer": {
-            "version": "3.0.0",
-            "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz",
-            "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==",
-            "dev": true,
-            "dependencies": {
-                "whatwg-encoding": "^2.0.0"
-            },
-            "engines": {
-                "node": ">=12"
-            }
-        },
         "node_modules/html-entities": {
             "version": "2.3.2",
             "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz",
@@ -20593,7 +20219,7 @@
         "node_modules/inflight": {
             "version": "1.0.6",
             "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
-            "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+            "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
             "dev": true,
             "dependencies": {
                 "once": "^1.3.0",
@@ -20700,13 +20326,13 @@
             }
         },
         "node_modules/internal-slot": {
-            "version": "1.1.0",
-            "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz",
-            "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==",
+            "version": "1.0.7",
+            "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz",
+            "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==",
             "dependencies": {
                 "es-errors": "^1.3.0",
-                "hasown": "^2.0.2",
-                "side-channel": "^1.1.0"
+                "hasown": "^2.0.0",
+                "side-channel": "^1.0.4"
             },
             "engines": {
                 "node": ">= 0.4"
@@ -20800,22 +20426,6 @@
                 "node": ">=0.10.0"
             }
         },
-        "node_modules/is-arguments": {
-            "version": "1.2.0",
-            "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz",
-            "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==",
-            "dev": true,
-            "dependencies": {
-                "call-bound": "^1.0.2",
-                "has-tostringtag": "^1.0.2"
-            },
-            "engines": {
-                "node": ">= 0.4"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/ljharb"
-            }
-        },
         "node_modules/is-array-buffer": {
             "version": "3.0.4",
             "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
@@ -21933,26 +21543,6 @@
                 "node": ">=7.0.0"
             }
         },
-        "node_modules/jest-config/node_modules/glob": {
-            "version": "7.2.3",
-            "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-            "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-            "dev": true,
-            "dependencies": {
-                "fs.realpath": "^1.0.0",
-                "inflight": "^1.0.4",
-                "inherits": "2",
-                "minimatch": "^3.1.1",
-                "once": "^1.3.0",
-                "path-is-absolute": "^1.0.0"
-            },
-            "engines": {
-                "node": "*"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/isaacs"
-            }
-        },
         "node_modules/jest-config/node_modules/has-flag": {
             "version": "4.0.0",
             "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -22239,33 +21829,6 @@
                 "node": ">=8"
             }
         },
-        "node_modules/jest-environment-jsdom": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz",
-            "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==",
-            "dev": true,
-            "dependencies": {
-                "@jest/environment": "^29.7.0",
-                "@jest/fake-timers": "^29.7.0",
-                "@jest/types": "^29.6.3",
-                "@types/jsdom": "^20.0.0",
-                "@types/node": "*",
-                "jest-mock": "^29.7.0",
-                "jest-util": "^29.7.0",
-                "jsdom": "^20.0.0"
-            },
-            "engines": {
-                "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
-            },
-            "peerDependencies": {
-                "canvas": "^2.5.0"
-            },
-            "peerDependenciesMeta": {
-                "canvas": {
-                    "optional": true
-                }
-            }
-        },
         "node_modules/jest-environment-node": {
             "version": "29.6.2",
             "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz",
@@ -22409,20 +21972,20 @@
             }
         },
         "node_modules/jest-haste-map": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz",
-            "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==",
+            "version": "29.6.2",
+            "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz",
+            "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==",
             "dev": true,
             "dependencies": {
-                "@jest/types": "^29.6.3",
+                "@jest/types": "^29.6.1",
                 "@types/graceful-fs": "^4.1.3",
                 "@types/node": "*",
                 "anymatch": "^3.0.3",
                 "fb-watchman": "^2.0.0",
                 "graceful-fs": "^4.2.9",
-                "jest-regex-util": "^29.6.3",
-                "jest-util": "^29.7.0",
-                "jest-worker": "^29.7.0",
+                "jest-regex-util": "^29.4.3",
+                "jest-util": "^29.6.2",
+                "jest-worker": "^29.6.2",
                 "micromatch": "^4.0.4",
                 "walker": "^1.0.8"
             },
@@ -22526,18 +22089,18 @@
             }
         },
         "node_modules/jest-message-util": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz",
-            "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==",
+            "version": "29.6.2",
+            "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz",
+            "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==",
             "dev": true,
             "dependencies": {
                 "@babel/code-frame": "^7.12.13",
-                "@jest/types": "^29.6.3",
+                "@jest/types": "^29.6.1",
                 "@types/stack-utils": "^2.0.0",
                 "chalk": "^4.0.0",
                 "graceful-fs": "^4.2.9",
                 "micromatch": "^4.0.4",
-                "pretty-format": "^29.7.0",
+                "pretty-format": "^29.6.2",
                 "slash": "^3.0.0",
                 "stack-utils": "^2.0.3"
             },
@@ -22610,14 +22173,14 @@
             }
         },
         "node_modules/jest-mock": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz",
-            "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==",
+            "version": "29.6.2",
+            "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz",
+            "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==",
             "dev": true,
             "dependencies": {
-                "@jest/types": "^29.6.3",
+                "@jest/types": "^29.6.1",
                 "@types/node": "*",
-                "jest-util": "^29.7.0"
+                "jest-util": "^29.6.2"
             },
             "engines": {
                 "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -22666,9 +22229,9 @@
             }
         },
         "node_modules/jest-regex-util": {
-            "version": "29.6.3",
-            "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz",
-            "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==",
+            "version": "29.4.3",
+            "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz",
+            "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==",
             "dev": true,
             "engines": {
                 "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -22962,26 +22525,6 @@
                 "node": ">=7.0.0"
             }
         },
-        "node_modules/jest-runtime/node_modules/glob": {
-            "version": "7.2.3",
-            "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-            "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-            "dev": true,
-            "dependencies": {
-                "fs.realpath": "^1.0.0",
-                "inflight": "^1.0.4",
-                "inherits": "2",
-                "minimatch": "^3.1.1",
-                "once": "^1.3.0",
-                "path-is-absolute": "^1.0.0"
-            },
-            "engines": {
-                "node": "*"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/isaacs"
-            }
-        },
         "node_modules/jest-runtime/node_modules/has-flag": {
             "version": "4.0.0",
             "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -23123,12 +22666,12 @@
             }
         },
         "node_modules/jest-util": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
-            "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
+            "version": "29.6.2",
+            "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz",
+            "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==",
             "dev": true,
             "dependencies": {
-                "@jest/types": "^29.6.3",
+                "@jest/types": "^29.6.1",
                 "@types/node": "*",
                 "chalk": "^4.0.0",
                 "ci-info": "^3.2.0",
@@ -23296,130 +22839,6 @@
                 "node": ">=8"
             }
         },
-        "node_modules/jest-watch-typeahead": {
-            "version": "2.2.2",
-            "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-2.2.2.tgz",
-            "integrity": "sha512-+QgOFW4o5Xlgd6jGS5X37i08tuuXNW8X0CV9WNFi+3n8ExCIP+E1melYhvYLjv5fE6D0yyzk74vsSO8I6GqtvQ==",
-            "dev": true,
-            "dependencies": {
-                "ansi-escapes": "^6.0.0",
-                "chalk": "^5.2.0",
-                "jest-regex-util": "^29.0.0",
-                "jest-watcher": "^29.0.0",
-                "slash": "^5.0.0",
-                "string-length": "^5.0.1",
-                "strip-ansi": "^7.0.1"
-            },
-            "engines": {
-                "node": "^14.17.0 || ^16.10.0 || >=18.0.0"
-            },
-            "peerDependencies": {
-                "jest": "^27.0.0 || ^28.0.0 || ^29.0.0"
-            }
-        },
-        "node_modules/jest-watch-typeahead/node_modules/ansi-escapes": {
-            "version": "6.2.0",
-            "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz",
-            "integrity": "sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==",
-            "dev": true,
-            "dependencies": {
-                "type-fest": "^3.0.0"
-            },
-            "engines": {
-                "node": ">=14.16"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/sindresorhus"
-            }
-        },
-        "node_modules/jest-watch-typeahead/node_modules/ansi-regex": {
-            "version": "6.0.1",
-            "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
-            "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
-            "dev": true,
-            "engines": {
-                "node": ">=12"
-            },
-            "funding": {
-                "url": "https://github.com/chalk/ansi-regex?sponsor=1"
-            }
-        },
-        "node_modules/jest-watch-typeahead/node_modules/chalk": {
-            "version": "5.3.0",
-            "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
-            "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
-            "dev": true,
-            "engines": {
-                "node": "^12.17.0 || ^14.13 || >=16.0.0"
-            },
-            "funding": {
-                "url": "https://github.com/chalk/chalk?sponsor=1"
-            }
-        },
-        "node_modules/jest-watch-typeahead/node_modules/char-regex": {
-            "version": "2.0.1",
-            "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz",
-            "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==",
-            "dev": true,
-            "engines": {
-                "node": ">=12.20"
-            }
-        },
-        "node_modules/jest-watch-typeahead/node_modules/slash": {
-            "version": "5.1.0",
-            "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
-            "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
-            "dev": true,
-            "engines": {
-                "node": ">=14.16"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/sindresorhus"
-            }
-        },
-        "node_modules/jest-watch-typeahead/node_modules/string-length": {
-            "version": "5.0.1",
-            "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz",
-            "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==",
-            "dev": true,
-            "dependencies": {
-                "char-regex": "^2.0.0",
-                "strip-ansi": "^7.0.1"
-            },
-            "engines": {
-                "node": ">=12.20"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/sindresorhus"
-            }
-        },
-        "node_modules/jest-watch-typeahead/node_modules/strip-ansi": {
-            "version": "7.1.0",
-            "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
-            "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
-            "dev": true,
-            "dependencies": {
-                "ansi-regex": "^6.0.1"
-            },
-            "engines": {
-                "node": ">=12"
-            },
-            "funding": {
-                "url": "https://github.com/chalk/strip-ansi?sponsor=1"
-            }
-        },
-        "node_modules/jest-watch-typeahead/node_modules/type-fest": {
-            "version": "3.13.1",
-            "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz",
-            "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==",
-            "dev": true,
-            "engines": {
-                "node": ">=14.16"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/sindresorhus"
-            }
-        },
         "node_modules/jest-watcher": {
             "version": "29.6.2",
             "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz",
@@ -23504,13 +22923,13 @@
             }
         },
         "node_modules/jest-worker": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz",
-            "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==",
+            "version": "29.6.2",
+            "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz",
+            "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==",
             "dev": true,
             "dependencies": {
                 "@types/node": "*",
-                "jest-util": "^29.7.0",
+                "jest-util": "^29.6.2",
                 "merge-stream": "^2.0.0",
                 "supports-color": "^8.0.0"
             },
@@ -23628,110 +23047,6 @@
                 "node": ">=12.0.0"
             }
         },
-        "node_modules/jsdom": {
-            "version": "20.0.3",
-            "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz",
-            "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==",
-            "dev": true,
-            "dependencies": {
-                "abab": "^2.0.6",
-                "acorn": "^8.8.1",
-                "acorn-globals": "^7.0.0",
-                "cssom": "^0.5.0",
-                "cssstyle": "^2.3.0",
-                "data-urls": "^3.0.2",
-                "decimal.js": "^10.4.2",
-                "domexception": "^4.0.0",
-                "escodegen": "^2.0.0",
-                "form-data": "^4.0.0",
-                "html-encoding-sniffer": "^3.0.0",
-                "http-proxy-agent": "^5.0.0",
-                "https-proxy-agent": "^5.0.1",
-                "is-potential-custom-element-name": "^1.0.1",
-                "nwsapi": "^2.2.2",
-                "parse5": "^7.1.1",
-                "saxes": "^6.0.0",
-                "symbol-tree": "^3.2.4",
-                "tough-cookie": "^4.1.2",
-                "w3c-xmlserializer": "^4.0.0",
-                "webidl-conversions": "^7.0.0",
-                "whatwg-encoding": "^2.0.0",
-                "whatwg-mimetype": "^3.0.0",
-                "whatwg-url": "^11.0.0",
-                "ws": "^8.11.0",
-                "xml-name-validator": "^4.0.0"
-            },
-            "engines": {
-                "node": ">=14"
-            },
-            "peerDependencies": {
-                "canvas": "^2.5.0"
-            },
-            "peerDependenciesMeta": {
-                "canvas": {
-                    "optional": true
-                }
-            }
-        },
-        "node_modules/jsdom/node_modules/agent-base": {
-            "version": "6.0.2",
-            "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
-            "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
-            "dev": true,
-            "dependencies": {
-                "debug": "4"
-            },
-            "engines": {
-                "node": ">= 6.0.0"
-            }
-        },
-        "node_modules/jsdom/node_modules/https-proxy-agent": {
-            "version": "5.0.1",
-            "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
-            "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
-            "dev": true,
-            "dependencies": {
-                "agent-base": "6",
-                "debug": "4"
-            },
-            "engines": {
-                "node": ">= 6"
-            }
-        },
-        "node_modules/jsdom/node_modules/tr46": {
-            "version": "3.0.0",
-            "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
-            "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
-            "dev": true,
-            "dependencies": {
-                "punycode": "^2.1.1"
-            },
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/jsdom/node_modules/webidl-conversions": {
-            "version": "7.0.0",
-            "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
-            "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
-            "dev": true,
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/jsdom/node_modules/whatwg-url": {
-            "version": "11.0.0",
-            "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
-            "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
-            "dev": true,
-            "dependencies": {
-                "tr46": "^3.0.0",
-                "webidl-conversions": "^7.0.0"
-            },
-            "engines": {
-                "node": ">=12"
-            }
-        },
         "node_modules/jsesc": {
             "version": "2.5.2",
             "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
@@ -24276,26 +23591,6 @@
                 "node": ">=12"
             }
         },
-        "node_modules/laravel-mix/node_modules/glob": {
-            "version": "7.2.3",
-            "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-            "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-            "dev": true,
-            "dependencies": {
-                "fs.realpath": "^1.0.0",
-                "inflight": "^1.0.4",
-                "inherits": "2",
-                "minimatch": "^3.1.1",
-                "once": "^1.3.0",
-                "path-is-absolute": "^1.0.0"
-            },
-            "engines": {
-                "node": "*"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/isaacs"
-            }
-        },
         "node_modules/laravel-mix/node_modules/globby": {
             "version": "10.0.2",
             "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz",
@@ -25779,15 +25074,6 @@
                 "node": ">=10"
             }
         },
-        "node_modules/lz-string": {
-            "version": "1.5.0",
-            "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz",
-            "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==",
-            "dev": true,
-            "bin": {
-                "lz-string": "bin/bin.js"
-            }
-        },
         "node_modules/magnific-popup": {
             "version": "1.1.0",
             "resolved": "https://registry.npmjs.org/magnific-popup/-/magnific-popup-1.1.0.tgz",
@@ -25920,38 +25206,6 @@
                 "node": "^12.20.0 || >=14"
             }
         },
-        "node_modules/markdownlint-cli/node_modules/glob": {
-            "version": "7.2.3",
-            "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-            "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-            "dev": true,
-            "dependencies": {
-                "fs.realpath": "^1.0.0",
-                "inflight": "^1.0.4",
-                "inherits": "2",
-                "minimatch": "^3.1.1",
-                "once": "^1.3.0",
-                "path-is-absolute": "^1.0.0"
-            },
-            "engines": {
-                "node": "*"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/isaacs"
-            }
-        },
-        "node_modules/markdownlint-cli/node_modules/glob/node_modules/minimatch": {
-            "version": "3.1.2",
-            "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-            "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
-            "dev": true,
-            "dependencies": {
-                "brace-expansion": "^1.1.7"
-            },
-            "engines": {
-                "node": "*"
-            }
-        },
         "node_modules/markdownlint-cli/node_modules/js-yaml": {
             "version": "4.1.0",
             "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -26004,34 +25258,6 @@
                 "url": "https://github.com/sponsors/jonschlinkert"
             }
         },
-        "node_modules/matched/node_modules/glob": {
-            "version": "7.2.3",
-            "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-            "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-            "dev": true,
-            "dependencies": {
-                "fs.realpath": "^1.0.0",
-                "inflight": "^1.0.4",
-                "inherits": "2",
-                "minimatch": "^3.1.1",
-                "once": "^1.3.0",
-                "path-is-absolute": "^1.0.0"
-            },
-            "engines": {
-                "node": "*"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/isaacs"
-            }
-        },
-        "node_modules/math-intrinsics": {
-            "version": "1.1.0",
-            "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
-            "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
-            "engines": {
-                "node": ">= 0.4"
-            }
-        },
         "node_modules/mathml-tag-names": {
             "version": "2.1.3",
             "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz",
@@ -27028,26 +26254,6 @@
                 "node": ">=10"
             }
         },
-        "node_modules/npm-packlist/node_modules/glob": {
-            "version": "7.2.3",
-            "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-            "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-            "dev": true,
-            "dependencies": {
-                "fs.realpath": "^1.0.0",
-                "inflight": "^1.0.4",
-                "inherits": "2",
-                "minimatch": "^3.1.1",
-                "once": "^1.3.0",
-                "path-is-absolute": "^1.0.0"
-            },
-            "engines": {
-                "node": "*"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/isaacs"
-            }
-        },
         "node_modules/npm-run-path": {
             "version": "4.0.1",
             "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
@@ -27072,9 +26278,9 @@
             }
         },
         "node_modules/nwsapi": {
-            "version": "2.2.10",
-            "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.10.tgz",
-            "integrity": "sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==",
+            "version": "2.2.7",
+            "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz",
+            "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==",
             "dev": true
         },
         "node_modules/object-assign": {
@@ -27092,12 +26298,9 @@
             "dev": true
         },
         "node_modules/object-inspect": {
-            "version": "1.13.3",
-            "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz",
-            "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==",
-            "engines": {
-                "node": ">= 0.4"
-            },
+            "version": "1.13.1",
+            "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
+            "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
             "funding": {
                 "url": "https://github.com/sponsors/ljharb"
             }
@@ -27769,30 +26972,6 @@
                 "node": ">=0.10.0"
             }
         },
-        "node_modules/parse5": {
-            "version": "7.1.2",
-            "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
-            "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
-            "dev": true,
-            "dependencies": {
-                "entities": "^4.4.0"
-            },
-            "funding": {
-                "url": "https://github.com/inikulin/parse5?sponsor=1"
-            }
-        },
-        "node_modules/parse5/node_modules/entities": {
-            "version": "4.5.0",
-            "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
-            "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
-            "dev": true,
-            "engines": {
-                "node": ">=0.12"
-            },
-            "funding": {
-                "url": "https://github.com/fb55/entities?sponsor=1"
-            }
-        },
         "node_modules/parseurl": {
             "version": "1.3.3",
             "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -27837,7 +27016,7 @@
         "node_modules/path-is-absolute": {
             "version": "1.0.1",
             "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
-            "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+            "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
             "dev": true,
             "engines": {
                 "node": ">=0.10.0"
@@ -29710,12 +28889,12 @@
             }
         },
         "node_modules/pretty-format": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
-            "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
+            "version": "29.6.2",
+            "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz",
+            "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==",
             "dev": true,
             "dependencies": {
-                "@jest/schemas": "^29.6.3",
+                "@jest/schemas": "^29.6.0",
                 "ansi-styles": "^5.0.0",
                 "react-is": "^18.0.0"
             },
@@ -29917,9 +29096,9 @@
             "dev": true
         },
         "node_modules/psl": {
-            "version": "1.9.0",
-            "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
-            "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
+            "version": "1.8.0",
+            "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
+            "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
             "dev": true
         },
         "node_modules/public-encrypt": {
@@ -31888,26 +31067,6 @@
                 "url": "https://github.com/sponsors/isaacs"
             }
         },
-        "node_modules/rimraf/node_modules/glob": {
-            "version": "7.2.3",
-            "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-            "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-            "dev": true,
-            "dependencies": {
-                "fs.realpath": "^1.0.0",
-                "inflight": "^1.0.4",
-                "inherits": "2",
-                "minimatch": "^3.1.1",
-                "once": "^1.3.0",
-                "path-is-absolute": "^1.0.0"
-            },
-            "engines": {
-                "node": "*"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/isaacs"
-            }
-        },
         "node_modules/ripemd160": {
             "version": "2.0.2",
             "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
@@ -32576,65 +31735,14 @@
             }
         },
         "node_modules/side-channel": {
-            "version": "1.1.0",
-            "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
-            "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
-            "dependencies": {
-                "es-errors": "^1.3.0",
-                "object-inspect": "^1.13.3",
-                "side-channel-list": "^1.0.0",
-                "side-channel-map": "^1.0.1",
-                "side-channel-weakmap": "^1.0.2"
-            },
-            "engines": {
-                "node": ">= 0.4"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/ljharb"
-            }
-        },
-        "node_modules/side-channel-list": {
-            "version": "1.0.0",
-            "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
-            "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
-            "dependencies": {
-                "es-errors": "^1.3.0",
-                "object-inspect": "^1.13.3"
-            },
-            "engines": {
-                "node": ">= 0.4"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/ljharb"
-            }
-        },
-        "node_modules/side-channel-map": {
-            "version": "1.0.1",
-            "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
-            "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
-            "dependencies": {
-                "call-bound": "^1.0.2",
-                "es-errors": "^1.3.0",
-                "get-intrinsic": "^1.2.5",
-                "object-inspect": "^1.13.3"
-            },
-            "engines": {
-                "node": ">= 0.4"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/ljharb"
-            }
-        },
-        "node_modules/side-channel-weakmap": {
-            "version": "1.0.2",
-            "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
-            "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
+            "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==",
             "dependencies": {
-                "call-bound": "^1.0.2",
+                "call-bind": "^1.0.7",
                 "es-errors": "^1.3.0",
-                "get-intrinsic": "^1.2.5",
-                "object-inspect": "^1.13.3",
-                "side-channel-map": "^1.0.1"
+                "get-intrinsic": "^1.2.4",
+                "object-inspect": "^1.13.1"
             },
             "engines": {
                 "node": ">= 0.4"
@@ -33076,19 +32184,6 @@
                 "ci-info": "^3.1.1"
             }
         },
-        "node_modules/stop-iteration-iterator": {
-            "version": "1.1.0",
-            "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz",
-            "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==",
-            "dev": true,
-            "dependencies": {
-                "es-errors": "^1.3.0",
-                "internal-slot": "^1.1.0"
-            },
-            "engines": {
-                "node": ">= 0.4"
-            }
-        },
         "node_modules/stream-browserify": {
             "version": "2.0.2",
             "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
@@ -33544,26 +32639,6 @@
                 "url": "https://opencollective.com/stylus"
             }
         },
-        "node_modules/stylus/node_modules/glob": {
-            "version": "7.2.3",
-            "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-            "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-            "dev": true,
-            "dependencies": {
-                "fs.realpath": "^1.0.0",
-                "inflight": "^1.0.4",
-                "inherits": "2",
-                "minimatch": "^3.1.1",
-                "once": "^1.3.0",
-                "path-is-absolute": "^1.0.0"
-            },
-            "engines": {
-                "node": "*"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/isaacs"
-            }
-        },
         "node_modules/stylus/node_modules/source-map": {
             "version": "0.7.4",
             "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
@@ -34035,26 +33110,6 @@
                 "node": ">=8"
             }
         },
-        "node_modules/test-exclude/node_modules/glob": {
-            "version": "7.2.3",
-            "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-            "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-            "dev": true,
-            "dependencies": {
-                "fs.realpath": "^1.0.0",
-                "inflight": "^1.0.4",
-                "inherits": "2",
-                "minimatch": "^3.1.1",
-                "once": "^1.3.0",
-                "path-is-absolute": "^1.0.0"
-            },
-            "engines": {
-                "node": "*"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/isaacs"
-            }
-        },
         "node_modules/text-table": {
             "version": "0.2.0",
             "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -34185,21 +33240,6 @@
                 "node": ">=6"
             }
         },
-        "node_modules/tough-cookie": {
-            "version": "4.1.3",
-            "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz",
-            "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
-            "dev": true,
-            "dependencies": {
-                "psl": "^1.1.33",
-                "punycode": "^2.1.1",
-                "universalify": "^0.2.0",
-                "url-parse": "^1.5.3"
-            },
-            "engines": {
-                "node": ">=6"
-            }
-        },
         "node_modules/tr46": {
             "version": "0.0.3",
             "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
@@ -35120,6 +34160,15 @@
                 "node": ">=14"
             }
         },
+        "node_modules/w3c-xmlserializer/node_modules/xml-name-validator": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
+            "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
+            "dev": true,
+            "engines": {
+                "node": ">=12"
+            }
+        },
         "node_modules/wait-on": {
             "version": "7.2.0",
             "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz",
@@ -35904,39 +34953,6 @@
                 "node": ">=0.8.0"
             }
         },
-        "node_modules/whatwg-encoding": {
-            "version": "2.0.0",
-            "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
-            "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==",
-            "dev": true,
-            "dependencies": {
-                "iconv-lite": "0.6.3"
-            },
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/whatwg-encoding/node_modules/iconv-lite": {
-            "version": "0.6.3",
-            "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
-            "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
-            "dev": true,
-            "dependencies": {
-                "safer-buffer": ">= 2.1.2 < 3.0.0"
-            },
-            "engines": {
-                "node": ">=0.10.0"
-            }
-        },
-        "node_modules/whatwg-mimetype": {
-            "version": "3.0.0",
-            "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz",
-            "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==",
-            "dev": true,
-            "engines": {
-                "node": ">=12"
-            }
-        },
         "node_modules/whatwg-url": {
             "version": "5.0.0",
             "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
@@ -36081,26 +35097,6 @@
                 "text-table": "^0.2.0"
             }
         },
-        "node_modules/wp-textdomain/node_modules/glob": {
-            "version": "7.2.3",
-            "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-            "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-            "dev": true,
-            "dependencies": {
-                "fs.realpath": "^1.0.0",
-                "inflight": "^1.0.4",
-                "inherits": "2",
-                "minimatch": "^3.1.1",
-                "once": "^1.3.0",
-                "path-is-absolute": "^1.0.0"
-            },
-            "engines": {
-                "node": "*"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/isaacs"
-            }
-        },
         "node_modules/wp-textdomain/node_modules/php-parser": {
             "version": "3.0.3",
             "resolved": "https://registry.npmjs.org/php-parser/-/php-parser-3.0.3.tgz",
@@ -36200,15 +35196,6 @@
                 "node": ">=8"
             }
         },
-        "node_modules/xml-name-validator": {
-            "version": "4.0.0",
-            "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
-            "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
-            "dev": true,
-            "engines": {
-                "node": ">=12"
-            }
-        },
         "node_modules/xmlchars": {
             "version": "2.2.0",
             "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
@@ -38469,15 +37456,15 @@
             }
         },
         "@jest/environment": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz",
-            "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==",
+            "version": "29.6.2",
+            "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.2.tgz",
+            "integrity": "sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==",
             "dev": true,
             "requires": {
-                "@jest/fake-timers": "^29.7.0",
-                "@jest/types": "^29.6.3",
+                "@jest/fake-timers": "^29.6.2",
+                "@jest/types": "^29.6.1",
                 "@types/node": "*",
-                "jest-mock": "^29.7.0"
+                "jest-mock": "^29.6.2"
             }
         },
         "@jest/expect": {
@@ -38500,17 +37487,17 @@
             }
         },
         "@jest/fake-timers": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz",
-            "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==",
+            "version": "29.6.2",
+            "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.2.tgz",
+            "integrity": "sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==",
             "dev": true,
             "requires": {
-                "@jest/types": "^29.6.3",
+                "@jest/types": "^29.6.1",
                 "@sinonjs/fake-timers": "^10.0.2",
                 "@types/node": "*",
-                "jest-message-util": "^29.7.0",
-                "jest-mock": "^29.7.0",
-                "jest-util": "^29.7.0"
+                "jest-message-util": "^29.6.2",
+                "jest-mock": "^29.6.2",
+                "jest-util": "^29.6.2"
             }
         },
         "@jest/globals": {
@@ -38585,20 +37572,6 @@
                         "color-name": "~1.1.4"
                     }
                 },
-                "glob": {
-                    "version": "7.2.3",
-                    "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-                    "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-                    "dev": true,
-                    "requires": {
-                        "fs.realpath": "^1.0.0",
-                        "inflight": "^1.0.4",
-                        "inherits": "2",
-                        "minimatch": "^3.1.1",
-                        "once": "^1.3.0",
-                        "path-is-absolute": "^1.0.0"
-                    }
-                },
                 "has-flag": {
                     "version": "4.0.0",
                     "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -38617,9 +37590,9 @@
             }
         },
         "@jest/schemas": {
-            "version": "29.6.3",
-            "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
-            "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
+            "version": "29.6.0",
+            "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz",
+            "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==",
             "dev": true,
             "requires": {
                 "@sinclair/typebox": "^0.27.8"
@@ -38661,22 +37634,22 @@
             }
         },
         "@jest/transform": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz",
-            "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==",
+            "version": "29.6.2",
+            "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.2.tgz",
+            "integrity": "sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==",
             "dev": true,
             "requires": {
                 "@babel/core": "^7.11.6",
-                "@jest/types": "^29.6.3",
+                "@jest/types": "^29.6.1",
                 "@jridgewell/trace-mapping": "^0.3.18",
                 "babel-plugin-istanbul": "^6.1.1",
                 "chalk": "^4.0.0",
                 "convert-source-map": "^2.0.0",
                 "fast-json-stable-stringify": "^2.1.0",
                 "graceful-fs": "^4.2.9",
-                "jest-haste-map": "^29.7.0",
-                "jest-regex-util": "^29.6.3",
-                "jest-util": "^29.7.0",
+                "jest-haste-map": "^29.6.2",
+                "jest-regex-util": "^29.4.3",
+                "jest-util": "^29.6.2",
                 "micromatch": "^4.0.4",
                 "pirates": "^4.0.4",
                 "slash": "^3.0.0",
@@ -38735,12 +37708,12 @@
             }
         },
         "@jest/types": {
-            "version": "29.6.3",
-            "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
-            "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+            "version": "29.6.1",
+            "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz",
+            "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==",
             "dev": true,
             "requires": {
-                "@jest/schemas": "^29.6.3",
+                "@jest/schemas": "^29.6.0",
                 "@types/istanbul-lib-coverage": "^2.0.0",
                 "@types/istanbul-reports": "^3.0.0",
                 "@types/node": "*",
@@ -41090,265 +40063,6 @@
             "resolved": "https://registry.npmjs.org/@tannin/postfix/-/postfix-1.1.0.tgz",
             "integrity": "sha512-oocsqY7g0cR+Gur5jRQLSrX2OtpMLMse1I10JQBm8CdGMrDkh1Mg2gjsiquMHRtBs4Qwu5wgEp5GgIYHk4SNPw=="
         },
-        "@testing-library/dom": {
-            "version": "10.4.0",
-            "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz",
-            "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==",
-            "dev": true,
-            "requires": {
-                "@babel/code-frame": "^7.10.4",
-                "@babel/runtime": "^7.12.5",
-                "@types/aria-query": "^5.0.1",
-                "aria-query": "5.3.0",
-                "chalk": "^4.1.0",
-                "dom-accessibility-api": "^0.5.9",
-                "lz-string": "^1.5.0",
-                "pretty-format": "^27.0.2"
-            },
-            "dependencies": {
-                "ansi-regex": {
-                    "version": "5.0.1",
-                    "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
-                    "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
-                    "dev": true
-                },
-                "ansi-styles": {
-                    "version": "4.3.0",
-                    "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-                    "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-                    "dev": true,
-                    "requires": {
-                        "color-convert": "^2.0.1"
-                    }
-                },
-                "chalk": {
-                    "version": "4.1.2",
-                    "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-                    "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-                    "dev": true,
-                    "requires": {
-                        "ansi-styles": "^4.1.0",
-                        "supports-color": "^7.1.0"
-                    }
-                },
-                "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==",
-                    "dev": true,
-                    "requires": {
-                        "color-name": "~1.1.4"
-                    }
-                },
-                "has-flag": {
-                    "version": "4.0.0",
-                    "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-                    "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-                    "dev": true
-                },
-                "pretty-format": {
-                    "version": "27.5.1",
-                    "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
-                    "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
-                    "dev": true,
-                    "requires": {
-                        "ansi-regex": "^5.0.1",
-                        "ansi-styles": "^5.0.0",
-                        "react-is": "^17.0.1"
-                    },
-                    "dependencies": {
-                        "ansi-styles": {
-                            "version": "5.2.0",
-                            "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
-                            "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
-                            "dev": true
-                        }
-                    }
-                },
-                "supports-color": {
-                    "version": "7.2.0",
-                    "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-                    "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-                    "dev": true,
-                    "requires": {
-                        "has-flag": "^4.0.0"
-                    }
-                }
-            }
-        },
-        "@testing-library/jest-dom": {
-            "version": "6.4.2",
-            "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.2.tgz",
-            "integrity": "sha512-CzqH0AFymEMG48CpzXFriYYkOjk6ZGPCLMhW9e9jg3KMCn5OfJecF8GtGW7yGfR/IgCe3SX8BSwjdzI6BBbZLw==",
-            "dev": true,
-            "requires": {
-                "@adobe/css-tools": "^4.3.2",
-                "@babel/runtime": "^7.9.2",
-                "aria-query": "^5.0.0",
-                "chalk": "^3.0.0",
-                "css.escape": "^1.5.1",
-                "dom-accessibility-api": "^0.6.3",
-                "lodash": "^4.17.15",
-                "redent": "^3.0.0"
-            },
-            "dependencies": {
-                "ansi-styles": {
-                    "version": "4.3.0",
-                    "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-                    "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-                    "dev": true,
-                    "requires": {
-                        "color-convert": "^2.0.1"
-                    }
-                },
-                "chalk": {
-                    "version": "3.0.0",
-                    "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-                    "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
-                    "dev": true,
-                    "requires": {
-                        "ansi-styles": "^4.1.0",
-                        "supports-color": "^7.1.0"
-                    }
-                },
-                "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==",
-                    "dev": true,
-                    "requires": {
-                        "color-name": "~1.1.4"
-                    }
-                },
-                "dom-accessibility-api": {
-                    "version": "0.6.3",
-                    "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz",
-                    "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==",
-                    "dev": true
-                },
-                "has-flag": {
-                    "version": "4.0.0",
-                    "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-                    "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-                    "dev": true
-                },
-                "supports-color": {
-                    "version": "7.2.0",
-                    "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-                    "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-                    "dev": true,
-                    "requires": {
-                        "has-flag": "^4.0.0"
-                    }
-                }
-            }
-        },
-        "@testing-library/react": {
-            "version": "14.3.1",
-            "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.3.1.tgz",
-            "integrity": "sha512-H99XjUhWQw0lTgyMN05W3xQG1Nh4lq574D8keFf1dDoNTJgp66VbJozRaczoF+wsiaPJNt/TcnfpLGufGxSrZQ==",
-            "dev": true,
-            "requires": {
-                "@babel/runtime": "^7.12.5",
-                "@testing-library/dom": "^9.0.0",
-                "@types/react-dom": "^18.0.0"
-            },
-            "dependencies": {
-                "@testing-library/dom": {
-                    "version": "9.3.4",
-                    "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.4.tgz",
-                    "integrity": "sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==",
-                    "dev": true,
-                    "requires": {
-                        "@babel/code-frame": "^7.10.4",
-                        "@babel/runtime": "^7.12.5",
-                        "@types/aria-query": "^5.0.1",
-                        "aria-query": "5.1.3",
-                        "chalk": "^4.1.0",
-                        "dom-accessibility-api": "^0.5.9",
-                        "lz-string": "^1.5.0",
-                        "pretty-format": "^27.0.2"
-                    }
-                },
-                "ansi-regex": {
-                    "version": "5.0.1",
-                    "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
-                    "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
-                    "dev": true
-                },
-                "ansi-styles": {
-                    "version": "4.3.0",
-                    "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-                    "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-                    "dev": true,
-                    "requires": {
-                        "color-convert": "^2.0.1"
-                    }
-                },
-                "aria-query": {
-                    "version": "5.1.3",
-                    "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz",
-                    "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==",
-                    "dev": true,
-                    "requires": {
-                        "deep-equal": "^2.0.5"
-                    }
-                },
-                "chalk": {
-                    "version": "4.1.2",
-                    "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-                    "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-                    "dev": true,
-                    "requires": {
-                        "ansi-styles": "^4.1.0",
-                        "supports-color": "^7.1.0"
-                    }
-                },
-                "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==",
-                    "dev": true,
-                    "requires": {
-                        "color-name": "~1.1.4"
-                    }
-                },
-                "has-flag": {
-                    "version": "4.0.0",
-                    "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-                    "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-                    "dev": true
-                },
-                "pretty-format": {
-                    "version": "27.5.1",
-                    "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
-                    "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
-                    "dev": true,
-                    "requires": {
-                        "ansi-regex": "^5.0.1",
-                        "ansi-styles": "^5.0.0",
-                        "react-is": "^17.0.1"
-                    },
-                    "dependencies": {
-                        "ansi-styles": {
-                            "version": "5.2.0",
-                            "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
-                            "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
-                            "dev": true
-                        }
-                    }
-                },
-                "supports-color": {
-                    "version": "7.2.0",
-                    "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-                    "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-                    "dev": true,
-                    "requires": {
-                        "has-flag": "^4.0.0"
-                    }
-                }
-            }
-        },
         "@tokenizer/token": {
             "version": "0.3.0",
             "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz",
@@ -41373,12 +40087,6 @@
             "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
             "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA=="
         },
-        "@types/aria-query": {
-            "version": "5.0.4",
-            "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz",
-            "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==",
-            "dev": true
-        },
         "@types/babel__core": {
             "version": "7.1.18",
             "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.18.tgz",
@@ -41641,16 +40349,6 @@
                 "@types/istanbul-lib-report": "*"
             }
         },
-        "@types/jest": {
-            "version": "29.5.12",
-            "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz",
-            "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==",
-            "dev": true,
-            "requires": {
-                "expect": "^29.0.0",
-                "pretty-format": "^29.0.0"
-            }
-        },
         "@types/jsdom": {
             "version": "20.0.1",
             "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz",
@@ -41660,6 +40358,23 @@
                 "@types/node": "*",
                 "@types/tough-cookie": "*",
                 "parse5": "^7.0.0"
+            },
+            "dependencies": {
+                "entities": {
+                    "version": "4.5.0",
+                    "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+                    "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+                    "dev": true
+                },
+                "parse5": {
+                    "version": "7.1.2",
+                    "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
+                    "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
+                    "dev": true,
+                    "requires": {
+                        "entities": "^4.4.0"
+                    }
+                }
             }
         },
         "@types/json-schema": {
@@ -41780,11 +40495,12 @@
             "dev": true
         },
         "@types/react": {
-            "version": "18.3.18",
-            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.18.tgz",
-            "integrity": "sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==",
+            "version": "18.0.38",
+            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.38.tgz",
+            "integrity": "sha512-ExsidLLSzYj4cvaQjGnQCk4HFfVT9+EZ9XZsQ8Hsrcn8QNgXtpZ3m9vSIC2MWtx7jHictK6wYhQgGh6ic58oOw==",
             "requires": {
                 "@types/prop-types": "*",
+                "@types/scheduler": "*",
                 "csstype": "^3.0.2"
             }
         },
@@ -41801,10 +40517,12 @@
             }
         },
         "@types/react-dom": {
-            "version": "18.3.5",
-            "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.5.tgz",
-            "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==",
-            "requires": {}
+            "version": "18.0.11",
+            "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz",
+            "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==",
+            "requires": {
+                "@types/react": "*"
+            }
         },
         "@types/react-redux": {
             "version": "7.1.25",
@@ -41840,6 +40558,11 @@
             "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==",
             "dev": true
         },
+        "@types/scheduler": {
+            "version": "0.16.1",
+            "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.1.tgz",
+            "integrity": "sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA=="
+        },
         "@types/semver": {
             "version": "7.5.8",
             "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
@@ -41892,24 +40615,6 @@
             "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==",
             "dev": true
         },
-        "@types/testing-library__jest-dom": {
-            "version": "6.0.0",
-            "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-6.0.0.tgz",
-            "integrity": "sha512-bnreXCgus6IIadyHNlN/oI5FfX4dWgvGhOPvpr7zzCYDGAPIfvyIoAozMBINmhmsVuqV0cncejF2y5KC7ScqOg==",
-            "dev": true,
-            "requires": {
-                "@testing-library/jest-dom": "*"
-            }
-        },
-        "@types/testing-library__react": {
-            "version": "10.2.0",
-            "resolved": "https://registry.npmjs.org/@types/testing-library__react/-/testing-library__react-10.2.0.tgz",
-            "integrity": "sha512-KbU7qVfEwml8G5KFxM+xEfentAAVj/SOQSjW0+HqzjPE0cXpt0IpSamfX4jGYCImznDHgQcfXBPajS7HjLZduw==",
-            "dev": true,
-            "requires": {
-                "@testing-library/react": "*"
-            }
-        },
         "@types/tinycolor2": {
             "version": "1.4.3",
             "resolved": "https://registry.npmjs.org/@types/tinycolor2/-/tinycolor2-1.4.3.tgz",
@@ -44820,6 +43525,25 @@
                     "dev": true,
                     "requires": {}
                 },
+                "acorn-globals": {
+                    "version": "7.0.1",
+                    "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz",
+                    "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==",
+                    "dev": true,
+                    "requires": {
+                        "acorn": "^8.1.0",
+                        "acorn-walk": "^8.0.2"
+                    }
+                },
+                "agent-base": {
+                    "version": "6.0.2",
+                    "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+                    "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+                    "dev": true,
+                    "requires": {
+                        "debug": "4"
+                    }
+                },
                 "ansi-styles": {
                     "version": "4.3.0",
                     "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -44995,6 +43719,40 @@
                         }
                     }
                 },
+                "cssom": {
+                    "version": "0.5.0",
+                    "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz",
+                    "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==",
+                    "dev": true
+                },
+                "cssstyle": {
+                    "version": "2.3.0",
+                    "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+                    "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
+                    "dev": true,
+                    "requires": {
+                        "cssom": "~0.3.6"
+                    },
+                    "dependencies": {
+                        "cssom": {
+                            "version": "0.3.8",
+                            "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+                            "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
+                            "dev": true
+                        }
+                    }
+                },
+                "data-urls": {
+                    "version": "3.0.2",
+                    "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz",
+                    "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==",
+                    "dev": true,
+                    "requires": {
+                        "abab": "^2.0.6",
+                        "whatwg-mimetype": "^3.0.0",
+                        "whatwg-url": "^11.0.0"
+                    }
+                },
                 "dom-serializer": {
                     "version": "2.0.0",
                     "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
@@ -45006,6 +43764,15 @@
                         "entities": "^4.2.0"
                     }
                 },
+                "domexception": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz",
+                    "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==",
+                    "dev": true,
+                    "requires": {
+                        "webidl-conversions": "^7.0.0"
+                    }
+                },
                 "domhandler": {
                     "version": "5.0.3",
                     "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
@@ -45053,12 +43820,56 @@
                     "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
                     "dev": true
                 },
+                "html-encoding-sniffer": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz",
+                    "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==",
+                    "dev": true,
+                    "requires": {
+                        "whatwg-encoding": "^2.0.0"
+                    }
+                },
+                "https-proxy-agent": {
+                    "version": "5.0.1",
+                    "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+                    "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+                    "dev": true,
+                    "requires": {
+                        "agent-base": "6",
+                        "debug": "4"
+                    }
+                },
+                "iconv-lite": {
+                    "version": "0.6.3",
+                    "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+                    "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+                    "dev": true,
+                    "requires": {
+                        "safer-buffer": ">= 2.1.2 < 3.0.0"
+                    }
+                },
                 "interpret": {
                     "version": "3.1.1",
                     "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
                     "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
                     "dev": true
                 },
+                "jest-environment-jsdom": {
+                    "version": "29.6.2",
+                    "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.6.2.tgz",
+                    "integrity": "sha512-7oa/+266AAEgkzae8i1awNEfTfjwawWKLpiw2XesZmaoVVj9u9t8JOYx18cG29rbPNtkUlZ8V4b5Jb36y/VxoQ==",
+                    "dev": true,
+                    "requires": {
+                        "@jest/environment": "^29.6.2",
+                        "@jest/fake-timers": "^29.6.2",
+                        "@jest/types": "^29.6.1",
+                        "@types/jsdom": "^20.0.0",
+                        "@types/node": "*",
+                        "jest-mock": "^29.6.2",
+                        "jest-util": "^29.6.2",
+                        "jsdom": "^20.0.0"
+                    }
+                },
                 "js-yaml": {
                     "version": "4.1.0",
                     "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -45068,6 +43879,40 @@
                         "argparse": "^2.0.1"
                     }
                 },
+                "jsdom": {
+                    "version": "20.0.3",
+                    "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz",
+                    "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==",
+                    "dev": true,
+                    "requires": {
+                        "abab": "^2.0.6",
+                        "acorn": "^8.8.1",
+                        "acorn-globals": "^7.0.0",
+                        "cssom": "^0.5.0",
+                        "cssstyle": "^2.3.0",
+                        "data-urls": "^3.0.2",
+                        "decimal.js": "^10.4.2",
+                        "domexception": "^4.0.0",
+                        "escodegen": "^2.0.0",
+                        "form-data": "^4.0.0",
+                        "html-encoding-sniffer": "^3.0.0",
+                        "http-proxy-agent": "^5.0.0",
+                        "https-proxy-agent": "^5.0.1",
+                        "is-potential-custom-element-name": "^1.0.1",
+                        "nwsapi": "^2.2.2",
+                        "parse5": "^7.1.1",
+                        "saxes": "^6.0.0",
+                        "symbol-tree": "^3.2.4",
+                        "tough-cookie": "^4.1.2",
+                        "w3c-xmlserializer": "^4.0.0",
+                        "webidl-conversions": "^7.0.0",
+                        "whatwg-encoding": "^2.0.0",
+                        "whatwg-mimetype": "^3.0.0",
+                        "whatwg-url": "^11.0.0",
+                        "ws": "^8.11.0",
+                        "xml-name-validator": "^4.0.0"
+                    }
+                },
                 "json2php": {
                     "version": "0.0.7",
                     "resolved": "https://registry.npmjs.org/json2php/-/json2php-0.0.7.tgz",
@@ -45096,6 +43941,15 @@
                     "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
                     "dev": true
                 },
+                "parse5": {
+                    "version": "7.1.2",
+                    "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
+                    "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
+                    "dev": true,
+                    "requires": {
+                        "entities": "^4.4.0"
+                    }
+                },
                 "postcss-calc": {
                     "version": "9.0.1",
                     "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz",
@@ -45428,6 +44282,27 @@
                         "picocolors": "^1.0.0"
                     }
                 },
+                "tough-cookie": {
+                    "version": "4.1.3",
+                    "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz",
+                    "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
+                    "dev": true,
+                    "requires": {
+                        "psl": "^1.1.33",
+                        "punycode": "^2.1.1",
+                        "universalify": "^0.2.0",
+                        "url-parse": "^1.5.3"
+                    }
+                },
+                "tr46": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
+                    "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
+                    "dev": true,
+                    "requires": {
+                        "punycode": "^2.1.1"
+                    }
+                },
                 "type-fest": {
                     "version": "0.20.2",
                     "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
@@ -45442,6 +44317,12 @@
                     "optional": true,
                     "peer": true
                 },
+                "webidl-conversions": {
+                    "version": "7.0.0",
+                    "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+                    "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+                    "dev": true
+                },
                 "webpack-cli": {
                     "version": "5.1.4",
                     "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz",
@@ -45506,6 +44387,37 @@
                     "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
                     "dev": true
                 },
+                "whatwg-encoding": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
+                    "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==",
+                    "dev": true,
+                    "requires": {
+                        "iconv-lite": "0.6.3"
+                    }
+                },
+                "whatwg-mimetype": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz",
+                    "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==",
+                    "dev": true
+                },
+                "whatwg-url": {
+                    "version": "11.0.0",
+                    "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
+                    "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+                    "dev": true,
+                    "requires": {
+                        "tr46": "^3.0.0",
+                        "webidl-conversions": "^7.0.0"
+                    }
+                },
+                "xml-name-validator": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
+                    "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
+                    "dev": true
+                },
                 "yallist": {
                     "version": "2.1.2",
                     "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
@@ -45857,16 +44769,6 @@
             "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==",
             "dev": true
         },
-        "acorn-globals": {
-            "version": "7.0.1",
-            "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz",
-            "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==",
-            "dev": true,
-            "requires": {
-                "acorn": "^8.1.0",
-                "acorn-walk": "^8.0.2"
-            }
-        },
         "acorn-import-assertions": {
             "version": "1.9.0",
             "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
@@ -46394,15 +45296,15 @@
             "dev": true
         },
         "babel-jest": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz",
-            "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==",
+            "version": "29.6.2",
+            "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.2.tgz",
+            "integrity": "sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==",
             "dev": true,
             "requires": {
-                "@jest/transform": "^29.7.0",
+                "@jest/transform": "^29.6.2",
                 "@types/babel__core": "^7.1.14",
                 "babel-plugin-istanbul": "^6.1.1",
-                "babel-preset-jest": "^29.6.3",
+                "babel-preset-jest": "^29.5.0",
                 "chalk": "^4.0.0",
                 "graceful-fs": "^4.2.9",
                 "slash": "^3.0.0"
@@ -46479,9 +45381,9 @@
             }
         },
         "babel-plugin-jest-hoist": {
-            "version": "29.6.3",
-            "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz",
-            "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==",
+            "version": "29.5.0",
+            "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz",
+            "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==",
             "dev": true,
             "requires": {
                 "@babel/template": "^7.3.3",
@@ -46563,12 +45465,12 @@
             }
         },
         "babel-preset-jest": {
-            "version": "29.6.3",
-            "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz",
-            "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==",
+            "version": "29.5.0",
+            "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz",
+            "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==",
             "dev": true,
             "requires": {
-                "babel-plugin-jest-hoist": "^29.6.3",
+                "babel-plugin-jest-hoist": "^29.5.0",
                 "babel-preset-current-node-syntax": "^1.0.0"
             }
         },
@@ -46953,24 +45855,6 @@
                 "set-function-length": "^1.2.1"
             }
         },
-        "call-bind-apply-helpers": {
-            "version": "1.0.1",
-            "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz",
-            "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==",
-            "requires": {
-                "es-errors": "^1.3.0",
-                "function-bind": "^1.1.2"
-            }
-        },
-        "call-bound": {
-            "version": "1.0.3",
-            "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz",
-            "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==",
-            "requires": {
-                "call-bind-apply-helpers": "^1.0.1",
-                "get-intrinsic": "^1.2.6"
-            }
-        },
         "caller-callsite": {
             "version": "2.0.0",
             "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
@@ -47339,20 +46223,6 @@
                         "rimraf": "^2.6.3"
                     }
                 },
-                "glob": {
-                    "version": "7.2.3",
-                    "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-                    "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-                    "dev": true,
-                    "requires": {
-                        "fs.realpath": "^1.0.0",
-                        "inflight": "^1.0.4",
-                        "inherits": "2",
-                        "minimatch": "^3.1.1",
-                        "once": "^1.3.0",
-                        "path-is-absolute": "^1.0.0"
-                    }
-                },
                 "globby": {
                     "version": "6.1.0",
                     "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
@@ -48253,12 +47123,6 @@
             "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz",
             "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg=="
         },
-        "css.escape": {
-            "version": "1.5.1",
-            "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz",
-            "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==",
-            "dev": true
-        },
         "cssesc": {
             "version": "3.0.0",
             "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
@@ -48488,29 +47352,6 @@
                 }
             }
         },
-        "cssom": {
-            "version": "0.5.0",
-            "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz",
-            "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==",
-            "dev": true
-        },
-        "cssstyle": {
-            "version": "2.3.0",
-            "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
-            "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
-            "dev": true,
-            "requires": {
-                "cssom": "~0.3.6"
-            },
-            "dependencies": {
-                "cssom": {
-                    "version": "0.3.8",
-                    "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
-                    "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
-                    "dev": true
-                }
-            }
-        },
         "csstype": {
             "version": "3.1.2",
             "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
@@ -48538,44 +47379,6 @@
             "integrity": "sha512-a9l6T1qqDogvvnw0nKlfZzqsyikEBZBClF39V3TFoKhDtGBqHu2HkuomJc02j5zft8zrUaXEuoicLeW54RkzPg==",
             "dev": true
         },
-        "data-urls": {
-            "version": "3.0.2",
-            "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz",
-            "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==",
-            "dev": true,
-            "requires": {
-                "abab": "^2.0.6",
-                "whatwg-mimetype": "^3.0.0",
-                "whatwg-url": "^11.0.0"
-            },
-            "dependencies": {
-                "tr46": {
-                    "version": "3.0.0",
-                    "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
-                    "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
-                    "dev": true,
-                    "requires": {
-                        "punycode": "^2.1.1"
-                    }
-                },
-                "webidl-conversions": {
-                    "version": "7.0.0",
-                    "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
-                    "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
-                    "dev": true
-                },
-                "whatwg-url": {
-                    "version": "11.0.0",
-                    "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
-                    "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
-                    "dev": true,
-                    "requires": {
-                        "tr46": "^3.0.0",
-                        "webidl-conversions": "^7.0.0"
-                    }
-                }
-            }
-        },
         "data-view-buffer": {
             "version": "1.0.1",
             "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz",
@@ -48681,32 +47484,6 @@
             "dev": true,
             "requires": {}
         },
-        "deep-equal": {
-            "version": "2.2.3",
-            "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz",
-            "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==",
-            "dev": true,
-            "requires": {
-                "array-buffer-byte-length": "^1.0.0",
-                "call-bind": "^1.0.5",
-                "es-get-iterator": "^1.1.3",
-                "get-intrinsic": "^1.2.2",
-                "is-arguments": "^1.1.1",
-                "is-array-buffer": "^3.0.2",
-                "is-date-object": "^1.0.5",
-                "is-regex": "^1.1.4",
-                "is-shared-array-buffer": "^1.0.2",
-                "isarray": "^2.0.5",
-                "object-is": "^1.1.5",
-                "object-keys": "^1.1.1",
-                "object.assign": "^4.1.4",
-                "regexp.prototype.flags": "^1.5.1",
-                "side-channel": "^1.0.4",
-                "which-boxed-primitive": "^1.0.2",
-                "which-collection": "^1.0.1",
-                "which-typed-array": "^1.1.13"
-            }
-        },
         "deep-extend": {
             "version": "0.6.0",
             "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
@@ -48934,12 +47711,6 @@
                 "define-properties": "^1.1.3"
             }
         },
-        "dom-accessibility-api": {
-            "version": "0.5.16",
-            "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz",
-            "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==",
-            "dev": true
-        },
         "dom-helpers": {
             "version": "5.2.1",
             "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz",
@@ -48975,23 +47746,6 @@
             "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
             "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="
         },
-        "domexception": {
-            "version": "4.0.0",
-            "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz",
-            "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==",
-            "dev": true,
-            "requires": {
-                "webidl-conversions": "^7.0.0"
-            },
-            "dependencies": {
-                "webidl-conversions": {
-                    "version": "7.0.0",
-                    "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
-                    "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
-                    "dev": true
-                }
-            }
-        },
         "domhandler": {
             "version": "4.2.0",
             "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz",
@@ -49052,16 +47806,6 @@
                 "tslib": "^2.3.0"
             }
         },
-        "dunder-proto": {
-            "version": "1.0.1",
-            "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
-            "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
-            "requires": {
-                "call-bind-apply-helpers": "^1.0.1",
-                "es-errors": "^1.3.0",
-                "gopd": "^1.2.0"
-            }
-        },
         "duplexer": {
             "version": "0.1.2",
             "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
@@ -49290,32 +48034,18 @@
             "dev": true
         },
         "es-define-property": {
-            "version": "1.0.1",
-            "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
-            "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="
+            "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-get-iterator": {
-            "version": "1.1.3",
-            "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz",
-            "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==",
-            "dev": true,
-            "requires": {
-                "call-bind": "^1.0.2",
-                "get-intrinsic": "^1.1.3",
-                "has-symbols": "^1.0.3",
-                "is-arguments": "^1.1.1",
-                "is-map": "^2.0.2",
-                "is-set": "^2.0.2",
-                "is-string": "^1.0.7",
-                "isarray": "^2.0.5",
-                "stop-iteration-iterator": "^1.0.0"
-            }
-        },
         "es-iterator-helpers": {
             "version": "1.0.18",
             "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz",
@@ -50650,7 +49380,7 @@
         "fs.realpath": {
             "version": "1.0.0",
             "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
-            "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+            "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
             "dev": true
         },
         "fsevents": {
@@ -50692,20 +49422,15 @@
             "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
         },
         "get-intrinsic": {
-            "version": "1.2.7",
-            "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz",
-            "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==",
+            "version": "1.2.4",
+            "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+            "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
             "requires": {
-                "call-bind-apply-helpers": "^1.0.1",
-                "es-define-property": "^1.0.1",
                 "es-errors": "^1.3.0",
-                "es-object-atoms": "^1.0.0",
                 "function-bind": "^1.1.2",
-                "get-proto": "^1.0.0",
-                "gopd": "^1.2.0",
-                "has-symbols": "^1.1.0",
-                "hasown": "^2.0.2",
-                "math-intrinsics": "^1.1.0"
+                "has-proto": "^1.0.1",
+                "has-symbols": "^1.0.3",
+                "hasown": "^2.0.0"
             }
         },
         "get-nonce": {
@@ -50725,15 +49450,6 @@
             "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==",
             "dev": true
         },
-        "get-proto": {
-            "version": "1.0.1",
-            "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
-            "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
-            "requires": {
-                "dunder-proto": "^1.0.1",
-                "es-object-atoms": "^1.0.0"
-            }
-        },
         "get-stdin": {
             "version": "9.0.0",
             "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz",
@@ -50780,6 +49496,20 @@
                 "safe-buffer": "^5.1.1"
             }
         },
+        "glob": {
+            "version": "7.2.0",
+            "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+            "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+            "dev": true,
+            "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"
+            }
+        },
         "glob-parent": {
             "version": "5.1.2",
             "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
@@ -50874,9 +49604,12 @@
             }
         },
         "gopd": {
-            "version": "1.2.0",
-            "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
-            "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+            "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+            "requires": {
+                "get-intrinsic": "^1.1.3"
+            }
         },
         "got": {
             "version": "11.8.6",
@@ -51066,9 +49799,9 @@
             "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q=="
         },
         "has-symbols": {
-            "version": "1.1.0",
-            "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
-            "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="
+            "version": "1.0.3",
+            "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+            "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
         },
         "has-tostringtag": {
             "version": "1.0.2",
@@ -51254,15 +49987,6 @@
             "integrity": "sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==",
             "dev": true
         },
-        "html-encoding-sniffer": {
-            "version": "3.0.0",
-            "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz",
-            "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==",
-            "dev": true,
-            "requires": {
-                "whatwg-encoding": "^2.0.0"
-            }
-        },
         "html-entities": {
             "version": "2.3.2",
             "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz",
@@ -51626,7 +50350,7 @@
         "inflight": {
             "version": "1.0.6",
             "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
-            "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+            "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
             "dev": true,
             "requires": {
                 "once": "^1.3.0",
@@ -51711,13 +50435,13 @@
             }
         },
         "internal-slot": {
-            "version": "1.1.0",
-            "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz",
-            "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==",
+            "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.2",
-                "side-channel": "^1.1.0"
+                "hasown": "^2.0.0",
+                "side-channel": "^1.0.4"
             }
         },
         "interpret": {
@@ -51788,16 +50512,6 @@
             "integrity": "sha512-vOx7VprsKyllwjSkLV79NIhpyLfr3jAp7VaTCMXOJHu4m0Ew1CZ2fcjASwmV1jI3BWuWHB013M48eyeldk9gYg==",
             "dev": true
         },
-        "is-arguments": {
-            "version": "1.2.0",
-            "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz",
-            "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==",
-            "dev": true,
-            "requires": {
-                "call-bound": "^1.0.2",
-                "has-tostringtag": "^1.0.2"
-            }
-        },
         "is-array-buffer": {
             "version": "3.0.4",
             "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
@@ -52553,20 +51267,6 @@
                         "color-name": "~1.1.4"
                     }
                 },
-                "glob": {
-                    "version": "7.2.3",
-                    "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-                    "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-                    "dev": true,
-                    "requires": {
-                        "fs.realpath": "^1.0.0",
-                        "inflight": "^1.0.4",
-                        "inherits": "2",
-                        "minimatch": "^3.1.1",
-                        "once": "^1.3.0",
-                        "path-is-absolute": "^1.0.0"
-                    }
-                },
                 "has-flag": {
                     "version": "4.0.0",
                     "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -52774,22 +51474,6 @@
                 }
             }
         },
-        "jest-environment-jsdom": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz",
-            "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==",
-            "dev": true,
-            "requires": {
-                "@jest/environment": "^29.7.0",
-                "@jest/fake-timers": "^29.7.0",
-                "@jest/types": "^29.6.3",
-                "@types/jsdom": "^20.0.0",
-                "@types/node": "*",
-                "jest-mock": "^29.7.0",
-                "jest-util": "^29.7.0",
-                "jsdom": "^20.0.0"
-            }
-        },
         "jest-environment-node": {
             "version": "29.6.2",
             "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.2.tgz",
@@ -52896,21 +51580,21 @@
             "dev": true
         },
         "jest-haste-map": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz",
-            "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==",
+            "version": "29.6.2",
+            "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.2.tgz",
+            "integrity": "sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==",
             "dev": true,
             "requires": {
-                "@jest/types": "^29.6.3",
+                "@jest/types": "^29.6.1",
                 "@types/graceful-fs": "^4.1.3",
                 "@types/node": "*",
                 "anymatch": "^3.0.3",
                 "fb-watchman": "^2.0.0",
                 "fsevents": "^2.3.2",
                 "graceful-fs": "^4.2.9",
-                "jest-regex-util": "^29.6.3",
-                "jest-util": "^29.7.0",
-                "jest-worker": "^29.7.0",
+                "jest-regex-util": "^29.4.3",
+                "jest-util": "^29.6.2",
+                "jest-worker": "^29.6.2",
                 "micromatch": "^4.0.4",
                 "walker": "^1.0.8"
             }
@@ -52983,18 +51667,18 @@
             }
         },
         "jest-message-util": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz",
-            "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==",
+            "version": "29.6.2",
+            "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.2.tgz",
+            "integrity": "sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==",
             "dev": true,
             "requires": {
                 "@babel/code-frame": "^7.12.13",
-                "@jest/types": "^29.6.3",
+                "@jest/types": "^29.6.1",
                 "@types/stack-utils": "^2.0.0",
                 "chalk": "^4.0.0",
                 "graceful-fs": "^4.2.9",
                 "micromatch": "^4.0.4",
-                "pretty-format": "^29.7.0",
+                "pretty-format": "^29.6.2",
                 "slash": "^3.0.0",
                 "stack-utils": "^2.0.3"
             },
@@ -53045,14 +51729,14 @@
             }
         },
         "jest-mock": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz",
-            "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==",
+            "version": "29.6.2",
+            "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.2.tgz",
+            "integrity": "sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==",
             "dev": true,
             "requires": {
-                "@jest/types": "^29.6.3",
+                "@jest/types": "^29.6.1",
                 "@types/node": "*",
-                "jest-util": "^29.7.0"
+                "jest-util": "^29.6.2"
             }
         },
         "jest-pnp-resolver": {
@@ -53081,9 +51765,9 @@
             }
         },
         "jest-regex-util": {
-            "version": "29.6.3",
-            "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz",
-            "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==",
+            "version": "29.4.3",
+            "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz",
+            "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==",
             "dev": true
         },
         "jest-resolve": {
@@ -53306,20 +51990,6 @@
                         "color-name": "~1.1.4"
                     }
                 },
-                "glob": {
-                    "version": "7.2.3",
-                    "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-                    "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-                    "dev": true,
-                    "requires": {
-                        "fs.realpath": "^1.0.0",
-                        "inflight": "^1.0.4",
-                        "inherits": "2",
-                        "minimatch": "^3.1.1",
-                        "once": "^1.3.0",
-                        "path-is-absolute": "^1.0.0"
-                    }
-                },
                 "has-flag": {
                     "version": "4.0.0",
                     "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -53426,12 +52096,12 @@
             }
         },
         "jest-util": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
-            "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
+            "version": "29.6.2",
+            "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.2.tgz",
+            "integrity": "sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==",
             "dev": true,
             "requires": {
-                "@jest/types": "^29.6.3",
+                "@jest/types": "^29.6.1",
                 "@types/node": "*",
                 "chalk": "^4.0.0",
                 "ci-info": "^3.2.0",
@@ -53549,81 +52219,6 @@
                 }
             }
         },
-        "jest-watch-typeahead": {
-            "version": "2.2.2",
-            "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-2.2.2.tgz",
-            "integrity": "sha512-+QgOFW4o5Xlgd6jGS5X37i08tuuXNW8X0CV9WNFi+3n8ExCIP+E1melYhvYLjv5fE6D0yyzk74vsSO8I6GqtvQ==",
-            "dev": true,
-            "requires": {
-                "ansi-escapes": "^6.0.0",
-                "chalk": "^5.2.0",
-                "jest-regex-util": "^29.0.0",
-                "jest-watcher": "^29.0.0",
-                "slash": "^5.0.0",
-                "string-length": "^5.0.1",
-                "strip-ansi": "^7.0.1"
-            },
-            "dependencies": {
-                "ansi-escapes": {
-                    "version": "6.2.0",
-                    "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz",
-                    "integrity": "sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==",
-                    "dev": true,
-                    "requires": {
-                        "type-fest": "^3.0.0"
-                    }
-                },
-                "ansi-regex": {
-                    "version": "6.0.1",
-                    "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
-                    "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
-                    "dev": true
-                },
-                "chalk": {
-                    "version": "5.3.0",
-                    "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
-                    "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
-                    "dev": true
-                },
-                "char-regex": {
-                    "version": "2.0.1",
-                    "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz",
-                    "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==",
-                    "dev": true
-                },
-                "slash": {
-                    "version": "5.1.0",
-                    "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
-                    "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
-                    "dev": true
-                },
-                "string-length": {
-                    "version": "5.0.1",
-                    "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz",
-                    "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==",
-                    "dev": true,
-                    "requires": {
-                        "char-regex": "^2.0.0",
-                        "strip-ansi": "^7.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==",
-                    "dev": true,
-                    "requires": {
-                        "ansi-regex": "^6.0.1"
-                    }
-                },
-                "type-fest": {
-                    "version": "3.13.1",
-                    "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz",
-                    "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==",
-                    "dev": true
-                }
-            }
-        },
         "jest-watcher": {
             "version": "29.6.2",
             "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.2.tgz",
@@ -53686,13 +52281,13 @@
             }
         },
         "jest-worker": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz",
-            "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==",
+            "version": "29.6.2",
+            "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.2.tgz",
+            "integrity": "sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==",
             "dev": true,
             "requires": {
                 "@types/node": "*",
-                "jest-util": "^29.7.0",
+                "jest-util": "^29.6.2",
                 "merge-stream": "^2.0.0",
                 "supports-color": "^8.0.0"
             },
@@ -53793,86 +52388,6 @@
             "integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==",
             "dev": true
         },
-        "jsdom": {
-            "version": "20.0.3",
-            "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz",
-            "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==",
-            "dev": true,
-            "requires": {
-                "abab": "^2.0.6",
-                "acorn": "^8.8.1",
-                "acorn-globals": "^7.0.0",
-                "cssom": "^0.5.0",
-                "cssstyle": "^2.3.0",
-                "data-urls": "^3.0.2",
-                "decimal.js": "^10.4.2",
-                "domexception": "^4.0.0",
-                "escodegen": "^2.0.0",
-                "form-data": "^4.0.0",
-                "html-encoding-sniffer": "^3.0.0",
-                "http-proxy-agent": "^5.0.0",
-                "https-proxy-agent": "^5.0.1",
-                "is-potential-custom-element-name": "^1.0.1",
-                "nwsapi": "^2.2.2",
-                "parse5": "^7.1.1",
-                "saxes": "^6.0.0",
-                "symbol-tree": "^3.2.4",
-                "tough-cookie": "^4.1.2",
-                "w3c-xmlserializer": "^4.0.0",
-                "webidl-conversions": "^7.0.0",
-                "whatwg-encoding": "^2.0.0",
-                "whatwg-mimetype": "^3.0.0",
-                "whatwg-url": "^11.0.0",
-                "ws": "^8.11.0",
-                "xml-name-validator": "^4.0.0"
-            },
-            "dependencies": {
-                "agent-base": {
-                    "version": "6.0.2",
-                    "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
-                    "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
-                    "dev": true,
-                    "requires": {
-                        "debug": "4"
-                    }
-                },
-                "https-proxy-agent": {
-                    "version": "5.0.1",
-                    "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
-                    "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
-                    "dev": true,
-                    "requires": {
-                        "agent-base": "6",
-                        "debug": "4"
-                    }
-                },
-                "tr46": {
-                    "version": "3.0.0",
-                    "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
-                    "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
-                    "dev": true,
-                    "requires": {
-                        "punycode": "^2.1.1"
-                    }
-                },
-                "webidl-conversions": {
-                    "version": "7.0.0",
-                    "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
-                    "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
-                    "dev": true
-                },
-                "whatwg-url": {
-                    "version": "11.0.0",
-                    "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
-                    "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
-                    "dev": true,
-                    "requires": {
-                        "tr46": "^3.0.0",
-                        "webidl-conversions": "^7.0.0"
-                    }
-                }
-            }
-        },
         "jsesc": {
             "version": "2.5.2",
             "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
@@ -54286,20 +52801,6 @@
                         "universalify": "^2.0.0"
                     }
                 },
-                "glob": {
-                    "version": "7.2.3",
-                    "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-                    "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-                    "dev": true,
-                    "requires": {
-                        "fs.realpath": "^1.0.0",
-                        "inflight": "^1.0.4",
-                        "inherits": "2",
-                        "minimatch": "^3.1.1",
-                        "once": "^1.3.0",
-                        "path-is-absolute": "^1.0.0"
-                    }
-                },
                 "globby": {
                     "version": "10.0.2",
                     "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz",
@@ -55358,12 +53859,6 @@
                 "yallist": "^4.0.0"
             }
         },
-        "lz-string": {
-            "version": "1.5.0",
-            "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz",
-            "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==",
-            "dev": true
-        },
         "magnific-popup": {
             "version": "1.1.0",
             "resolved": "https://registry.npmjs.org/magnific-popup/-/magnific-popup-1.1.0.tgz",
@@ -55465,31 +53960,6 @@
                     "integrity": "sha512-JJfP2saEKbQqvW+FI93OYUB4ByV5cizMpFMiiJI8xDbBvQvSkIk0VvQdn1CZ8mqAO8Loq2h0gYTYtDFUZUeERw==",
                     "dev": true
                 },
-                "glob": {
-                    "version": "7.2.3",
-                    "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-                    "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-                    "dev": true,
-                    "requires": {
-                        "fs.realpath": "^1.0.0",
-                        "inflight": "^1.0.4",
-                        "inherits": "2",
-                        "minimatch": "^3.1.1",
-                        "once": "^1.3.0",
-                        "path-is-absolute": "^1.0.0"
-                    },
-                    "dependencies": {
-                        "minimatch": {
-                            "version": "3.1.2",
-                            "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-                            "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
-                            "dev": true,
-                            "requires": {
-                                "brace-expansion": "^1.1.7"
-                            }
-                        }
-                    }
-                },
                 "js-yaml": {
                     "version": "4.1.0",
                     "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -55530,29 +54000,8 @@
             "requires": {
                 "glob": "^7.1.6",
                 "picomatch": "^2.2.1"
-            },
-            "dependencies": {
-                "glob": {
-                    "version": "7.2.3",
-                    "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-                    "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-                    "dev": true,
-                    "requires": {
-                        "fs.realpath": "^1.0.0",
-                        "inflight": "^1.0.4",
-                        "inherits": "2",
-                        "minimatch": "^3.1.1",
-                        "once": "^1.3.0",
-                        "path-is-absolute": "^1.0.0"
-                    }
-                }
             }
         },
-        "math-intrinsics": {
-            "version": "1.1.0",
-            "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
-            "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="
-        },
         "mathml-tag-names": {
             "version": "2.1.3",
             "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz",
@@ -56311,22 +54760,6 @@
                 "ignore-walk": "^4.0.1",
                 "npm-bundled": "^1.1.1",
                 "npm-normalize-package-bin": "^1.0.1"
-            },
-            "dependencies": {
-                "glob": {
-                    "version": "7.2.3",
-                    "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-                    "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-                    "dev": true,
-                    "requires": {
-                        "fs.realpath": "^1.0.0",
-                        "inflight": "^1.0.4",
-                        "inherits": "2",
-                        "minimatch": "^3.1.1",
-                        "once": "^1.3.0",
-                        "path-is-absolute": "^1.0.0"
-                    }
-                }
             }
         },
         "npm-run-path": {
@@ -56347,9 +54780,9 @@
             }
         },
         "nwsapi": {
-            "version": "2.2.10",
-            "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.10.tgz",
-            "integrity": "sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==",
+            "version": "2.2.7",
+            "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz",
+            "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==",
             "dev": true
         },
         "object-assign": {
@@ -56364,9 +54797,9 @@
             "dev": true
         },
         "object-inspect": {
-            "version": "1.13.3",
-            "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz",
-            "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA=="
+            "version": "1.13.1",
+            "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
+            "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ=="
         },
         "object-is": {
             "version": "1.1.5",
@@ -56856,23 +55289,6 @@
             "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
             "dev": true
         },
-        "parse5": {
-            "version": "7.1.2",
-            "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
-            "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
-            "dev": true,
-            "requires": {
-                "entities": "^4.4.0"
-            },
-            "dependencies": {
-                "entities": {
-                    "version": "4.5.0",
-                    "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
-                    "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
-                    "dev": true
-                }
-            }
-        },
         "parseurl": {
             "version": "1.3.3",
             "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -56911,7 +55327,7 @@
         "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==",
+            "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
             "dev": true
         },
         "path-is-inside": {
@@ -58290,12 +56706,12 @@
             }
         },
         "pretty-format": {
-            "version": "29.7.0",
-            "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
-            "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
+            "version": "29.6.2",
+            "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz",
+            "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==",
             "dev": true,
             "requires": {
-                "@jest/schemas": "^29.6.3",
+                "@jest/schemas": "^29.6.0",
                 "ansi-styles": "^5.0.0",
                 "react-is": "^18.0.0"
             },
@@ -58463,9 +56879,9 @@
             "dev": true
         },
         "psl": {
-            "version": "1.9.0",
-            "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
-            "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
+            "version": "1.8.0",
+            "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
+            "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
             "dev": true
         },
         "public-encrypt": {
@@ -59942,22 +58358,6 @@
             "dev": true,
             "requires": {
                 "glob": "^7.1.3"
-            },
-            "dependencies": {
-                "glob": {
-                    "version": "7.2.3",
-                    "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-                    "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-                    "dev": true,
-                    "requires": {
-                        "fs.realpath": "^1.0.0",
-                        "inflight": "^1.0.4",
-                        "inherits": "2",
-                        "minimatch": "^3.1.1",
-                        "once": "^1.3.0",
-                        "path-is-absolute": "^1.0.0"
-                    }
-                }
             }
         },
         "ripemd160": {
@@ -60476,47 +58876,14 @@
             }
         },
         "side-channel": {
-            "version": "1.1.0",
-            "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
-            "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
-            "requires": {
-                "es-errors": "^1.3.0",
-                "object-inspect": "^1.13.3",
-                "side-channel-list": "^1.0.0",
-                "side-channel-map": "^1.0.1",
-                "side-channel-weakmap": "^1.0.2"
-            }
-        },
-        "side-channel-list": {
-            "version": "1.0.0",
-            "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
-            "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
-            "requires": {
-                "es-errors": "^1.3.0",
-                "object-inspect": "^1.13.3"
-            }
-        },
-        "side-channel-map": {
-            "version": "1.0.1",
-            "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
-            "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
-            "requires": {
-                "call-bound": "^1.0.2",
-                "es-errors": "^1.3.0",
-                "get-intrinsic": "^1.2.5",
-                "object-inspect": "^1.13.3"
-            }
-        },
-        "side-channel-weakmap": {
-            "version": "1.0.2",
-            "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
-            "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
+            "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-bound": "^1.0.2",
+                "call-bind": "^1.0.7",
                 "es-errors": "^1.3.0",
-                "get-intrinsic": "^1.2.5",
-                "object-inspect": "^1.13.3",
-                "side-channel-map": "^1.0.1"
+                "get-intrinsic": "^1.2.4",
+                "object-inspect": "^1.13.1"
             }
         },
         "signal-exit": {
@@ -60881,16 +59248,6 @@
                 "ci-info": "^3.1.1"
             }
         },
-        "stop-iteration-iterator": {
-            "version": "1.1.0",
-            "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz",
-            "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==",
-            "dev": true,
-            "requires": {
-                "es-errors": "^1.3.0",
-                "internal-slot": "^1.1.0"
-            }
-        },
         "stream-browserify": {
             "version": "2.0.2",
             "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
@@ -61244,20 +59601,6 @@
                 "source-map": "^0.7.3"
             },
             "dependencies": {
-                "glob": {
-                    "version": "7.2.3",
-                    "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-                    "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-                    "dev": true,
-                    "requires": {
-                        "fs.realpath": "^1.0.0",
-                        "inflight": "^1.0.4",
-                        "inherits": "2",
-                        "minimatch": "^3.1.1",
-                        "once": "^1.3.0",
-                        "path-is-absolute": "^1.0.0"
-                    }
-                },
                 "source-map": {
                     "version": "0.7.4",
                     "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
@@ -61620,22 +59963,6 @@
                 "@istanbuljs/schema": "^0.1.2",
                 "glob": "^7.1.4",
                 "minimatch": "^3.0.4"
-            },
-            "dependencies": {
-                "glob": {
-                    "version": "7.2.3",
-                    "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-                    "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-                    "dev": true,
-                    "requires": {
-                        "fs.realpath": "^1.0.0",
-                        "inflight": "^1.0.4",
-                        "inherits": "2",
-                        "minimatch": "^3.1.1",
-                        "once": "^1.3.0",
-                        "path-is-absolute": "^1.0.0"
-                    }
-                }
             }
         },
         "text-table": {
@@ -61746,18 +60073,6 @@
             "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
             "dev": true
         },
-        "tough-cookie": {
-            "version": "4.1.3",
-            "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz",
-            "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
-            "dev": true,
-            "requires": {
-                "psl": "^1.1.33",
-                "punycode": "^2.1.1",
-                "universalify": "^0.2.0",
-                "url-parse": "^1.5.3"
-            }
-        },
         "tr46": {
             "version": "0.0.3",
             "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
@@ -62437,6 +60752,14 @@
             "dev": true,
             "requires": {
                 "xml-name-validator": "^4.0.0"
+            },
+            "dependencies": {
+                "xml-name-validator": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
+                    "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
+                    "dev": true
+                }
             }
         },
         "wait-on": {
@@ -63017,32 +61340,6 @@
             "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
             "dev": true
         },
-        "whatwg-encoding": {
-            "version": "2.0.0",
-            "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
-            "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==",
-            "dev": true,
-            "requires": {
-                "iconv-lite": "0.6.3"
-            },
-            "dependencies": {
-                "iconv-lite": {
-                    "version": "0.6.3",
-                    "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
-                    "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
-                    "dev": true,
-                    "requires": {
-                        "safer-buffer": ">= 2.1.2 < 3.0.0"
-                    }
-                }
-            }
-        },
-        "whatwg-mimetype": {
-            "version": "3.0.0",
-            "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz",
-            "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==",
-            "dev": true
-        },
         "whatwg-url": {
             "version": "5.0.0",
             "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
@@ -63162,20 +61459,6 @@
                 "text-table": "^0.2.0"
             },
             "dependencies": {
-                "glob": {
-                    "version": "7.2.3",
-                    "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
-                    "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-                    "dev": true,
-                    "requires": {
-                        "fs.realpath": "^1.0.0",
-                        "inflight": "^1.0.4",
-                        "inherits": "2",
-                        "minimatch": "^3.1.1",
-                        "once": "^1.3.0",
-                        "path-is-absolute": "^1.0.0"
-                    }
-                },
                 "php-parser": {
                     "version": "3.0.3",
                     "resolved": "https://registry.npmjs.org/php-parser/-/php-parser-3.0.3.tgz",
@@ -63244,12 +61527,6 @@
             "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
             "dev": true
         },
-        "xml-name-validator": {
-            "version": "4.0.0",
-            "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
-            "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
-            "dev": true
-        },
         "xmlchars": {
             "version": "2.2.0",
             "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
diff --git a/package.json b/package.json
index 1a8b5c59c3..de52cc064d 100644
--- a/package.json
+++ b/package.json
@@ -12,12 +12,7 @@
         "watch:v3": "wp-scripts start --config wordpress-scripts-webpack.config.js",
         "build:v3": "wp-scripts build --config wordpress-scripts-webpack.config.js",
         "packages-update": "wp-scripts packages-update",
-        "plugin-zip": "wp-scripts plugin-zip",
-        "test": "wp-scripts test-unit-js --config tests/resources/jest.config.js",
-        "test:verbose": "npm run test -- --verbose",
-        "test:watch": "npm run test -- --watch",
-        "test:watch:verbose": "npm run test -- --watch --verbose",
-        "test:coverage": "npm run test -- --coverage"
+        "plugin-zip": "wp-scripts plugin-zip"
     },
     "repository": {
         "type": "git",
@@ -41,30 +36,19 @@
         }
     ],
     "devDependencies": {
-        "@testing-library/dom": "^10.4.0",
-        "@testing-library/jest-dom": "^6.4.2",
-        "@testing-library/react": "^14.3.1",
-        "@types/jest": "^29.5.12",
         "@types/lodash": "^4.14.199",
-        "@types/react": "^18.3.18",
+        "@types/react": "^18.0.38",
         "@types/react-datepicker": "^4.15.0",
-        "@types/react-dom": "^18.3.5",
-        "@types/testing-library__jest-dom": "^6.0.0",
-        "@types/testing-library__react": "^10.2.0",
+        "@types/react-dom": "^18.0.11",
         "@types/wordpress__blocks": "^12.5.0",
         "@types/wordpress__components": "^23.0.1",
-        "@wordpress/babel-preset-default": "^7.38.0",
         "@wordpress/dependency-extraction-webpack-plugin": "^3.3.2",
         "@wordpress/env": "^5.10.0",
-        "@wordpress/jest-preset-default": "^11.25.0",
         "@wordpress/scripts": "^26.9.0",
         "autoprefixer": "^10.4.13",
         "axios-mock-adapter": "^1.18.2",
-        "babel-jest": "^29.7.0",
         "jest": "^29.6.2",
-        "jest-environment-jsdom": "^29.7.0",
         "jest-puppeteer": "^9.0.0",
-        "jest-watch-typeahead": "^2.2.2",
         "laravel-mix": "^6.0.34",
         "prettier": "^2.8.3",
         "puppeteer": "^21.0.3",
diff --git a/src/EventTickets/resources/components/EventTicketsDescription.test.js b/src/EventTickets/resources/components/EventTicketsDescription.test.js
deleted file mode 100644
index 3d71499bfa..0000000000
--- a/src/EventTickets/resources/components/EventTicketsDescription.test.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import {render} from '@testing-library/react';
-import EventTicketsDescription from './EventTicketsDescription';
-
-/**
- * @unreleased
- */
-describe('EventTicketsDescription', () => {
-    /**
-     * @unreleased
-     */
-    test('renders the provided description', () => {
-        const testDescription = 'This is a test event description.';
-
-        const {getByText} = render(<EventTicketsDescription description={testDescription} />);
-
-        const descriptionElement = getByText(testDescription);
-        expect(descriptionElement).toBeInTheDocument();
-    });
-});
diff --git a/src/EventTickets/resources/components/EventTicketsHeader.test.js b/src/EventTickets/resources/components/EventTicketsHeader.test.js
deleted file mode 100644
index 90a60021a2..0000000000
--- a/src/EventTickets/resources/components/EventTicketsHeader.test.js
+++ /dev/null
@@ -1,29 +0,0 @@
-import {render, within} from '@testing-library/react';
-import EventTicketsHeader from './EventTicketsHeader';
-
-/**
- * @unreleased
- */
-describe('EventTicketsHeader', () => {
-    /**
-     * @unreleased
-     */
-    test('renders event details (day, month, title, and full formatted date) correctly', () => {
-        const title = 'This is a test event title.';
-        const startDateTime = new Date('2024-03-15 12:00:00');
-
-        const {getByText, getByRole, container} = render(
-            <EventTicketsHeader title={title} startDateTime={startDateTime} />
-        );
-
-        const dateWrapper = container.querySelector('div');
-        const dayElement = within(dateWrapper).getByText('15');
-        const monthElement = within(dateWrapper).getByText('Mar');
-        const titleElement = getByRole('heading', {name: title});
-        const fullDateElement = getByText('Friday, March 15th, 12:00pm');
-        expect(dayElement).toBeInTheDocument();
-        expect(monthElement).toBeInTheDocument();
-        expect(titleElement).toBeInTheDocument();
-        expect(fullDateElement).toBeInTheDocument();
-    });
-});
diff --git a/src/EventTickets/resources/components/EventTicketsList.test.js b/src/EventTickets/resources/components/EventTicketsList.test.js
deleted file mode 100644
index a4557193ff..0000000000
--- a/src/EventTickets/resources/components/EventTicketsList.test.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import {render} from '@testing-library/react';
-import EventTicketsList from './EventTicketsList';
-
-/**
- * @unreleased
- */
-jest.mock('./EventTicketsListItem', () => (props) => (
-    <div data-testid="event-tickets-list-item">Ticket #{props.ticketType.id}</div>
-));
-
-/**
- * @unreleased
- */
-describe('EventTicketsList', () => {
-    /**
-     * @unreleased
-     */
-    test('renders null when ticketTypes is an empty array', () => {
-        const {container} = render(<EventTicketsList ticketTypes={[]} currency="USD" currencyRate={1} />);
-        expect(container.firstChild).toBeNull();
-    });
-
-    /**
-     * @unreleased
-     */
-    test('renders an EventTicketsListItem for each ticket type provided', () => {
-        const ticketTypes = [{id: 1}, {id: 2}];
-
-        const {getAllByTestId} = render(<EventTicketsList ticketTypes={ticketTypes} currency="USD" currencyRate={1} />);
-
-        const listItemElements = getAllByTestId('event-tickets-list-item');
-        expect(listItemElements.length).toEqual(2);
-    });
-});
diff --git a/src/EventTickets/resources/components/EventTicketsList.tsx b/src/EventTickets/resources/components/EventTicketsList.tsx
index 5a62767590..07047dd179 100644
--- a/src/EventTickets/resources/components/EventTicketsList.tsx
+++ b/src/EventTickets/resources/components/EventTicketsList.tsx
@@ -7,7 +7,7 @@ export default function EventTicketsList({
     currency,
     currencyRate,
     selectedTickets = [],
-    handleSelect = () => null,
+    handleSelect = null,
 }: EventTicketsListProps) {
     if (!ticketTypes?.length) {
         return null;
@@ -21,10 +21,13 @@ export default function EventTicketsList({
             {ticketTypes.map((ticketType) => {
                 return (
                     <EventTicketsListItem
-                        key={ticketType.id}
                         ticketType={ticketType}
                         selectedTickets={selectedTickets[ticketType.id]?.quantity ?? 0}
-                        handleSelect={handleSelect(ticketType.id, ticketType.ticketsAvailable, ticketType.price)}
+                        handleSelect={
+                            handleSelect
+                                ? handleSelect(ticketType.id, ticketType.ticketsAvailable, ticketType.price)
+                                : () => null
+                        }
                         currency={currency}
                         currencyRate={currencyRate}
                     />
diff --git a/src/EventTickets/resources/components/EventTicketsListItem.test.js b/src/EventTickets/resources/components/EventTicketsListItem.test.js
deleted file mode 100644
index e792897738..0000000000
--- a/src/EventTickets/resources/components/EventTicketsListItem.test.js
+++ /dev/null
@@ -1,182 +0,0 @@
-import {fireEvent, render} from '@testing-library/react';
-import EventTicketsListItem from './EventTicketsListItem';
-
-/**
- * @unreleased
- */
-describe('EventTicketsListItem', () => {
-    /**
-     * @unreleased
-     */
-    test('renders ticket details including title, description, and price correctly', () => {
-        const ticketType = {
-            id: 1,
-            title: 'General Admission',
-            description: 'General Admission Description',
-            price: 1000,
-        };
-
-        const {getByText} = render(<EventTicketsListItem ticketType={ticketType} currency="USD" currencyRate={1} />);
-
-        const titleElement = getByText('General Admission');
-        expect(titleElement).toBeInTheDocument();
-
-        const descriptionElement = getByText('General Admission Description');
-        expect(descriptionElement).toBeInTheDocument();
-
-        const priceElement = getByText('$10.00');
-        expect(priceElement).toBeInTheDocument();
-    });
-
-    /**
-     * @unreleased
-     */
-    test('displays "Free" for tickets with a price of 0', () => {
-        const ticketType = {
-            id: 1,
-            price: 0,
-        };
-
-        const {getByText} = render(<EventTicketsListItem ticketType={ticketType} currency="USD" currencyRate={1} />);
-
-        const priceElement = getByText('Free');
-        expect(priceElement).toBeInTheDocument();
-    });
-
-    /**
-     * @unreleased
-     */
-    test('renders ticket price in a specified currency using the provided exchange rate', () => {
-        const ticketType = {
-            id: 1,
-            price: 1000,
-        };
-
-        const {getByText} = render(<EventTicketsListItem ticketType={ticketType} currency="EUR" currencyRate={1.1} />);
-
-        const priceElement = getByText('€11.00');
-        expect(priceElement).toBeInTheDocument();
-    });
-
-    /**
-     * @unreleased
-     */
-    test('displays the number of available tickets when greater than 0', () => {
-        const ticketType = {
-            id: 1,
-            ticketsAvailable: 10,
-        };
-
-        const {getByText} = render(
-            <EventTicketsListItem ticketType={ticketType} currency="USD" currencyRate={1} selectedTickets={0} />
-        );
-
-        const availableTicketsElement = getByText('10 remaining');
-        expect(availableTicketsElement).toBeInTheDocument();
-    });
-
-    /**
-     * @unreleased
-     */
-    test('shows the number of selected tickets in the quantity input field', () => {
-        const ticketType = {
-            id: 1,
-            ticketsAvailable: 10,
-        };
-
-        const {getByDisplayValue} = render(
-            <EventTicketsListItem ticketType={ticketType} currency="USD" currencyRate={1} selectedTickets={2} />
-        );
-
-        const selectedTicketsElement = getByDisplayValue('2');
-        expect(selectedTicketsElement).toBeInTheDocument();
-    });
-
-    /**
-     * @unreleased
-     */
-    test('updates the displayed number of remaining tickets based on the number of selected tickets', () => {
-        const ticketType = {
-            id: 1,
-            ticketsAvailable: 10,
-        };
-
-        const {getByText} = render(
-            <EventTicketsListItem ticketType={ticketType} currency="USD" currencyRate={1} selectedTickets={2} />
-        );
-
-        const availableTicketsElement = getByText('8 remaining');
-        expect(availableTicketsElement).toBeInTheDocument();
-    });
-
-    /**
-     * @unreleased
-     */
-    test('calls handleSelect with the decremented quantity when the decrement button is clicked', () => {
-        const mockHandleSelect = jest.fn();
-        const ticketType = {
-            id: 1,
-            ticketsAvailable: 10,
-        };
-        const selectedTickets = 2;
-
-        const {getByLabelText} = render(
-            <EventTicketsListItem
-                ticketType={ticketType}
-                currency="USD"
-                currencyRate={1}
-                selectedTickets={selectedTickets}
-                handleSelect={mockHandleSelect}
-            />
-        );
-
-        const incrementButton = getByLabelText('-');
-        fireEvent.click(incrementButton);
-
-        expect(mockHandleSelect).toHaveBeenCalledWith(selectedTickets - 1);
-    });
-
-    /**
-     * @unreleased
-     */
-    test('calls handleSelect with the incremented quantity when the increment button is clicked', () => {
-        const mockHandleSelect = jest.fn();
-        const ticketType = {
-            id: 1,
-            ticketsAvailable: 10,
-        };
-        const selectedTickets = 2;
-
-        const {getByLabelText} = render(
-            <EventTicketsListItem
-                ticketType={ticketType}
-                currency="USD"
-                currencyRate={1}
-                selectedTickets={selectedTickets}
-                handleSelect={mockHandleSelect}
-            />
-        );
-
-        const incrementButton = getByLabelText('+');
-        fireEvent.click(incrementButton);
-
-        expect(mockHandleSelect).toHaveBeenCalledWith(selectedTickets + 1);
-    });
-
-    /**
-     * @unreleased
-     */
-    test('displays "Sold Out" when there are no tickets available', () => {
-        const ticketType = {
-            id: 1,
-            ticketsAvailable: 0,
-        };
-
-        const {getByText} = render(
-            <EventTicketsListItem ticketType={ticketType} currency="USD" currencyRate={1} selectedTickets={0} />
-        );
-
-        const availableTicketsElement = getByText('Sold out');
-        expect(availableTicketsElement).toBeInTheDocument();
-    });
-});
diff --git a/src/EventTickets/resources/components/EventTicketsListItem.tsx b/src/EventTickets/resources/components/EventTicketsListItem.tsx
index fe6af2b51d..f9ce347fc7 100644
--- a/src/EventTickets/resources/components/EventTicketsListItem.tsx
+++ b/src/EventTickets/resources/components/EventTicketsListItem.tsx
@@ -25,11 +25,11 @@ export default function EventTicketsListItem({ticketType, currency, currencyRate
                 {remainingTickets > 0 ? (
                     <>
                         <div className={'givewp-event-tickets__tickets__ticket__quantity__input'}>
-                            <button onClick={handleButtonClick(selectedTickets - 1)} aria-label="-">
+                            <button onClick={handleButtonClick(selectedTickets - 1)}>
                                 <Icon icon={minus} />
                             </button>
-                            <input type="text" value={selectedTickets} readOnly={true} />
-                            <button onClick={handleButtonClick(selectedTickets + 1)} aria-label="+">
+                            <input type="text" value={selectedTickets} />
+                            <button onClick={handleButtonClick(selectedTickets + 1)}>
                                 <Icon icon={plus} />
                             </button>
                         </div>
diff --git a/src/EventTickets/resources/templates/EventTickets/EventTicketsListHOC.test.js b/src/EventTickets/resources/templates/EventTickets/EventTicketsListHOC.test.js
deleted file mode 100644
index 38cc372283..0000000000
--- a/src/EventTickets/resources/templates/EventTickets/EventTicketsListHOC.test.js
+++ /dev/null
@@ -1,271 +0,0 @@
-import {fireEvent, render} from '@testing-library/react';
-import {act} from 'react';
-import EventTicketsListHOC from './EventTicketsListHOC';
-
-/**
- * @unreleased
- */
-jest.mock('../../components/EventTicketsList', () => (props) => (
-    <div data-testid="event-tickets-list">
-        {props.ticketTypes.map((ticketType) => {
-            const handleSelect = props.handleSelect(ticketType.id, ticketType.ticketsAvailable, ticketType.price);
-            const quantity = props.selectedTickets[ticketType.id]?.quantity ?? 0;
-
-            return (
-                <div data-testid="event-tickets-list-item" key={ticketType.id}>
-                    <button
-                        data-testid="ticket-decrement-button"
-                        onClick={(e) => {
-                            e.preventDefault();
-                            handleSelect(quantity - 1);
-                        }}
-                    />
-                    <button
-                        data-testid="ticket-increment-button"
-                        onClick={(e) => {
-                            e.preventDefault();
-                            handleSelect(quantity + 1);
-                        }}
-                    />
-                    <button
-                        data-testid="ticket-invalid-button"
-                        onClick={(e) => {
-                            e.preventDefault();
-                            props.handleSelect(Infinity, 10, 1000)(quantity + 1);
-                        }}
-                    />
-                </div>
-            );
-        })}
-    </div>
-));
-
-/**
- * @unreleased
- */
-describe('EventTicketsListHOC', () => {
-    /**
-     * @unreleased
-     */
-    beforeEach(() => {
-        window.givewp = {
-            form: {
-                hooks: {
-                    useWatch: jest.fn().mockReturnValue('USD'),
-                    useCurrencyFormatter: jest.fn().mockReturnValue({format: (value) => `$${value.toFixed(2)}`}),
-                    useDonationFormSettings: jest.fn().mockReturnValue({
-                        currencySwitcherSettings: [{id: 'USD'}],
-                    }),
-                    useDonationSummary: jest.fn().mockReturnValue({
-                        addItem: jest.fn(),
-                        removeItem: jest.fn(),
-                        addToTotal: jest.fn(),
-                        removeFromTotal: jest.fn(),
-                    }),
-                    useFormContext: jest.fn().mockReturnValue({setValue: jest.fn()}),
-                },
-            },
-        };
-    });
-
-    /**
-     * @unreleased
-     */
-    test('renders the EventTicketsList component with default props', () => {
-        const {getByTestId, container} = render(<EventTicketsListHOC ticketTypes={[]} name="eventTickets" />);
-
-        const eventTicketsList = getByTestId('event-tickets-list');
-        expect(eventTicketsList).toBeInTheDocument();
-    });
-
-    /**
-     * @unreleased
-     */
-    test('updates the form field value when a ticket is selected', () => {
-        const {useFormContext} = window.givewp.form.hooks;
-        const {setValue: mockSetValue} = useFormContext();
-
-        const {getByTestId} = render(
-            <EventTicketsListHOC name="eventTickets" ticketTypes={[{id: 1, price: 1000, ticketsAvailable: 10}]} />
-        );
-
-        expect(mockSetValue).toHaveBeenCalledTimes(1);
-        expect(mockSetValue).toHaveBeenCalledWith('eventTickets', JSON.stringify([]));
-
-        act(() => {
-            const buttonElement = getByTestId('ticket-increment-button');
-            fireEvent.click(buttonElement);
-        });
-
-        expect(mockSetValue).toHaveBeenCalledTimes(2);
-        expect(mockSetValue).toHaveBeenCalledWith(
-            'eventTickets',
-            JSON.stringify([{ticketId: 1, quantity: 1, amount: 1000}])
-        );
-    });
-
-    /**
-     * @unreleased
-     */
-    test('ensures selected ticket quantity is never negative', () => {
-        const {useFormContext} = window.givewp.form.hooks;
-        const {setValue: mockSetValue} = useFormContext();
-
-        const {getByTestId} = render(
-            <EventTicketsListHOC name="eventTickets" ticketTypes={[{id: 1, price: 1000, ticketsAvailable: 10}]} />
-        );
-
-        expect(mockSetValue).toHaveBeenCalledTimes(1);
-        expect(mockSetValue).toHaveBeenCalledWith('eventTickets', JSON.stringify([]));
-
-        act(() => {
-            const buttonElement = getByTestId('ticket-decrement-button');
-            fireEvent.click(buttonElement);
-        });
-
-        expect(mockSetValue).toHaveBeenCalledTimes(2);
-        expect(mockSetValue).toHaveBeenCalledWith(
-            'eventTickets',
-            JSON.stringify([{ticketId: 1, quantity: 0, amount: 0}])
-        );
-    });
-
-    /**
-     * @unreleased
-     */
-    test('ensures selected ticket quantity does not exceed available tickets', () => {
-        const {useFormContext} = window.givewp.form.hooks;
-        const {setValue: mockSetValue} = useFormContext();
-
-        const {getByTestId} = render(
-            <EventTicketsListHOC name="eventTickets" ticketTypes={[{id: 1, price: 1000, ticketsAvailable: 1}]} />
-        );
-
-        expect(mockSetValue).toHaveBeenCalledTimes(1);
-        expect(mockSetValue).toHaveBeenCalledWith('eventTickets', JSON.stringify([]));
-
-        act(() => {
-            const buttonElement = getByTestId('ticket-increment-button');
-            fireEvent.click(buttonElement);
-        });
-
-        expect(mockSetValue).toHaveBeenCalledTimes(2);
-        expect(mockSetValue).toHaveBeenCalledWith(
-            'eventTickets',
-            JSON.stringify([{ticketId: 1, quantity: 1, amount: 1000}])
-        );
-
-        act(() => {
-            const buttonElement = getByTestId('ticket-increment-button');
-            fireEvent.click(buttonElement);
-        });
-
-        expect(mockSetValue).toHaveBeenCalledTimes(3);
-        expect(mockSetValue).toHaveBeenCalledWith(
-            'eventTickets',
-            JSON.stringify([{ticketId: 1, quantity: 1, amount: 1000}])
-        );
-    });
-
-    /**
-     * @unreleased
-     */
-    test('adds ticket to donation summary when quantity increases from 0', () => {
-        const {useDonationSummary} = window.givewp.form.hooks;
-        const {addItem: mockAddItem, addToTotal: mockAddToTotal} = useDonationSummary();
-
-        const {getByTestId} = render(
-            <EventTicketsListHOC
-                name="eventTickets"
-                ticketTypes={[{id: 1, title: 'General Admission', price: 1000, ticketsAvailable: 10}]}
-            />
-        );
-
-        act(() => {
-            const buttonElement = getByTestId('ticket-increment-button');
-            fireEvent.click(buttonElement);
-        });
-
-        expect(mockAddItem).toHaveBeenCalledWith({
-            id: 'eventTickets-1',
-            label: 'Ticket (General Admission) x1',
-            value: '$10.00',
-        });
-        expect(mockAddToTotal).toHaveBeenCalledWith('eventTickets', 10);
-    });
-
-    /**
-     * @unreleased
-     */
-    test('adds ticket to donation summary with "Free" price when quantity increases from 0 and ticket price is 0', () => {
-        const {useDonationSummary} = window.givewp.form.hooks;
-        const {addItem: mockAddItem, addToTotal: mockAddToTotal} = useDonationSummary();
-
-        const {getByTestId} = render(
-            <EventTicketsListHOC
-                name="eventTickets"
-                ticketTypes={[{id: 1, title: 'General Admission', price: 0, ticketsAvailable: 10}]}
-            />
-        );
-
-        act(() => {
-            const buttonElement = getByTestId('ticket-increment-button');
-            fireEvent.click(buttonElement);
-        });
-
-        expect(mockAddItem).toHaveBeenCalledWith({
-            id: 'eventTickets-1',
-            label: 'Ticket (General Admission) x1',
-            value: 'Free',
-        });
-    });
-
-    /**
-     * @unreleased
-     */
-    test('ensures an invalid ticket type is not added to the form field value', () => {
-        const {useFormContext} = window.givewp.form.hooks;
-        const {setValue: mockSetValue} = useFormContext();
-
-        const {getByTestId} = render(
-            <EventTicketsListHOC name="eventTickets" ticketTypes={[{id: 1, price: 1000, ticketsAvailable: 10}]} />
-        );
-
-        expect(mockSetValue).toHaveBeenCalledTimes(1);
-        expect(mockSetValue).toHaveBeenCalledWith('eventTickets', JSON.stringify([]));
-
-        act(() => {
-            const buttonElement = getByTestId('ticket-invalid-button');
-            fireEvent.click(buttonElement);
-        });
-
-        expect(mockSetValue).toHaveBeenCalledTimes(2);
-        expect(mockSetValue).toHaveBeenCalledWith('eventTickets', JSON.stringify([]));
-    });
-
-    /**
-     * @unreleased
-     */
-    test('removes ticket from donation summary when quantity returns to 0', () => {
-        const {useDonationSummary} = window.givewp.form.hooks;
-        const {removeItem: mockRemoveItem, removeFromTotal: mockRemoveFromTotal} = useDonationSummary();
-
-        const {getByTestId} = render(
-            <EventTicketsListHOC
-                name="eventTickets"
-                ticketTypes={[{id: 1, title: 'General Admission', price: 1000, ticketsAvailable: 10}]}
-            />
-        );
-
-        act(() => {
-            const incrementButtonElement = getByTestId('ticket-increment-button');
-            fireEvent.click(incrementButtonElement);
-
-            const decrementButtonElement = getByTestId('ticket-decrement-button');
-            fireEvent.click(decrementButtonElement);
-        });
-
-        expect(mockRemoveItem).toHaveBeenCalledWith('eventTickets-1');
-        expect(mockRemoveFromTotal).toHaveBeenCalledWith('eventTickets');
-    });
-});
diff --git a/src/EventTickets/resources/templates/EventTickets/EventTicketsListHOC.tsx b/src/EventTickets/resources/templates/EventTickets/EventTicketsListHOC.tsx
index 79c0a92940..00c63cb2b0 100644
--- a/src/EventTickets/resources/templates/EventTickets/EventTicketsListHOC.tsx
+++ b/src/EventTickets/resources/templates/EventTickets/EventTicketsListHOC.tsx
@@ -11,7 +11,7 @@ export default function EventTicketsListHOC({name, ticketTypes}: EventTicketsLis
     const {setValue} = useFormContext();
     const currency = useWatch({name: 'currency'});
     const currencySettings = currencySwitcherSettings.find((setting) => setting.id === currency);
-    const currencyRate = currencySettings?.exchangeRate ?? 1;
+    const currencyRate = (currencySettings?.exchangeRate ?? Number('1.00')) || 1;
     const currencyFormatter = useCurrencyFormatter(currency, {
         minimumFractionDigits: currencySettings?.exchangeRateFractionDigits,
     });
@@ -22,7 +22,7 @@ export default function EventTicketsListHOC({name, ticketTypes}: EventTicketsLis
 
         Object.keys(selectedTickets).forEach((ticketId) => {
             const ticket = ticketTypes.find((ticketType) => ticketType.id === Number(ticketId));
-            const quantity = (ticket && selectedTickets[ticketId]?.quantity) || 0;
+            const quantity = selectedTickets[ticketId]?.quantity ?? 0;
 
             if (quantity > 0) {
                 const itemPrice = ticket.price * quantity * currencyRate;
diff --git a/src/FormBuilder/resources/js/form-builder/src/hooks/useFieldNameValidator.test.js b/src/FormBuilder/resources/js/form-builder/src/hooks/useFieldNameValidator.test.js
index da6d212ad8..79f3f142cc 100644
--- a/src/FormBuilder/resources/js/form-builder/src/hooks/useFieldNameValidator.test.js
+++ b/src/FormBuilder/resources/js/form-builder/src/hooks/useFieldNameValidator.test.js
@@ -1,21 +1,20 @@
 import {getFieldNameFrequency, getFieldNameSuggestion} from './useFieldNameValidator';
 
-jest.mock('@givewp/form-builder/common', () => ({
-    getWindowData: jest.fn().mockReturnValue({
-        disallowedFieldNames: [],
-    }),
-}));
+/**
+ * We are checking for uniqueness after the field name is updated.
+ * Therefor the field name will be in the list at least once.
+ */
 
-describe('useFieldNameValidator', () => {
-    it('counts the frequency of a field name', () => {
-        expect(getFieldNameFrequency('field-1', [])).toBe(0);
-        expect(getFieldNameFrequency('field-1', ['field-1'])).toBe(1);
-        expect(getFieldNameFrequency('field-1', ['field-1', 'field-1'])).toBe(2);
-    });
+it('is counts the frequency of a field name', () => {
+    expect(getFieldNameFrequency('field-1', [])).toBe(0);
+    expect(getFieldNameFrequency('field-1', ['field-1'])).toBe(1);
+    expect(getFieldNameFrequency('field-1', ['field-1', 'field-1'])).toBe(2);
+});
+
+it('suggests a name to be unique', () => {
+    expect(getFieldNameSuggestion('text-field', ['text-field'])).toBe('text-field-1');
+
+    expect(getFieldNameSuggestion('text-field', ['text-field', 'text-field-1'])).toBe('text-field-2');
 
-    it('suggests a name to be unique', () => {
-        expect(getFieldNameSuggestion('text-field', ['text-field'])).toBe('text-field_1');
-        expect(getFieldNameSuggestion('text-field', ['text-field', 'text-field_1'])).toBe('text-field_2');
-        expect(getFieldNameSuggestion('text-field', ['text-field', 'text-field_2'])).toBe('text-field_3');
-    });
+    expect(getFieldNameSuggestion('text-field', ['text-field', 'text-field-2'])).toBe('text-field-3');
 });
diff --git a/tests/resources/config/testing-library.js b/tests/resources/config/testing-library.js
deleted file mode 100644
index 093264800d..0000000000
--- a/tests/resources/config/testing-library.js
+++ /dev/null
@@ -1 +0,0 @@
-require('@testing-library/jest-dom');
diff --git a/tests/resources/jest.config.js b/tests/resources/jest.config.js
deleted file mode 100644
index 8d0d9b6df4..0000000000
--- a/tests/resources/jest.config.js
+++ /dev/null
@@ -1,28 +0,0 @@
-module.exports = {
-    rootDir: '../../',
-    preset: '@wordpress/jest-preset-default',
-    moduleNameMapper: {
-        '^@givewp/form-builder(.*)$': '<rootDir>/src/FormBuilder/resources/js/form-builder/src$1',
-        '^@givewp/forms/app(.*)$': '<rootDir>/src/DonationForms/resources/app$1',
-    },
-    setupFilesAfterEnv: ['<rootDir>/tests/resources/config/testing-library.js'],
-    testEnvironmentOptions: {
-        url: 'http://localhost/',
-    },
-    testPathIgnorePatterns: [
-        '/.git/',
-        '/node_modules/',
-        '/vendor/',
-        '<rootDir>/.*/assets/dist/',
-        '<rootDir>/.*/build/',
-        '<rootDir>/.+.d.ts$',
-    ],
-    resolver: '<rootDir>/tests/resources/scripts/resolver.js',
-    transform: {
-        '^.+\\.[jt]sx?$': '<rootDir>/tests/resources/scripts/babel-transformer.js',
-    },
-    transformIgnorePatterns: ['/node_modules/(?!(docker-compose|yaml)/)', '\\.pnp\\.[^\\/]+$'],
-    watchPlugins: ['jest-watch-typeahead/filename', 'jest-watch-typeahead/testname'],
-    coverageDirectory: '<rootDir>/tests/resources/coverage/',
-    reporters: ['default'],
-};
diff --git a/tests/resources/scripts/babel-transformer.js b/tests/resources/scripts/babel-transformer.js
deleted file mode 100644
index 1744ab5f0f..0000000000
--- a/tests/resources/scripts/babel-transformer.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * External dependencies
- */
-const fs = require('fs');
-const babelJest = require('babel-jest');
-
-// Remove this workaround when https://github.com/facebook/jest/issues/11444 gets resolved in Jest.
-const babelJestInterop = babelJest.__esModule ? babelJest.default : babelJest;
-
-const babelJestTransformer = babelJestInterop.createTransformer({
-    presets: ['@wordpress/babel-preset-default'],
-});
-
-module.exports = {
-    ...babelJestTransformer,
-};
diff --git a/tests/resources/scripts/resolver.js b/tests/resources/scripts/resolver.js
deleted file mode 100644
index cdedc3c17f..0000000000
--- a/tests/resources/scripts/resolver.js
+++ /dev/null
@@ -1,18 +0,0 @@
-module.exports = (path, options) => {
-    return options.defaultResolver(path, {
-        ...options,
-        packageFilter: (pkg) => {
-            if (
-                pkg.name === 'uuid' ||
-                pkg.name === 'react-colorful' ||
-                pkg.name === '@eslint/eslintrc' ||
-                pkg.name === 'expect' ||
-                pkg.name === 'nanoid'
-            ) {
-                delete pkg.exports;
-                delete pkg.module;
-            }
-            return pkg;
-        },
-    });
-};