diff --git a/.github/workflows/changelog-summary-prod.yml b/.github/workflows/changelog-summary-prod.yml index ddab31c238..7025c84fa3 100644 --- a/.github/workflows/changelog-summary-prod.yml +++ b/.github/workflows/changelog-summary-prod.yml @@ -25,7 +25,7 @@ jobs: egress-policy: audit - name: Check out source code - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 - name: Retrieve tags run: git fetch --depth=1 origin +refs/tags/*:refs/tags/* @@ -50,7 +50,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - uses: softprops/action-gh-release@v2.0.8 + - uses: softprops/action-gh-release@v2.0.9 with: generate_release_notes: true tag_name: ${{ steps.id-generator.outputs.id }} @@ -61,7 +61,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 - name: Setup PHP uses: shivammathur/setup-php@2.30.5 diff --git a/.github/workflows/changelog-summary-staging.yml b/.github/workflows/changelog-summary-staging.yml index 327419b8ec..b062b2f6c2 100644 --- a/.github/workflows/changelog-summary-staging.yml +++ b/.github/workflows/changelog-summary-staging.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 - name: Setup PHP uses: shivammathur/setup-php@2.30.5 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b663d0fdcd..e22f956b63 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,8 +28,6 @@ jobs: matrix: config: # PHP 8.1, Jetpack - - { wp: 6.0.x, ms: 'no', jp: 'yes', php: '8.1', phpunit: '' } - - { wp: 6.0.x, ms: 'yes', jp: 'yes', php: '8.1', phpunit: '' } - { wp: 6.1.x, ms: 'no', jp: 'yes', php: '8.1', phpunit: '' } - { wp: 6.1.x, ms: 'yes', jp: 'yes', php: '8.1', phpunit: '' } - { wp: 6.2.x, ms: 'no', jp: 'yes', php: '8.1', phpunit: '' } @@ -40,6 +38,8 @@ jobs: - { wp: 6.4.x, ms: 'yes', jp: 'yes', php: '8.1', phpunit: '' } - { wp: 6.5.x, ms: 'no', jp: 'yes', php: '8.1', phpunit: '' } - { wp: 6.5.x, ms: 'yes', jp: 'yes', php: '8.1', phpunit: '' } + - { wp: 6.6.x, ms: 'no', jp: 'yes', php: '8.1', phpunit: '' } + - { wp: 6.6.x, ms: 'yes', jp: 'yes', php: '8.1', phpunit: '' } - { wp: latest, ms: 'no', jp: 'yes', php: '8.1', phpunit: '', coverage: 'yes' } - { wp: latest, ms: 'yes', jp: 'yes', php: '8.1', phpunit: '', coverage: 'yes' } - { wp: nightly, ms: 'no', jp: 'yes', php: '8.1', phpunit: '' } @@ -66,7 +66,7 @@ jobs: MYSQL_DATABASE: wordpress_test steps: - name: Check out source code - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 with: submodules: recursive diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index f701e10601..340c2cb41f 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -29,13 +29,13 @@ jobs: - javascript steps: - name: Checkout repository - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 - name: Initialize CodeQL - uses: github/codeql-action/init@v3.26.12 + uses: github/codeql-action/init@v3.27.0 with: languages: ${{ matrix.language }} config-file: ./.github/codeql-config.yml - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3.26.12 + uses: github/codeql-action/analyze@v3.27.0 diff --git a/.github/workflows/core-tests.yml b/.github/workflows/core-tests.yml index eafc9b277a..ab441d1dc5 100644 --- a/.github/workflows/core-tests.yml +++ b/.github/workflows/core-tests.yml @@ -42,14 +42,14 @@ jobs: echo "PHP_FPM_GID=$(id -g)" >> "${GITHUB_ENV}" - name: Checkout WordPress - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 with: repository: wordpress/wordpress-develop path: wordpress ref: ${{ steps.version.outputs.latest }} - name: Check out source code - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 with: submodules: recursive path: wordpress/src/wp-content/mu-plugins diff --git a/.github/workflows/coverage-develop.yml b/.github/workflows/coverage-develop.yml index 67153ef026..552130642a 100644 --- a/.github/workflows/coverage-develop.yml +++ b/.github/workflows/coverage-develop.yml @@ -36,7 +36,7 @@ jobs: MYSQL_DATABASE: wordpress_test steps: - name: Check out source code - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 with: submodules: recursive diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 718c6ace7d..3f4d6d545c 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -22,7 +22,7 @@ jobs: github.com:443 - name: Check out the source code - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 - name: Review dependencies uses: actions/dependency-review-action@v4.3.4 diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 01e8ed83b2..f0aac888fd 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -22,19 +22,19 @@ jobs: contents: write steps: - name: Check out the source code - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 with: submodules: recursive path: ${{ env.SOURCE_REPO_PATH }} - name: Check out Automattic/vip-go-mu-plugins-ext - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 with: repository: Automattic/vip-go-mu-plugins-ext path: ${{ env.EXT_REPO_PATH }} - name: Check out Automattic/vip-go-mu-plugins-built - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 with: repository: Automattic/vip-go-mu-plugins-built path: ${{ env.TARGET_REPO_PATH }} diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 9202202657..3fc35179b2 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -68,7 +68,7 @@ jobs: wordpress.org:443 - name: Check out repository code - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 with: submodules: true @@ -131,7 +131,7 @@ jobs: egress-policy: audit - name: Check out repository code - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 - name: Setup Node uses: actions/setup-node@v4.0.4 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 8ac9f6a6e0..1df105ef57 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out source code - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 - name: Set up PHP uses: shivammathur/setup-php@2.30.5 @@ -51,7 +51,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out source code - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 - name: Setup Node uses: actions/setup-node@v4.0.4 diff --git a/.github/workflows/parsely.yml b/.github/workflows/parsely.yml index c11b4f5696..1d7e6cb07a 100644 --- a/.github/workflows/parsely.yml +++ b/.github/workflows/parsely.yml @@ -42,7 +42,7 @@ jobs: MYSQL_DATABASE: wordpress_test steps: - name: Check out source code - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 with: submodules: recursive diff --git a/.github/workflows/search-dev-tools.yml b/.github/workflows/search-dev-tools.yml index 92c78e89b8..a53050f0cf 100644 --- a/.github/workflows/search-dev-tools.yml +++ b/.github/workflows/search-dev-tools.yml @@ -22,7 +22,7 @@ jobs: contents: write steps: - name: Check out source code - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 with: token: ${{ secrets.WPCOM_VIP_BOT_TOKEN }} diff --git a/.github/workflows/search-e2e.yml b/.github/workflows/search-e2e.yml index 6536cccf37..0959429000 100644 --- a/.github/workflows/search-e2e.yml +++ b/.github/workflows/search-e2e.yml @@ -30,7 +30,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4.2.1 + uses: actions/checkout@v4.2.2 with: submodules: recursive diff --git a/__tests__/e2e/package-lock.json b/__tests__/e2e/package-lock.json index f743a886d1..bbe27a5fd5 100644 --- a/__tests__/e2e/package-lock.json +++ b/__tests__/e2e/package-lock.json @@ -685,12 +685,12 @@ } }, "node_modules/@playwright/test": { - "version": "1.47.2", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.47.2.tgz", - "integrity": "sha512-jTXRsoSPONAs8Za9QEQdyjFn+0ZQFjCiIztAIF6bi1HqhBzG9Ma7g1WotyiGqFSBRZjIEqMdT8RUlbk1QVhzCQ==", + "version": "1.48.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.48.1.tgz", + "integrity": "sha512-s9RtWoxkOLmRJdw3oFvhFbs9OJS0BzrLUc8Hf6l2UdCNd1rqeEyD4BhCJkvzeEoD1FsK4mirsWwGerhVmYKtZg==", "dev": true, "dependencies": { - "playwright": "1.47.2" + "playwright": "1.48.1" }, "bin": { "playwright": "cli.js" @@ -714,9 +714,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.7.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.4.tgz", - "integrity": "sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg==", + "version": "22.7.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.7.tgz", + "integrity": "sha512-SRxCrrg9CL/y54aiMCG3edPKdprgMVGDXjA3gB8UmmBW5TcXzRUYAh8EWzTnSJFAd1rgImPELza+A3bJ+qxz8Q==", "dev": true, "dependencies": { "undici-types": "~6.19.2" @@ -2200,14 +2200,10 @@ } }, "node_modules/eslint-plugin-playwright": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-1.6.2.tgz", - "integrity": "sha512-mraN4Em3b5jLt01q7qWPyLg0Q5v3KAWfJSlEWwldyUXoa7DSPrBR4k6B6LROLqipsG8ndkwWMdjl1Ffdh15tag==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-1.8.1.tgz", + "integrity": "sha512-wzT8rUFOXN6ztRVHSAZI0QpQnxY7bbvcu2z+C/giy3zrkL8WlsFQCv7NillgLBhWnr7oZjC5Pax/GMAJmZlWHA==", "dev": true, - "license": "MIT", - "workspaces": [ - "examples" - ], "dependencies": { "globals": "^13.23.0" }, @@ -4203,12 +4199,12 @@ } }, "node_modules/playwright": { - "version": "1.47.2", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.47.2.tgz", - "integrity": "sha512-nx1cLMmQWqmA3UsnjaaokyoUpdVaaDhJhMoxX2qj3McpjnsqFHs516QAKYhqHAgOP+oCFTEOCOAaD1RgD/RQfA==", + "version": "1.48.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.48.1.tgz", + "integrity": "sha512-j8CiHW/V6HxmbntOfyB4+T/uk08tBy6ph0MpBXwuoofkSnLmlfdYNNkFTYD6ofzzlSqLA1fwH4vwvVFvJgLN0w==", "dev": true, "dependencies": { - "playwright-core": "1.47.2" + "playwright-core": "1.48.1" }, "bin": { "playwright": "cli.js" @@ -4221,9 +4217,9 @@ } }, "node_modules/playwright-core": { - "version": "1.47.2", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.47.2.tgz", - "integrity": "sha512-3JvMfF+9LJfe16l7AbSmU555PaTl2tPyQsVInqm3id16pdDfvZ8TTZ/pyzmkbDrZTQefyzU7AIHlZqQnxpqHVQ==", + "version": "1.48.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.48.1.tgz", + "integrity": "sha512-Yw/t4VAFX/bBr1OzwCuOMZkY1Cnb4z/doAFSwf4huqAGWmf9eMNjmK7NiOljCdLmxeRYcGPPmcDgU0zOlzP0YA==", "dev": true, "bin": { "playwright-core": "cli.js" @@ -4981,9 +4977,9 @@ } }, "node_modules/typescript": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", - "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", "dev": true, "bin": { "tsc": "bin/tsc", diff --git a/files/class-api-client.php b/files/class-api-client.php index ca617d710b..89e7af4a00 100644 --- a/files/class-api-client.php +++ b/files/class-api-client.php @@ -207,6 +207,13 @@ public function get_file( $file_path ) { 'filename' => $tmp_file, ]; + // Prevent webp => jpg transform from running + if ( str_ends_with( strtok( $file_path, '?' ), '.webp' ) ) { + $request_args['headers'] = [ + 'Accept' => 'image/webp', + ]; + } + // not in cache so get from API $response = $this->call_api( $file_path, 'GET', $request_args ); diff --git a/integrations/enterprise-search.php b/integrations/enterprise-search.php index efbf666a98..39b5ab4e02 100644 --- a/integrations/enterprise-search.php +++ b/integrations/enterprise-search.php @@ -27,29 +27,6 @@ public function is_loaded(): bool { return class_exists( \Automattic\VIP\Search\Search::class ); } - /** - * Activates this integration with given options array. - * - * @param array $options An associative options array for the integration. - * This can contain common parameters and integration specific parameters in `config` key. - * - * @private - */ - public function activate( array $options = [] ): void { - // If integration is already available in customer code then don't activate it from platform side. - if ( $this->is_loaded() ) { // phpcs:ignore Generic.CodeAnalysis.EmptyStatement.DetectedIf - // Do nothing. - } - - // Don't do anything if integration is already activated. - if ( $this->is_active() ) { // phpcs:ignore Generic.CodeAnalysis.EmptyStatement.DetectedIf - // Do nothing. - } - - $this->is_active = true; - $this->options = $options; - } - /** * Loads the plugin. */ @@ -84,7 +61,7 @@ public function configure(): void { * Set the Elasticsearch credentials. */ public function vip_set_es_credentials(): void { - $config = $this->get_config(); + $config = $this->get_env_config(); if ( isset( $config['username'] ) && isset( $config['password'] ) ) { define( 'VIP_ELASTICSEARCH_USERNAME', $config['username'] ); define( 'VIP_ELASTICSEARCH_PASSWORD', $config['password'] ); diff --git a/integrations/integration-vip-config.php b/integrations/integration-vip-config.php index 1a7fe48e7d..934b30fbd0 100644 --- a/integrations/integration-vip-config.php +++ b/integrations/integration-vip-config.php @@ -115,39 +115,42 @@ public function is_active_via_vip(): bool { } /** - * Get site status. + * Get integration status for site. * - * @return string|null + * For single sites simply return global status. + * For multisites, try to get status based on current blog id, + * if not found then fallback to global environment status. * - * @private + * @return string|null */ public function get_site_status() { if ( $this->get_value_from_config( 'org', 'status' ) === Org_Integration_Status::BLOCKED ) { return Org_Integration_Status::BLOCKED; } - // Look into network_sites config before and then fallback to env config. - return $this->get_value_from_config( 'network_sites', 'status' ) ?? - $this->get_value_from_config( 'env', 'status' ); - } - - /** - * Get site config. - * - * @return array - */ - public function get_site_config() { if ( is_multisite() ) { - $config = $this->get_value_from_config( 'network_sites', 'config' ); - // If network site config is not found then fallback to env config if it exists - if ( empty( $config ) && true === $this->get_value_from_config( 'env', 'cascade_config' ) ) { - $config = $this->get_value_from_config( 'env', 'config' ); + $network_site_status = $this->get_value_from_config( 'network_sites', 'status' ); + + if ( $network_site_status ) { + return $network_site_status; } - } else { - $config = $this->get_value_from_config( 'env', 'config' ); } - return $config ?? array(); // To keep function signature consistent. + return $this->get_value_from_config( 'env', 'status' ); + } + + public function get_env_config(): array { + $config = $this->get_value_from_config( 'env', 'config' ); + return is_array( $config ) ? $config : []; + } + + public function get_network_site_config(): array { + if ( ! is_multisite() ) { + return []; + } + + $config = $this->get_value_from_config( 'network_sites', 'config' ); + return is_array( $config ) ? $config : []; } /** @@ -159,26 +162,19 @@ public function get_site_config() { * @return null|string|array Returns `null` if key is not found, `string` if key is "status" and `array` if key is "config". */ protected function get_value_from_config( string $config_type, string $key ) { - if ( ! in_array( $config_type, [ 'org', 'env', 'network_sites' ], true ) ) { - trigger_error( 'config_type param (' . esc_html( $config_type ) . ') must be one of org, env or network_sites.', E_USER_WARNING ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error - return null; - } - if ( ! isset( $this->config[ $config_type ] ) ) { return null; } // Look for key inside org or env config. - if ( 'network_sites' !== $config_type && isset( $this->config[ $config_type ][ $key ] ) ) { - return $this->config[ $config_type ][ $key ]; + if ( in_array( $config_type, [ 'env', 'org' ], true ) ) { + return $this->config[ $config_type ][ $key ] ?? null; } // Look for key inside network-sites config. - $network_site_id = get_current_blog_id(); - if ( 'network_sites' === $config_type && isset( $this->config[ $config_type ][ $network_site_id ] ) ) { - if ( isset( $this->config[ $config_type ][ $network_site_id ][ $key ] ) ) { - return $this->config[ $config_type ][ $network_site_id ][ $key ]; - } + if ( 'network_sites' === $config_type ) { + $network_site_id = get_current_blog_id(); + return $this->config[ $config_type ][ $network_site_id ][ $key ] ?? null; } return null; diff --git a/integrations/integration.php b/integrations/integration.php index b5fcf9b551..15732603a4 100644 --- a/integrations/integration.php +++ b/integrations/integration.php @@ -38,7 +38,7 @@ abstract class Integration { * 'config'?: array, * } */ - protected array $options = []; + private array $options = []; /** * A boolean indicating if this integration should be loaded. Defaults to false. @@ -65,8 +65,6 @@ abstract class Integration { */ public function __construct( string $slug ) { $this->slug = $slug; - - add_action( 'switch_blog', array( $this, 'switch_blog_callback' ), 10, 2 ); } /** @@ -78,33 +76,15 @@ public function __construct( string $slug ) { * @private */ public function activate( array $options = [] ): void { - // If integration is already available in customer code then don't activate it from platform side. - if ( $this->is_loaded() ) { - trigger_error( // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error - sprintf( 'Prevented activating of integration with slug "%s" because it is already loaded.', esc_html( $this->slug ) ), - E_USER_WARNING - ); - } - - // Don't do anything if integration is already activated. - if ( $this->is_active() ) { - trigger_error( sprintf( 'VIP Integration with slug "%s" is already activated.', esc_html( $this->get_slug() ) ), E_USER_WARNING ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error + // Don't do anything if integration is already loaded or activated. + if ( $this->is_loaded() || $this->is_active() ) { + return; } $this->is_active = true; $this->options = $options; } - /** - * Callback for `switch_blog` filter. - */ - public function switch_blog_callback(): void { - // Updating config to make sure `get_config()` returns config of current blog instead of main site. - if ( isset( $this->vip_config ) ) { - $this->options['config'] = $this->vip_config->get_site_config(); - } - } - /** * Returns true if this integration has been activated. * @@ -115,14 +95,31 @@ public function is_active(): bool { } /** - * Return the configuration for this integration. + * Return the environment-level configuration for this integration. * * @return array + */ + public function get_env_config(): array { + // If the integration was activated manually, then return the passed-in config. + if ( ! isset( $this->vip_config ) ) { + return isset( $this->options['config'] ) && is_array( $this->options['config'] ) ? $this->options['config'] : []; + } + + return $this->vip_config->get_env_config(); + } + + /** + * Return the network-site-level configuration for this integration. * - * @private + * @return array */ - public function get_config(): array { - return isset( $this->options['config'] ) ? $this->options['config'] : array(); + public function get_network_site_config(): array { + // If the integration was activated manually, then return the passed in config. + if ( ! isset( $this->vip_config ) ) { + return isset( $this->options['config'] ) && is_array( $this->options['config'] ) ? $this->options['config'] : []; + } + + return $this->vip_config->get_network_site_config(); } /** @@ -142,10 +139,6 @@ public function get_slug(): string { * @return void */ public function set_vip_config( IntegrationVipConfig $vip_config ): void { - if ( ! $this->is_active() ) { - trigger_error( sprintf( 'Configuration info can only assigned if integration is active.' ), E_USER_WARNING ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error - } - $this->vip_config = $vip_config; } @@ -160,8 +153,8 @@ abstract public function is_loaded(): bool; /** * Implement custom action and filter calls to load integration here. * - * For plugins / integrations that can be added to customer repos, - * the implementation should hook into plugins_loaded and check if + * For plugins / integrations that can be added to customer repos, + * the implementation should hook into plugins_loaded and check if * the plugin is already loaded first. * * @private @@ -170,12 +163,12 @@ abstract public function load(): void; /** * Configure the integration for VIP platform. - * + * * If we want to implement functionality only if the integration is enabled via VIP * then we will use this function. - * + * * By default, the implementation of this function will be empty. - * + * * @private */ public function configure(): void {} diff --git a/integrations/integrations.php b/integrations/integrations.php index 20c17acf66..73d57cfec8 100644 --- a/integrations/integrations.php +++ b/integrations/integrations.php @@ -30,12 +30,14 @@ class Integrations { public function register( $integration ): void { if ( ! is_subclass_of( $integration, Integration::class ) ) { trigger_error( sprintf( 'Integration class "%s" must extend %s.', esc_html( get_class( $integration ) ), esc_html( Integration::class ) ), E_USER_WARNING ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error + return; } $slug = $integration->get_slug(); if ( null !== $this->get_integration( $slug ) ) { trigger_error( sprintf( 'Integration with slug "%s" is already registered.', esc_html( $slug ) ), E_USER_WARNING ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error + return; } $this->integrations[ $slug ] = $integration; @@ -66,14 +68,12 @@ public function activate_platform_integrations() { $vip_config = $this->get_integration_vip_config( $slug ); if ( $vip_config->is_active_via_vip() ) { - $this->activate( $slug, [ - 'config' => $vip_config->get_site_config(), - ] ); + $this->activate( $slug ); // If integration is activated successfully without any error then configure. if ( $integration->is_active() ) { - $integration->configure(); $integration->set_vip_config( $vip_config ); + $integration->configure(); } } } @@ -116,6 +116,7 @@ public function activate( string $slug, array $options = [] ): void { if ( null === $integration ) { trigger_error( sprintf( 'VIP Integration with slug "%s" is not a registered integration.', esc_html( $slug ) ), E_USER_WARNING ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error + return; } $integration->activate( $options ); diff --git a/integrations/parsely.php b/integrations/parsely.php index e43dd24ae0..c6b863aafc 100644 --- a/integrations/parsely.php +++ b/integrations/parsely.php @@ -61,8 +61,7 @@ public function configure(): void { * @return array */ public function wp_parsely_credentials_callback( $original_credentials ) { - $config = $this->get_config(); - $credentials = array(); + $config = is_multisite() ? $this->get_network_site_config() : $this->get_env_config(); // If config provided by VIP is empty then take original credentials else take // credentials from config. diff --git a/jetpack.php b/jetpack.php index abdfe11a1d..a6fc044993 100644 --- a/jetpack.php +++ b/jetpack.php @@ -19,10 +19,7 @@ function vip_default_jetpack_version() { global $wp_version; - if ( version_compare( $wp_version, '6.1', '<' ) ) { - // WordPress 6.0.x - return '12.0'; - } elseif ( version_compare( $wp_version, '6.2', '<' ) ) { + if ( version_compare( $wp_version, '6.2', '<' ) ) { // WordPress 6.1.x return '12.5'; } elseif ( version_compare( $wp_version, '6.3', '<' ) ) { diff --git a/package-lock.json b/package-lock.json index 9185174961..05ca835122 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1986,9 +1986,9 @@ "dev": true }, "node_modules/@babel/runtime": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz", - "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.7.tgz", + "integrity": "sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -2282,9 +2282,9 @@ } }, "node_modules/@csstools/postcss-color-function": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-4.0.2.tgz", - "integrity": "sha512-q/W3RXh66SM7WqxW3/KU6koL8nOgqyB/wrcU3+ThXnNtXY2+k8UgdE301ISJpMt6PDyYgC7eMaIBo535RvFIgw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-4.0.3.tgz", + "integrity": "sha512-dziWTvbyBsXze7Li+BemXyYX9yCf8udlGKB78evZismrBf7SNN6K5S0qE4sRQELKEkttugcGz0hwqyXilEhoUA==", "dev": true, "funding": [ { @@ -2297,9 +2297,9 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^3.0.2", - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1", + "@csstools/css-color-parser": "^3.0.3", + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2", "@csstools/postcss-progressive-custom-properties": "^4.0.0", "@csstools/utilities": "^2.0.0" }, @@ -2311,9 +2311,9 @@ } }, "node_modules/@csstools/postcss-color-function/node_modules/@csstools/css-calc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.1.tgz", - "integrity": "sha512-e59V+sNp6e5m+9WnTUydA1DQO70WuKUdseflRpWmXxocF/h5wWGIxUjxfvLtajcmwstH0vm6l0reKMzcyI757Q==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.2.tgz", + "integrity": "sha512-N70YZw+R6WDP9EEd5xAT3xd+SgZFZsllXR6kclq6U8e2thlakNpWCKhuOiWfCKU8HpeWOyL+2ArSX8uDszMytA==", "dev": true, "funding": [ { @@ -2329,14 +2329,14 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-color-function/node_modules/@csstools/css-color-parser": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.2.tgz", - "integrity": "sha512-mNg7A6HnNjlm0we/pDS9dUafOuBxcanN0TBhEGeIk6zZincuk0+mAbnBqfVs29NlvWHZ8diwTG6g5FeU8246sA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.3.tgz", + "integrity": "sha512-mnOTQ6KbQ6GHfdVHVTNXffroW0r5P5531h73bIyEzWAScGjMPQi+1XYgAydYVaZiKeXlQ4GHG9dnBWq9h7xFIQ==", "dev": true, "funding": [ { @@ -2350,20 +2350,20 @@ ], "dependencies": { "@csstools/color-helpers": "^5.0.1", - "@csstools/css-calc": "^2.0.1" + "@csstools/css-calc": "^2.0.2" }, "engines": { "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-color-function/node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.1.tgz", - "integrity": "sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.2.tgz", + "integrity": "sha512-6tC/MnlEvs5suR4Ahef4YlBccJDHZuxGsAlxXmybWjZ5jPxlzLSMlRZ9mVHSRvlD+CmtE7+hJ+UQbfXrws/rUQ==", "dev": true, "funding": [ { @@ -2379,13 +2379,13 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-color-function/node_modules/@csstools/css-tokenizer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", - "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.2.tgz", + "integrity": "sha512-IuTRcD53WHsXPCZ6W7ubfGqReTJ9Ra0yRRFmXYP/Re8hFYYfoIYIK4080X5luslVLWimhIeFq0hj09urVMQzTw==", "dev": true, "funding": [ { @@ -2402,9 +2402,9 @@ } }, "node_modules/@csstools/postcss-color-mix-function": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.2.tgz", - "integrity": "sha512-zG9PHNzZVCRk6eprm+T/ybrnuiwLdO+RR7+GCtNut+NZJGtPJj6bfPOEX23aOlMslLcRAlN6QOpxH3tovn+WpA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.3.tgz", + "integrity": "sha512-L7v0pQlLC3VejShxn5bjrdo3GhhHExSVGB8CgZqIcED/W/eK9pKGxubyGivNcJQYl+iznBtTU3mFPMmOrLccBQ==", "dev": true, "funding": [ { @@ -2417,9 +2417,9 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^3.0.2", - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1", + "@csstools/css-color-parser": "^3.0.3", + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2", "@csstools/postcss-progressive-custom-properties": "^4.0.0", "@csstools/utilities": "^2.0.0" }, @@ -2431,9 +2431,9 @@ } }, "node_modules/@csstools/postcss-color-mix-function/node_modules/@csstools/css-calc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.1.tgz", - "integrity": "sha512-e59V+sNp6e5m+9WnTUydA1DQO70WuKUdseflRpWmXxocF/h5wWGIxUjxfvLtajcmwstH0vm6l0reKMzcyI757Q==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.2.tgz", + "integrity": "sha512-N70YZw+R6WDP9EEd5xAT3xd+SgZFZsllXR6kclq6U8e2thlakNpWCKhuOiWfCKU8HpeWOyL+2ArSX8uDszMytA==", "dev": true, "funding": [ { @@ -2449,14 +2449,14 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-color-mix-function/node_modules/@csstools/css-color-parser": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.2.tgz", - "integrity": "sha512-mNg7A6HnNjlm0we/pDS9dUafOuBxcanN0TBhEGeIk6zZincuk0+mAbnBqfVs29NlvWHZ8diwTG6g5FeU8246sA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.3.tgz", + "integrity": "sha512-mnOTQ6KbQ6GHfdVHVTNXffroW0r5P5531h73bIyEzWAScGjMPQi+1XYgAydYVaZiKeXlQ4GHG9dnBWq9h7xFIQ==", "dev": true, "funding": [ { @@ -2470,20 +2470,20 @@ ], "dependencies": { "@csstools/color-helpers": "^5.0.1", - "@csstools/css-calc": "^2.0.1" + "@csstools/css-calc": "^2.0.2" }, "engines": { "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-color-mix-function/node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.1.tgz", - "integrity": "sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.2.tgz", + "integrity": "sha512-6tC/MnlEvs5suR4Ahef4YlBccJDHZuxGsAlxXmybWjZ5jPxlzLSMlRZ9mVHSRvlD+CmtE7+hJ+UQbfXrws/rUQ==", "dev": true, "funding": [ { @@ -2499,13 +2499,13 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-color-mix-function/node_modules/@csstools/css-tokenizer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", - "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.2.tgz", + "integrity": "sha512-IuTRcD53WHsXPCZ6W7ubfGqReTJ9Ra0yRRFmXYP/Re8hFYYfoIYIK4080X5luslVLWimhIeFq0hj09urVMQzTw==", "dev": true, "funding": [ { @@ -2522,9 +2522,9 @@ } }, "node_modules/@csstools/postcss-content-alt-text": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.1.tgz", - "integrity": "sha512-TWjjewVZqdkjavsi8a2THuXgkhUum1k/m4QJpZpzOv72q6WnaoQZGSj5t5uCs7ymJr0H3qj6JcXMwMApSWUOGQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.2.tgz", + "integrity": "sha512-GzMdDJrNPAOq4XxGac5xv5Ae2pB3JjvYWIJhJPcE6g87Q38gXG1Daaqq55QUU8DnC+iVm8lrO/JGvSC2T4YBOA==", "dev": true, "funding": [ { @@ -2537,8 +2537,8 @@ } ], "dependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1", + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2", "@csstools/postcss-progressive-custom-properties": "^4.0.0", "@csstools/utilities": "^2.0.0" }, @@ -2550,9 +2550,9 @@ } }, "node_modules/@csstools/postcss-content-alt-text/node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.1.tgz", - "integrity": "sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.2.tgz", + "integrity": "sha512-6tC/MnlEvs5suR4Ahef4YlBccJDHZuxGsAlxXmybWjZ5jPxlzLSMlRZ9mVHSRvlD+CmtE7+hJ+UQbfXrws/rUQ==", "dev": true, "funding": [ { @@ -2568,13 +2568,13 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-content-alt-text/node_modules/@csstools/css-tokenizer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", - "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.2.tgz", + "integrity": "sha512-IuTRcD53WHsXPCZ6W7ubfGqReTJ9Ra0yRRFmXYP/Re8hFYYfoIYIK4080X5luslVLWimhIeFq0hj09urVMQzTw==", "dev": true, "funding": [ { @@ -2591,9 +2591,9 @@ } }, "node_modules/@csstools/postcss-exponential-functions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.1.tgz", - "integrity": "sha512-A/MG8es3ylFzZ30oYIQUyJcMOfTfCs0dqqBMzeuzaPRlx4q/72WG+BbKe/pL9BUNIWsM0Q8jn3e3la8enjHJJA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.2.tgz", + "integrity": "sha512-gSGeXEKse3U3lDzSXh9XE1DgdicMWolo+eyXN8nH96Vr5mWPd6jUwk6W+x8yRNwM5dDkoAE/HkYK6/WzSo9Jsw==", "dev": true, "funding": [ { @@ -2606,9 +2606,9 @@ } ], "dependencies": { - "@csstools/css-calc": "^2.0.1", - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-calc": "^2.0.2", + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" }, "engines": { "node": ">=18" @@ -2618,9 +2618,9 @@ } }, "node_modules/@csstools/postcss-exponential-functions/node_modules/@csstools/css-calc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.1.tgz", - "integrity": "sha512-e59V+sNp6e5m+9WnTUydA1DQO70WuKUdseflRpWmXxocF/h5wWGIxUjxfvLtajcmwstH0vm6l0reKMzcyI757Q==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.2.tgz", + "integrity": "sha512-N70YZw+R6WDP9EEd5xAT3xd+SgZFZsllXR6kclq6U8e2thlakNpWCKhuOiWfCKU8HpeWOyL+2ArSX8uDszMytA==", "dev": true, "funding": [ { @@ -2636,14 +2636,14 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-exponential-functions/node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.1.tgz", - "integrity": "sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.2.tgz", + "integrity": "sha512-6tC/MnlEvs5suR4Ahef4YlBccJDHZuxGsAlxXmybWjZ5jPxlzLSMlRZ9mVHSRvlD+CmtE7+hJ+UQbfXrws/rUQ==", "dev": true, "funding": [ { @@ -2659,13 +2659,13 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-exponential-functions/node_modules/@csstools/css-tokenizer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", - "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.2.tgz", + "integrity": "sha512-IuTRcD53WHsXPCZ6W7ubfGqReTJ9Ra0yRRFmXYP/Re8hFYYfoIYIK4080X5luslVLWimhIeFq0hj09urVMQzTw==", "dev": true, "funding": [ { @@ -2708,9 +2708,9 @@ } }, "node_modules/@csstools/postcss-gamut-mapping": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.2.tgz", - "integrity": "sha512-/1ur3ca9RWg/KnbLlxaDswyjLSGoaHNDruAzrVhkn5axgd7LOH6JHCBRhrKDafdMw9bf4MQrYFoaLfHAPekLFg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.3.tgz", + "integrity": "sha512-1mbYE41F3fluEdjExw70b339NVU62O6sz43mya5O+LultfZQdmY68qRsWT+rw85Imya9aeLCDgBHaxwgXf1Z/g==", "dev": true, "funding": [ { @@ -2723,9 +2723,9 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^3.0.2", - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-color-parser": "^3.0.3", + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" }, "engines": { "node": ">=18" @@ -2735,9 +2735,9 @@ } }, "node_modules/@csstools/postcss-gamut-mapping/node_modules/@csstools/css-calc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.1.tgz", - "integrity": "sha512-e59V+sNp6e5m+9WnTUydA1DQO70WuKUdseflRpWmXxocF/h5wWGIxUjxfvLtajcmwstH0vm6l0reKMzcyI757Q==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.2.tgz", + "integrity": "sha512-N70YZw+R6WDP9EEd5xAT3xd+SgZFZsllXR6kclq6U8e2thlakNpWCKhuOiWfCKU8HpeWOyL+2ArSX8uDszMytA==", "dev": true, "funding": [ { @@ -2753,14 +2753,14 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-gamut-mapping/node_modules/@csstools/css-color-parser": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.2.tgz", - "integrity": "sha512-mNg7A6HnNjlm0we/pDS9dUafOuBxcanN0TBhEGeIk6zZincuk0+mAbnBqfVs29NlvWHZ8diwTG6g5FeU8246sA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.3.tgz", + "integrity": "sha512-mnOTQ6KbQ6GHfdVHVTNXffroW0r5P5531h73bIyEzWAScGjMPQi+1XYgAydYVaZiKeXlQ4GHG9dnBWq9h7xFIQ==", "dev": true, "funding": [ { @@ -2774,20 +2774,20 @@ ], "dependencies": { "@csstools/color-helpers": "^5.0.1", - "@csstools/css-calc": "^2.0.1" + "@csstools/css-calc": "^2.0.2" }, "engines": { "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-gamut-mapping/node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.1.tgz", - "integrity": "sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.2.tgz", + "integrity": "sha512-6tC/MnlEvs5suR4Ahef4YlBccJDHZuxGsAlxXmybWjZ5jPxlzLSMlRZ9mVHSRvlD+CmtE7+hJ+UQbfXrws/rUQ==", "dev": true, "funding": [ { @@ -2803,13 +2803,13 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-gamut-mapping/node_modules/@csstools/css-tokenizer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", - "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.2.tgz", + "integrity": "sha512-IuTRcD53WHsXPCZ6W7ubfGqReTJ9Ra0yRRFmXYP/Re8hFYYfoIYIK4080X5luslVLWimhIeFq0hj09urVMQzTw==", "dev": true, "funding": [ { @@ -2848,9 +2848,9 @@ } }, "node_modules/@csstools/postcss-gradients-interpolation-method": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.2.tgz", - "integrity": "sha512-qRpvA4sduAfiV9yZG4OM7q/h2Qhr3lg+GrHe9NZwuzWnfSDLGh+Dh4Ea6fQ+1++jdKXW/Cb4/vHRp0ssQYra4w==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.3.tgz", + "integrity": "sha512-TW+utpEOOn2HLlRZTEVNS8XBlG5bOcSNBanIKjPWnkmdgkFjcj1eIaEtWezpGX2hKJpkiwZeIEyP/UItWk6c3g==", "dev": true, "funding": [ { @@ -2863,9 +2863,9 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^3.0.2", - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1", + "@csstools/css-color-parser": "^3.0.3", + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2", "@csstools/postcss-progressive-custom-properties": "^4.0.0", "@csstools/utilities": "^2.0.0" }, @@ -2877,9 +2877,9 @@ } }, "node_modules/@csstools/postcss-gradients-interpolation-method/node_modules/@csstools/css-calc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.1.tgz", - "integrity": "sha512-e59V+sNp6e5m+9WnTUydA1DQO70WuKUdseflRpWmXxocF/h5wWGIxUjxfvLtajcmwstH0vm6l0reKMzcyI757Q==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.2.tgz", + "integrity": "sha512-N70YZw+R6WDP9EEd5xAT3xd+SgZFZsllXR6kclq6U8e2thlakNpWCKhuOiWfCKU8HpeWOyL+2ArSX8uDszMytA==", "dev": true, "funding": [ { @@ -2895,14 +2895,14 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-gradients-interpolation-method/node_modules/@csstools/css-color-parser": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.2.tgz", - "integrity": "sha512-mNg7A6HnNjlm0we/pDS9dUafOuBxcanN0TBhEGeIk6zZincuk0+mAbnBqfVs29NlvWHZ8diwTG6g5FeU8246sA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.3.tgz", + "integrity": "sha512-mnOTQ6KbQ6GHfdVHVTNXffroW0r5P5531h73bIyEzWAScGjMPQi+1XYgAydYVaZiKeXlQ4GHG9dnBWq9h7xFIQ==", "dev": true, "funding": [ { @@ -2916,20 +2916,20 @@ ], "dependencies": { "@csstools/color-helpers": "^5.0.1", - "@csstools/css-calc": "^2.0.1" + "@csstools/css-calc": "^2.0.2" }, "engines": { "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-gradients-interpolation-method/node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.1.tgz", - "integrity": "sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.2.tgz", + "integrity": "sha512-6tC/MnlEvs5suR4Ahef4YlBccJDHZuxGsAlxXmybWjZ5jPxlzLSMlRZ9mVHSRvlD+CmtE7+hJ+UQbfXrws/rUQ==", "dev": true, "funding": [ { @@ -2945,13 +2945,13 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-gradients-interpolation-method/node_modules/@csstools/css-tokenizer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", - "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.2.tgz", + "integrity": "sha512-IuTRcD53WHsXPCZ6W7ubfGqReTJ9Ra0yRRFmXYP/Re8hFYYfoIYIK4080X5luslVLWimhIeFq0hj09urVMQzTw==", "dev": true, "funding": [ { @@ -2968,9 +2968,9 @@ } }, "node_modules/@csstools/postcss-hwb-function": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.2.tgz", - "integrity": "sha512-RUBVCyJE1hTsf9vGp3zrALeMollkAlHRFKm+T36y67nLfOOf+6GNQsdTGFAyLrY65skcm8ddC26Jp1n9ZIauEA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.3.tgz", + "integrity": "sha512-HBeApQzk6UlqAAWbuXSiWmF0Xtc/hfMTESSbkRUpolXshuPkUaBWXflfQuoo6exv3MvID6iTmv11GZT1ZfADDQ==", "dev": true, "funding": [ { @@ -2983,9 +2983,9 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^3.0.2", - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1", + "@csstools/css-color-parser": "^3.0.3", + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2", "@csstools/postcss-progressive-custom-properties": "^4.0.0", "@csstools/utilities": "^2.0.0" }, @@ -2997,9 +2997,9 @@ } }, "node_modules/@csstools/postcss-hwb-function/node_modules/@csstools/css-calc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.1.tgz", - "integrity": "sha512-e59V+sNp6e5m+9WnTUydA1DQO70WuKUdseflRpWmXxocF/h5wWGIxUjxfvLtajcmwstH0vm6l0reKMzcyI757Q==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.2.tgz", + "integrity": "sha512-N70YZw+R6WDP9EEd5xAT3xd+SgZFZsllXR6kclq6U8e2thlakNpWCKhuOiWfCKU8HpeWOyL+2ArSX8uDszMytA==", "dev": true, "funding": [ { @@ -3015,14 +3015,14 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-hwb-function/node_modules/@csstools/css-color-parser": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.2.tgz", - "integrity": "sha512-mNg7A6HnNjlm0we/pDS9dUafOuBxcanN0TBhEGeIk6zZincuk0+mAbnBqfVs29NlvWHZ8diwTG6g5FeU8246sA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.3.tgz", + "integrity": "sha512-mnOTQ6KbQ6GHfdVHVTNXffroW0r5P5531h73bIyEzWAScGjMPQi+1XYgAydYVaZiKeXlQ4GHG9dnBWq9h7xFIQ==", "dev": true, "funding": [ { @@ -3036,20 +3036,20 @@ ], "dependencies": { "@csstools/color-helpers": "^5.0.1", - "@csstools/css-calc": "^2.0.1" + "@csstools/css-calc": "^2.0.2" }, "engines": { "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-hwb-function/node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.1.tgz", - "integrity": "sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.2.tgz", + "integrity": "sha512-6tC/MnlEvs5suR4Ahef4YlBccJDHZuxGsAlxXmybWjZ5jPxlzLSMlRZ9mVHSRvlD+CmtE7+hJ+UQbfXrws/rUQ==", "dev": true, "funding": [ { @@ -3065,13 +3065,13 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-hwb-function/node_modules/@csstools/css-tokenizer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", - "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.2.tgz", + "integrity": "sha512-IuTRcD53WHsXPCZ6W7ubfGqReTJ9Ra0yRRFmXYP/Re8hFYYfoIYIK4080X5luslVLWimhIeFq0hj09urVMQzTw==", "dev": true, "funding": [ { @@ -3185,9 +3185,9 @@ } }, "node_modules/@csstools/postcss-light-dark-function": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.4.tgz", - "integrity": "sha512-yHUt5DZ61Irvp72notmAl3Zt4Me50EWToWNocazyIFTVYFwwo/EucmV3hWi9zJehu3rOSvMclL7DzvRDfbak/A==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.5.tgz", + "integrity": "sha512-mSqqxuwlBg10YyErq2YYB71KtvWDueBYE9WAnC6B7GHU+z0ECcGf+sR9zxpvePGzesuBNDB+cp15cW2CvOyszA==", "dev": true, "funding": [ { @@ -3200,8 +3200,8 @@ } ], "dependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1", + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2", "@csstools/postcss-progressive-custom-properties": "^4.0.0", "@csstools/utilities": "^2.0.0" }, @@ -3213,9 +3213,9 @@ } }, "node_modules/@csstools/postcss-light-dark-function/node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.1.tgz", - "integrity": "sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.2.tgz", + "integrity": "sha512-6tC/MnlEvs5suR4Ahef4YlBccJDHZuxGsAlxXmybWjZ5jPxlzLSMlRZ9mVHSRvlD+CmtE7+hJ+UQbfXrws/rUQ==", "dev": true, "funding": [ { @@ -3231,13 +3231,13 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-light-dark-function/node_modules/@csstools/css-tokenizer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", - "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.2.tgz", + "integrity": "sha512-IuTRcD53WHsXPCZ6W7ubfGqReTJ9Ra0yRRFmXYP/Re8hFYYfoIYIK4080X5luslVLWimhIeFq0hj09urVMQzTw==", "dev": true, "funding": [ { @@ -3345,9 +3345,9 @@ } }, "node_modules/@csstools/postcss-logical-viewport-units": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-3.0.1.tgz", - "integrity": "sha512-JsfaoTiBqIuRE+CYL4ZpYKOqJ965GyiMH4b8UrY0Z7i5GfMiHZrK7xtTB29piuyKQzrW+Z8w3PAExhwND9cuAQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-3.0.2.tgz", + "integrity": "sha512-oog7VobKvrS34oyUKslI6wCphtJxx0ldiA8RToPQ0HXPWNiXXSM7IbgwOTImJKTIUjo3eL7o5uuPxeu5MsnkvA==", "dev": true, "funding": [ { @@ -3360,7 +3360,7 @@ } ], "dependencies": { - "@csstools/css-tokenizer": "^3.0.1", + "@csstools/css-tokenizer": "^3.0.2", "@csstools/utilities": "^2.0.0" }, "engines": { @@ -3371,9 +3371,9 @@ } }, "node_modules/@csstools/postcss-logical-viewport-units/node_modules/@csstools/css-tokenizer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", - "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.2.tgz", + "integrity": "sha512-IuTRcD53WHsXPCZ6W7ubfGqReTJ9Ra0yRRFmXYP/Re8hFYYfoIYIK4080X5luslVLWimhIeFq0hj09urVMQzTw==", "dev": true, "funding": [ { @@ -3390,9 +3390,9 @@ } }, "node_modules/@csstools/postcss-media-minmax": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.1.tgz", - "integrity": "sha512-EMa3IgUip+F/MwH4r2KfIA9ym9hQkT2PpR9MOukdomfGGCFuw9V3n/iIOBKziN1qfeddsYoOvtYOKQcHU2yIjg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.2.tgz", + "integrity": "sha512-zodxyIwRNuro/SIjN+zrYeZCQJvMd1obPtsvmNxLRvk3FOM3KwuuX8GEev9if19OGlNVvJZIe9wH77c+jIbXzA==", "dev": true, "funding": [ { @@ -3405,10 +3405,10 @@ } ], "dependencies": { - "@csstools/css-calc": "^2.0.1", - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1", - "@csstools/media-query-list-parser": "^3.0.1" + "@csstools/css-calc": "^2.0.2", + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2", + "@csstools/media-query-list-parser": "^4.0.0" }, "engines": { "node": ">=18" @@ -3418,9 +3418,9 @@ } }, "node_modules/@csstools/postcss-media-minmax/node_modules/@csstools/css-calc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.1.tgz", - "integrity": "sha512-e59V+sNp6e5m+9WnTUydA1DQO70WuKUdseflRpWmXxocF/h5wWGIxUjxfvLtajcmwstH0vm6l0reKMzcyI757Q==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.2.tgz", + "integrity": "sha512-N70YZw+R6WDP9EEd5xAT3xd+SgZFZsllXR6kclq6U8e2thlakNpWCKhuOiWfCKU8HpeWOyL+2ArSX8uDszMytA==", "dev": true, "funding": [ { @@ -3436,14 +3436,14 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-media-minmax/node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.1.tgz", - "integrity": "sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.2.tgz", + "integrity": "sha512-6tC/MnlEvs5suR4Ahef4YlBccJDHZuxGsAlxXmybWjZ5jPxlzLSMlRZ9mVHSRvlD+CmtE7+hJ+UQbfXrws/rUQ==", "dev": true, "funding": [ { @@ -3459,13 +3459,13 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-media-minmax/node_modules/@csstools/css-tokenizer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", - "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.2.tgz", + "integrity": "sha512-IuTRcD53WHsXPCZ6W7ubfGqReTJ9Ra0yRRFmXYP/Re8hFYYfoIYIK4080X5luslVLWimhIeFq0hj09urVMQzTw==", "dev": true, "funding": [ { @@ -3482,9 +3482,9 @@ } }, "node_modules/@csstools/postcss-media-minmax/node_modules/@csstools/media-query-list-parser": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-3.0.1.tgz", - "integrity": "sha512-HNo8gGD02kHmcbX6PvCoUuOQvn4szyB9ca63vZHKX5A81QytgDG4oxG4IaEfHTlEZSZ6MjPEMWIVU+zF2PZcgw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.0.tgz", + "integrity": "sha512-nUfbCGeqCju55Po8ujRNQ8DjuKYth5UcsDj5HsVzSfqnaFdpOwYCUAhRJ2grfwrXhb9+KuRXHQ6JHzaI0Qhu8Q==", "dev": true, "funding": [ { @@ -3500,14 +3500,14 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-3.0.1.tgz", - "integrity": "sha512-JTzMQz//INahTALkvXnC5lC2fJKzwb5PY443T2zaM9hAzM7nzHMLIlEfFgdtBahVIBtBSalMefdxNr99LGW1lQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-3.0.2.tgz", + "integrity": "sha512-9bEvSC8hIkdqHwehYIADcwC7/TvuJeb1hAw0STI7BMRVE57nFxHyXY+WzfLPXtmhpdFqGcKJIyQkDcenQI3Sow==", "dev": true, "funding": [ { @@ -3520,9 +3520,9 @@ } ], "dependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1", - "@csstools/media-query-list-parser": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2", + "@csstools/media-query-list-parser": "^4.0.0" }, "engines": { "node": ">=18" @@ -3532,9 +3532,9 @@ } }, "node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values/node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.1.tgz", - "integrity": "sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.2.tgz", + "integrity": "sha512-6tC/MnlEvs5suR4Ahef4YlBccJDHZuxGsAlxXmybWjZ5jPxlzLSMlRZ9mVHSRvlD+CmtE7+hJ+UQbfXrws/rUQ==", "dev": true, "funding": [ { @@ -3550,13 +3550,13 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values/node_modules/@csstools/css-tokenizer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", - "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.2.tgz", + "integrity": "sha512-IuTRcD53WHsXPCZ6W7ubfGqReTJ9Ra0yRRFmXYP/Re8hFYYfoIYIK4080X5luslVLWimhIeFq0hj09urVMQzTw==", "dev": true, "funding": [ { @@ -3573,9 +3573,9 @@ } }, "node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values/node_modules/@csstools/media-query-list-parser": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-3.0.1.tgz", - "integrity": "sha512-HNo8gGD02kHmcbX6PvCoUuOQvn4szyB9ca63vZHKX5A81QytgDG4oxG4IaEfHTlEZSZ6MjPEMWIVU+zF2PZcgw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.0.tgz", + "integrity": "sha512-nUfbCGeqCju55Po8ujRNQ8DjuKYth5UcsDj5HsVzSfqnaFdpOwYCUAhRJ2grfwrXhb9+KuRXHQ6JHzaI0Qhu8Q==", "dev": true, "funding": [ { @@ -3591,8 +3591,8 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-nested-calc": { @@ -3647,9 +3647,9 @@ } }, "node_modules/@csstools/postcss-oklab-function": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.2.tgz", - "integrity": "sha512-2iSK/T77PHMeorakBAk/WLxSodfIJ/lmi6nxEkuruXfhGH7fByZim4Fw6ZJf4B73SVieRSH2ep8zvYkA2ZfRtA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.3.tgz", + "integrity": "sha512-BrhnL98OSpWt5EOMk5Hm+kL0kjA8BhBc9DGG0jYgww1GhWItn+L/McQ4WgHE2cm9+jSUE2OMy/31WvSRKhWpnQ==", "dev": true, "funding": [ { @@ -3662,9 +3662,9 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^3.0.2", - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1", + "@csstools/css-color-parser": "^3.0.3", + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2", "@csstools/postcss-progressive-custom-properties": "^4.0.0", "@csstools/utilities": "^2.0.0" }, @@ -3676,9 +3676,9 @@ } }, "node_modules/@csstools/postcss-oklab-function/node_modules/@csstools/css-calc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.1.tgz", - "integrity": "sha512-e59V+sNp6e5m+9WnTUydA1DQO70WuKUdseflRpWmXxocF/h5wWGIxUjxfvLtajcmwstH0vm6l0reKMzcyI757Q==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.2.tgz", + "integrity": "sha512-N70YZw+R6WDP9EEd5xAT3xd+SgZFZsllXR6kclq6U8e2thlakNpWCKhuOiWfCKU8HpeWOyL+2ArSX8uDszMytA==", "dev": true, "funding": [ { @@ -3694,14 +3694,14 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-oklab-function/node_modules/@csstools/css-color-parser": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.2.tgz", - "integrity": "sha512-mNg7A6HnNjlm0we/pDS9dUafOuBxcanN0TBhEGeIk6zZincuk0+mAbnBqfVs29NlvWHZ8diwTG6g5FeU8246sA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.3.tgz", + "integrity": "sha512-mnOTQ6KbQ6GHfdVHVTNXffroW0r5P5531h73bIyEzWAScGjMPQi+1XYgAydYVaZiKeXlQ4GHG9dnBWq9h7xFIQ==", "dev": true, "funding": [ { @@ -3715,20 +3715,20 @@ ], "dependencies": { "@csstools/color-helpers": "^5.0.1", - "@csstools/css-calc": "^2.0.1" + "@csstools/css-calc": "^2.0.2" }, "engines": { "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-oklab-function/node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.1.tgz", - "integrity": "sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.2.tgz", + "integrity": "sha512-6tC/MnlEvs5suR4Ahef4YlBccJDHZuxGsAlxXmybWjZ5jPxlzLSMlRZ9mVHSRvlD+CmtE7+hJ+UQbfXrws/rUQ==", "dev": true, "funding": [ { @@ -3744,13 +3744,13 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-oklab-function/node_modules/@csstools/css-tokenizer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", - "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.2.tgz", + "integrity": "sha512-IuTRcD53WHsXPCZ6W7ubfGqReTJ9Ra0yRRFmXYP/Re8hFYYfoIYIK4080X5luslVLWimhIeFq0hj09urVMQzTw==", "dev": true, "funding": [ { @@ -3792,9 +3792,9 @@ } }, "node_modules/@csstools/postcss-relative-color-syntax": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.2.tgz", - "integrity": "sha512-aBpuUdpJBswNGfw6lOkhown2cZ0YXrMjASye56nkoRpgRe9yDF4BM1fvEuakrCDiaeoUzVaI4SF6+344BflXfQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.3.tgz", + "integrity": "sha512-1VYBTdGiFSOFrlczaYcUNybCU3XZRL9DDY3ooYRkvweWJZas8dQVHi6vy9SUmxnk0vfGbMbrISXLOIHw4LjKDg==", "dev": true, "funding": [ { @@ -3807,9 +3807,9 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^3.0.2", - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1", + "@csstools/css-color-parser": "^3.0.3", + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2", "@csstools/postcss-progressive-custom-properties": "^4.0.0", "@csstools/utilities": "^2.0.0" }, @@ -3821,9 +3821,9 @@ } }, "node_modules/@csstools/postcss-relative-color-syntax/node_modules/@csstools/css-calc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.1.tgz", - "integrity": "sha512-e59V+sNp6e5m+9WnTUydA1DQO70WuKUdseflRpWmXxocF/h5wWGIxUjxfvLtajcmwstH0vm6l0reKMzcyI757Q==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.2.tgz", + "integrity": "sha512-N70YZw+R6WDP9EEd5xAT3xd+SgZFZsllXR6kclq6U8e2thlakNpWCKhuOiWfCKU8HpeWOyL+2ArSX8uDszMytA==", "dev": true, "funding": [ { @@ -3839,14 +3839,14 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-relative-color-syntax/node_modules/@csstools/css-color-parser": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.2.tgz", - "integrity": "sha512-mNg7A6HnNjlm0we/pDS9dUafOuBxcanN0TBhEGeIk6zZincuk0+mAbnBqfVs29NlvWHZ8diwTG6g5FeU8246sA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.3.tgz", + "integrity": "sha512-mnOTQ6KbQ6GHfdVHVTNXffroW0r5P5531h73bIyEzWAScGjMPQi+1XYgAydYVaZiKeXlQ4GHG9dnBWq9h7xFIQ==", "dev": true, "funding": [ { @@ -3860,20 +3860,20 @@ ], "dependencies": { "@csstools/color-helpers": "^5.0.1", - "@csstools/css-calc": "^2.0.1" + "@csstools/css-calc": "^2.0.2" }, "engines": { "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-relative-color-syntax/node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.1.tgz", - "integrity": "sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.2.tgz", + "integrity": "sha512-6tC/MnlEvs5suR4Ahef4YlBccJDHZuxGsAlxXmybWjZ5jPxlzLSMlRZ9mVHSRvlD+CmtE7+hJ+UQbfXrws/rUQ==", "dev": true, "funding": [ { @@ -3889,13 +3889,13 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-relative-color-syntax/node_modules/@csstools/css-tokenizer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", - "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.2.tgz", + "integrity": "sha512-IuTRcD53WHsXPCZ6W7ubfGqReTJ9Ra0yRRFmXYP/Re8hFYYfoIYIK4080X5luslVLWimhIeFq0hj09urVMQzTw==", "dev": true, "funding": [ { @@ -3937,9 +3937,9 @@ } }, "node_modules/@csstools/postcss-stepped-value-functions": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.1.tgz", - "integrity": "sha512-dk3KqVcIEYzy9Mvx8amoBbk123BWgd5DfjXDiPrEqxGma37PG7m/MoMmHQhuVHIjvPDHoJwyIZi2yy7j0RA5fw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.2.tgz", + "integrity": "sha512-AxLKGIV0zYIAkeN02fo4o/vcG39WEZjT9dXs78ajy87dM94OFNIu5huxqBgkFGKLiXhQIKBRxAF/MtJmuIWi8w==", "dev": true, "funding": [ { @@ -3952,9 +3952,9 @@ } ], "dependencies": { - "@csstools/css-calc": "^2.0.1", - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-calc": "^2.0.2", + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" }, "engines": { "node": ">=18" @@ -3964,9 +3964,9 @@ } }, "node_modules/@csstools/postcss-stepped-value-functions/node_modules/@csstools/css-calc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.1.tgz", - "integrity": "sha512-e59V+sNp6e5m+9WnTUydA1DQO70WuKUdseflRpWmXxocF/h5wWGIxUjxfvLtajcmwstH0vm6l0reKMzcyI757Q==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.2.tgz", + "integrity": "sha512-N70YZw+R6WDP9EEd5xAT3xd+SgZFZsllXR6kclq6U8e2thlakNpWCKhuOiWfCKU8HpeWOyL+2ArSX8uDszMytA==", "dev": true, "funding": [ { @@ -3982,14 +3982,14 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-stepped-value-functions/node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.1.tgz", - "integrity": "sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.2.tgz", + "integrity": "sha512-6tC/MnlEvs5suR4Ahef4YlBccJDHZuxGsAlxXmybWjZ5jPxlzLSMlRZ9mVHSRvlD+CmtE7+hJ+UQbfXrws/rUQ==", "dev": true, "funding": [ { @@ -4005,13 +4005,13 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-stepped-value-functions/node_modules/@csstools/css-tokenizer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", - "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.2.tgz", + "integrity": "sha512-IuTRcD53WHsXPCZ6W7ubfGqReTJ9Ra0yRRFmXYP/Re8hFYYfoIYIK4080X5luslVLWimhIeFq0hj09urVMQzTw==", "dev": true, "funding": [ { @@ -4054,9 +4054,9 @@ } }, "node_modules/@csstools/postcss-trigonometric-functions": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.1.tgz", - "integrity": "sha512-QHOYuN3bzS/rcpAygFhJxJUtD8GuJEWF6f9Zm518Tq/cSMlcTgU+v0geyi5EqbmYxKMig2oKCKUSGqOj9gehkg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.2.tgz", + "integrity": "sha512-hQzJkTWNvHKGYa5ySpdex2K/ODX6bI3z8Pmdl3W/opRlaXMA7Xvq7Nagp31BTkr1ngzfnqTY9XNKEI2FqaO3fg==", "dev": true, "funding": [ { @@ -4069,9 +4069,9 @@ } ], "dependencies": { - "@csstools/css-calc": "^2.0.1", - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-calc": "^2.0.2", + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" }, "engines": { "node": ">=18" @@ -4081,9 +4081,9 @@ } }, "node_modules/@csstools/postcss-trigonometric-functions/node_modules/@csstools/css-calc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.1.tgz", - "integrity": "sha512-e59V+sNp6e5m+9WnTUydA1DQO70WuKUdseflRpWmXxocF/h5wWGIxUjxfvLtajcmwstH0vm6l0reKMzcyI757Q==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.2.tgz", + "integrity": "sha512-N70YZw+R6WDP9EEd5xAT3xd+SgZFZsllXR6kclq6U8e2thlakNpWCKhuOiWfCKU8HpeWOyL+2ArSX8uDszMytA==", "dev": true, "funding": [ { @@ -4099,14 +4099,14 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-trigonometric-functions/node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.1.tgz", - "integrity": "sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.2.tgz", + "integrity": "sha512-6tC/MnlEvs5suR4Ahef4YlBccJDHZuxGsAlxXmybWjZ5jPxlzLSMlRZ9mVHSRvlD+CmtE7+hJ+UQbfXrws/rUQ==", "dev": true, "funding": [ { @@ -4122,13 +4122,13 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/@csstools/postcss-trigonometric-functions/node_modules/@csstools/css-tokenizer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", - "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.2.tgz", + "integrity": "sha512-IuTRcD53WHsXPCZ6W7ubfGqReTJ9Ra0yRRFmXYP/Re8hFYYfoIYIK4080X5luslVLWimhIeFq0hj09urVMQzTw==", "dev": true, "funding": [ { @@ -6796,13 +6796,13 @@ } }, "node_modules/@wordpress/api-fetch": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-7.9.0.tgz", - "integrity": "sha512-iqH4lNiH8FnIkJ8Nxx4KQYQMd4c/4OwZfjrk0ITwMK5PaVJHnFZ7xZV6ncMbgXbf0VjuPjfKMRmPzxICXw08IQ==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-7.10.0.tgz", + "integrity": "sha512-sL71KkvtdGdaZmy7T0+nsTaBVhN0LSwkm3nh/qnebIYzpjZeiPWF/QeoGtJk/lKB15HjbTbfwvFEjiMI4dFvhA==", "dependencies": { - "@babel/runtime": "^7.16.0", - "@wordpress/i18n": "^5.9.0", - "@wordpress/url": "^4.9.0" + "@babel/runtime": "7.25.7", + "@wordpress/i18n": "^5.10.0", + "@wordpress/url": "^4.10.0" }, "engines": { "node": ">=18.12.0", @@ -6869,9 +6869,9 @@ } }, "node_modules/@wordpress/env": { - "version": "10.9.0", - "resolved": "https://registry.npmjs.org/@wordpress/env/-/env-10.9.0.tgz", - "integrity": "sha512-XS4dJY1jot25wNKnI8+wL1M4tHRIaiLW1ggwXQSyUUWinyG9kuyQA+jzIBnNGegy2pLgbSwTmovExHQNtfU2Hw==", + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/@wordpress/env/-/env-10.10.0.tgz", + "integrity": "sha512-7r4E5ECqkdy+Cll3ikCKfaweyRL7T7uAnY86GZZ9HJa5dNfzObfTyWWtPB44gMp5KnW4dZGW/E6mQMzhedc72A==", "dev": true, "dependencies": { "chalk": "^4.0.0", @@ -7144,11 +7144,11 @@ } }, "node_modules/@wordpress/hooks": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-4.9.0.tgz", - "integrity": "sha512-nan2w5imPhTaJwWdKjm/0ZMDbWR3P6Vhl4OqnBZZcJqOyNSfwsnJ98I+BWjq0U6SmiCnZQERjN0SjVdmD1tCjw==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-4.10.0.tgz", + "integrity": "sha512-LcorV5Z9XoJCKyj5Ulgw1HPHyM2mxsSInC7wl5cuIgDFmuwPTfRndUDGWz/v86GX1GnUIB0h/ggd53vx1HiW4A==", "dependencies": { - "@babel/runtime": "^7.16.0" + "@babel/runtime": "7.25.7" }, "engines": { "node": ">=18.12.0", @@ -7156,12 +7156,12 @@ } }, "node_modules/@wordpress/i18n": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-5.9.0.tgz", - "integrity": "sha512-pKFV9S/l0TFlm0mlWLW51hAoRDNmZPGnfEpNXq43VKZkm1cco3Z1E54PHMGk8HdCECHqYNiJuQJOBOlqcYmnVQ==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-5.10.0.tgz", + "integrity": "sha512-HZ6UcMHsjOocDI0zVAuP4JIl97LRmpGo/lVxzVIreaLoYitmYVDUzji02u1o7sEdRWc1Hpkm2/oO/9275rJg1w==", "dependencies": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^4.9.0", + "@babel/runtime": "7.25.7", + "@wordpress/hooks": "^4.10.0", "gettext-parser": "^1.3.1", "memize": "^2.1.0", "sprintf-js": "^1.1.1", @@ -7204,11 +7204,11 @@ } }, "node_modules/@wordpress/url": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-4.9.0.tgz", - "integrity": "sha512-PjfExLOzaagtDZ20CAaCMh4SzeHWzJC3fiRzX4eV0esfHr4K58duxIEHXwOZ69L8/Cn596OCjrFO+CHd16jYdQ==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-4.10.0.tgz", + "integrity": "sha512-SKlXocsTlaSee2trXcB0N3jdIfEGMnPiqNxxvTjeeBmsP/47MMXu5lXYslYyYlQbluhAR5/RMf0o3WqZAF2uOg==", "dependencies": { - "@babel/runtime": "^7.16.0", + "@babel/runtime": "7.25.7", "remove-accents": "^0.5.0" }, "engines": { @@ -10967,9 +10967,9 @@ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "node_modules/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", "dev": true, "engines": { "node": ">= 0.6" @@ -13919,9 +13919,9 @@ } }, "node_modules/express": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", - "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", + "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", "dev": true, "dependencies": { "accepts": "~1.3.8", @@ -13929,7 +13929,7 @@ "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.6.0", + "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -21108,9 +21108,9 @@ } }, "node_modules/postcss-color-functional-notation": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.2.tgz", - "integrity": "sha512-c2WkR0MS73s+P5SgY1KBaSEE61Rj+miW095rkWDnMQxbTCQkp6y/jft8U0QMxEsI4k1Pd4PdV+TP9/1zIDR6XQ==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.3.tgz", + "integrity": "sha512-mL3LVOwXr5sRX1N5so7AFCNciaYTNTxzXuv5bDoZ/JunV2NCAzGOuVfyICRKczDPFImoIuL4e0O33/zYap9D0w==", "dev": true, "funding": [ { @@ -21123,9 +21123,9 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^3.0.2", - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1", + "@csstools/css-color-parser": "^3.0.3", + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2", "@csstools/postcss-progressive-custom-properties": "^4.0.0", "@csstools/utilities": "^2.0.0" }, @@ -21137,9 +21137,9 @@ } }, "node_modules/postcss-color-functional-notation/node_modules/@csstools/css-calc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.1.tgz", - "integrity": "sha512-e59V+sNp6e5m+9WnTUydA1DQO70WuKUdseflRpWmXxocF/h5wWGIxUjxfvLtajcmwstH0vm6l0reKMzcyI757Q==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.2.tgz", + "integrity": "sha512-N70YZw+R6WDP9EEd5xAT3xd+SgZFZsllXR6kclq6U8e2thlakNpWCKhuOiWfCKU8HpeWOyL+2ArSX8uDszMytA==", "dev": true, "funding": [ { @@ -21155,14 +21155,14 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/postcss-color-functional-notation/node_modules/@csstools/css-color-parser": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.2.tgz", - "integrity": "sha512-mNg7A6HnNjlm0we/pDS9dUafOuBxcanN0TBhEGeIk6zZincuk0+mAbnBqfVs29NlvWHZ8diwTG6g5FeU8246sA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.3.tgz", + "integrity": "sha512-mnOTQ6KbQ6GHfdVHVTNXffroW0r5P5531h73bIyEzWAScGjMPQi+1XYgAydYVaZiKeXlQ4GHG9dnBWq9h7xFIQ==", "dev": true, "funding": [ { @@ -21176,20 +21176,20 @@ ], "dependencies": { "@csstools/color-helpers": "^5.0.1", - "@csstools/css-calc": "^2.0.1" + "@csstools/css-calc": "^2.0.2" }, "engines": { "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/postcss-color-functional-notation/node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.1.tgz", - "integrity": "sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.2.tgz", + "integrity": "sha512-6tC/MnlEvs5suR4Ahef4YlBccJDHZuxGsAlxXmybWjZ5jPxlzLSMlRZ9mVHSRvlD+CmtE7+hJ+UQbfXrws/rUQ==", "dev": true, "funding": [ { @@ -21205,13 +21205,13 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/postcss-color-functional-notation/node_modules/@csstools/css-tokenizer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", - "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.2.tgz", + "integrity": "sha512-IuTRcD53WHsXPCZ6W7ubfGqReTJ9Ra0yRRFmXYP/Re8hFYYfoIYIK4080X5luslVLWimhIeFq0hj09urVMQzTw==", "dev": true, "funding": [ { @@ -21314,9 +21314,9 @@ } }, "node_modules/postcss-custom-media": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-11.0.2.tgz", - "integrity": "sha512-IDtxB1VgPayRLjNBMjuf827sn1j2m9EGnhIxpx2coVerbWJF+twt590+PKvdDc4K8QNFqFJh+W/SOiHpasVXsg==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-11.0.3.tgz", + "integrity": "sha512-h52R7j0/QZP7NgnpsUaqx6wdssplK4U+ZuErvic2StgvXt3v5sPopFH86yjLvqz3jBrj/8Hkvr7Gio1LLRFP0g==", "dev": true, "funding": [ { @@ -21329,10 +21329,10 @@ } ], "dependencies": { - "@csstools/cascade-layer-name-parser": "^2.0.1", - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1", - "@csstools/media-query-list-parser": "^3.0.1" + "@csstools/cascade-layer-name-parser": "^2.0.2", + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2", + "@csstools/media-query-list-parser": "^4.0.0" }, "engines": { "node": ">=18" @@ -21342,9 +21342,9 @@ } }, "node_modules/postcss-custom-media/node_modules/@csstools/cascade-layer-name-parser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.1.tgz", - "integrity": "sha512-G9ZYN5+yr/E6xYSiy1BwOEFP5p88ZtWo8sL4NztKBkRRAwRkzVGa70M+D+fYHugMID5jkLeNt5X9jYd5EaVuyg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.2.tgz", + "integrity": "sha512-rRWNJ8n16okpQT+8RWEbPfSl8D9WVoDZGBfHkjYnMYWcC20RiMpu/iGeKqUl1hR+SQIKg6p/QJap5rZJaHtVOg==", "dev": true, "funding": [ { @@ -21360,14 +21360,14 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/postcss-custom-media/node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.1.tgz", - "integrity": "sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.2.tgz", + "integrity": "sha512-6tC/MnlEvs5suR4Ahef4YlBccJDHZuxGsAlxXmybWjZ5jPxlzLSMlRZ9mVHSRvlD+CmtE7+hJ+UQbfXrws/rUQ==", "dev": true, "funding": [ { @@ -21383,13 +21383,13 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/postcss-custom-media/node_modules/@csstools/css-tokenizer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", - "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.2.tgz", + "integrity": "sha512-IuTRcD53WHsXPCZ6W7ubfGqReTJ9Ra0yRRFmXYP/Re8hFYYfoIYIK4080X5luslVLWimhIeFq0hj09urVMQzTw==", "dev": true, "funding": [ { @@ -21406,9 +21406,9 @@ } }, "node_modules/postcss-custom-media/node_modules/@csstools/media-query-list-parser": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-3.0.1.tgz", - "integrity": "sha512-HNo8gGD02kHmcbX6PvCoUuOQvn4szyB9ca63vZHKX5A81QytgDG4oxG4IaEfHTlEZSZ6MjPEMWIVU+zF2PZcgw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.0.tgz", + "integrity": "sha512-nUfbCGeqCju55Po8ujRNQ8DjuKYth5UcsDj5HsVzSfqnaFdpOwYCUAhRJ2grfwrXhb9+KuRXHQ6JHzaI0Qhu8Q==", "dev": true, "funding": [ { @@ -21424,14 +21424,14 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/postcss-custom-properties": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-14.0.1.tgz", - "integrity": "sha512-SB4GjuZjIq5GQFNbxFrirQPbkdbJooyNy8bh+fcJ8ZG0oasJTflTTtR4geb56h+FBVDIb9Hx4v/NiG2caOj8nQ==", + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-14.0.2.tgz", + "integrity": "sha512-ZDJLIXa6uT6FlK6mYdzHxr1fr5ec6lPbp/CZ5+7EZedFmfjJx1fvYQhAPCBebuyc1lkketmiA26ZVl2UkPQ9Ig==", "dev": true, "funding": [ { @@ -21444,9 +21444,9 @@ } ], "dependencies": { - "@csstools/cascade-layer-name-parser": "^2.0.1", - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1", + "@csstools/cascade-layer-name-parser": "^2.0.2", + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2", "@csstools/utilities": "^2.0.0", "postcss-value-parser": "^4.2.0" }, @@ -21458,9 +21458,9 @@ } }, "node_modules/postcss-custom-properties/node_modules/@csstools/cascade-layer-name-parser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.1.tgz", - "integrity": "sha512-G9ZYN5+yr/E6xYSiy1BwOEFP5p88ZtWo8sL4NztKBkRRAwRkzVGa70M+D+fYHugMID5jkLeNt5X9jYd5EaVuyg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.2.tgz", + "integrity": "sha512-rRWNJ8n16okpQT+8RWEbPfSl8D9WVoDZGBfHkjYnMYWcC20RiMpu/iGeKqUl1hR+SQIKg6p/QJap5rZJaHtVOg==", "dev": true, "funding": [ { @@ -21476,14 +21476,14 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/postcss-custom-properties/node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.1.tgz", - "integrity": "sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.2.tgz", + "integrity": "sha512-6tC/MnlEvs5suR4Ahef4YlBccJDHZuxGsAlxXmybWjZ5jPxlzLSMlRZ9mVHSRvlD+CmtE7+hJ+UQbfXrws/rUQ==", "dev": true, "funding": [ { @@ -21499,13 +21499,13 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/postcss-custom-properties/node_modules/@csstools/css-tokenizer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", - "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.2.tgz", + "integrity": "sha512-IuTRcD53WHsXPCZ6W7ubfGqReTJ9Ra0yRRFmXYP/Re8hFYYfoIYIK4080X5luslVLWimhIeFq0hj09urVMQzTw==", "dev": true, "funding": [ { @@ -21522,9 +21522,9 @@ } }, "node_modules/postcss-custom-selectors": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-8.0.1.tgz", - "integrity": "sha512-2McIpyhAeKhUzVqrP4ZyMBpK5FuD+Y9tpQwhcof49652s7gez8057cSaOg/epYcKlztSYxb0GHfi7W5h3JoGUg==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-8.0.2.tgz", + "integrity": "sha512-8y2fa+RgYHpVFtvR4h3/dHc7b0iWjT6GOpzWwB8VHJTEBdVNaqOB4FH9koa44hgRyaeDs3KTe3xP9EJf6NLvxQ==", "dev": true, "funding": [ { @@ -21537,9 +21537,9 @@ } ], "dependencies": { - "@csstools/cascade-layer-name-parser": "^2.0.1", - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1", + "@csstools/cascade-layer-name-parser": "^2.0.2", + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2", "postcss-selector-parser": "^6.1.0" }, "engines": { @@ -21550,9 +21550,9 @@ } }, "node_modules/postcss-custom-selectors/node_modules/@csstools/cascade-layer-name-parser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.1.tgz", - "integrity": "sha512-G9ZYN5+yr/E6xYSiy1BwOEFP5p88ZtWo8sL4NztKBkRRAwRkzVGa70M+D+fYHugMID5jkLeNt5X9jYd5EaVuyg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.2.tgz", + "integrity": "sha512-rRWNJ8n16okpQT+8RWEbPfSl8D9WVoDZGBfHkjYnMYWcC20RiMpu/iGeKqUl1hR+SQIKg6p/QJap5rZJaHtVOg==", "dev": true, "funding": [ { @@ -21568,14 +21568,14 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/postcss-custom-selectors/node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.1.tgz", - "integrity": "sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.2.tgz", + "integrity": "sha512-6tC/MnlEvs5suR4Ahef4YlBccJDHZuxGsAlxXmybWjZ5jPxlzLSMlRZ9mVHSRvlD+CmtE7+hJ+UQbfXrws/rUQ==", "dev": true, "funding": [ { @@ -21591,13 +21591,13 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/postcss-custom-selectors/node_modules/@csstools/css-tokenizer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", - "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.2.tgz", + "integrity": "sha512-IuTRcD53WHsXPCZ6W7ubfGqReTJ9Ra0yRRFmXYP/Re8hFYYfoIYIK4080X5luslVLWimhIeFq0hj09urVMQzTw==", "dev": true, "funding": [ { @@ -21869,9 +21869,9 @@ } }, "node_modules/postcss-lab-function": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.2.tgz", - "integrity": "sha512-h4ARGLIBtC1PmCHsLgTWWj8j1i1CXoaht4A5RlITDX2z9AeFBak0YlY6sdF4oJGljrep+Dg2SSccIj4QnFbRDg==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.3.tgz", + "integrity": "sha512-yCBscY/dwipfvqqy7rQHbn6k18zYZy9O57JY4fGuibot6wz7pbtzRnhRlWraHBNUs+N4p2KogHv2aBsoB6G+5Q==", "dev": true, "funding": [ { @@ -21884,9 +21884,9 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^3.0.2", - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1", + "@csstools/css-color-parser": "^3.0.3", + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2", "@csstools/postcss-progressive-custom-properties": "^4.0.0", "@csstools/utilities": "^2.0.0" }, @@ -21898,9 +21898,9 @@ } }, "node_modules/postcss-lab-function/node_modules/@csstools/css-calc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.1.tgz", - "integrity": "sha512-e59V+sNp6e5m+9WnTUydA1DQO70WuKUdseflRpWmXxocF/h5wWGIxUjxfvLtajcmwstH0vm6l0reKMzcyI757Q==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.2.tgz", + "integrity": "sha512-N70YZw+R6WDP9EEd5xAT3xd+SgZFZsllXR6kclq6U8e2thlakNpWCKhuOiWfCKU8HpeWOyL+2ArSX8uDszMytA==", "dev": true, "funding": [ { @@ -21916,14 +21916,14 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/postcss-lab-function/node_modules/@csstools/css-color-parser": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.2.tgz", - "integrity": "sha512-mNg7A6HnNjlm0we/pDS9dUafOuBxcanN0TBhEGeIk6zZincuk0+mAbnBqfVs29NlvWHZ8diwTG6g5FeU8246sA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.3.tgz", + "integrity": "sha512-mnOTQ6KbQ6GHfdVHVTNXffroW0r5P5531h73bIyEzWAScGjMPQi+1XYgAydYVaZiKeXlQ4GHG9dnBWq9h7xFIQ==", "dev": true, "funding": [ { @@ -21937,20 +21937,20 @@ ], "dependencies": { "@csstools/color-helpers": "^5.0.1", - "@csstools/css-calc": "^2.0.1" + "@csstools/css-calc": "^2.0.2" }, "engines": { "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.1", - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-parser-algorithms": "^3.0.2", + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/postcss-lab-function/node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.1.tgz", - "integrity": "sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.2.tgz", + "integrity": "sha512-6tC/MnlEvs5suR4Ahef4YlBccJDHZuxGsAlxXmybWjZ5jPxlzLSMlRZ9mVHSRvlD+CmtE7+hJ+UQbfXrws/rUQ==", "dev": true, "funding": [ { @@ -21966,13 +21966,13 @@ "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.1" + "@csstools/css-tokenizer": "^3.0.2" } }, "node_modules/postcss-lab-function/node_modules/@csstools/css-tokenizer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.1.tgz", - "integrity": "sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.2.tgz", + "integrity": "sha512-IuTRcD53WHsXPCZ6W7ubfGqReTJ9Ra0yRRFmXYP/Re8hFYYfoIYIK4080X5luslVLWimhIeFq0hj09urVMQzTw==", "dev": true, "funding": [ { @@ -22533,9 +22533,9 @@ } }, "node_modules/postcss-preset-env": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.0.6.tgz", - "integrity": "sha512-qixfM2wbvKJhUjJELLB8lV2UCsyrMdSXqiXHiNKMgAbNturstc80j/8MsthJeOpxYEekrCrFzcaoOJm8JRSdBg==", + "version": "10.0.7", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.0.7.tgz", + "integrity": "sha512-aUC/bMT2CULwaZ/RK1Ivzdsyv95DQCJs0dK98RTc9cZKUYIal1+85JdNwik0DXg35BKdRZM2ZwASU17PXoglsw==", "dev": true, "funding": [ { @@ -22549,34 +22549,34 @@ ], "dependencies": { "@csstools/postcss-cascade-layers": "^5.0.0", - "@csstools/postcss-color-function": "^4.0.2", - "@csstools/postcss-color-mix-function": "^3.0.2", - "@csstools/postcss-content-alt-text": "^2.0.1", - "@csstools/postcss-exponential-functions": "^2.0.1", + "@csstools/postcss-color-function": "^4.0.3", + "@csstools/postcss-color-mix-function": "^3.0.3", + "@csstools/postcss-content-alt-text": "^2.0.2", + "@csstools/postcss-exponential-functions": "^2.0.2", "@csstools/postcss-font-format-keywords": "^4.0.0", - "@csstools/postcss-gamut-mapping": "^2.0.2", - "@csstools/postcss-gradients-interpolation-method": "^5.0.2", - "@csstools/postcss-hwb-function": "^4.0.2", + "@csstools/postcss-gamut-mapping": "^2.0.3", + "@csstools/postcss-gradients-interpolation-method": "^5.0.3", + "@csstools/postcss-hwb-function": "^4.0.3", "@csstools/postcss-ic-unit": "^4.0.0", "@csstools/postcss-initial": "^2.0.0", "@csstools/postcss-is-pseudo-class": "^5.0.0", - "@csstools/postcss-light-dark-function": "^2.0.4", + "@csstools/postcss-light-dark-function": "^2.0.5", "@csstools/postcss-logical-float-and-clear": "^3.0.0", "@csstools/postcss-logical-overflow": "^2.0.0", "@csstools/postcss-logical-overscroll-behavior": "^2.0.0", "@csstools/postcss-logical-resize": "^3.0.0", - "@csstools/postcss-logical-viewport-units": "^3.0.1", - "@csstools/postcss-media-minmax": "^2.0.1", - "@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.1", + "@csstools/postcss-logical-viewport-units": "^3.0.2", + "@csstools/postcss-media-minmax": "^2.0.2", + "@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.2", "@csstools/postcss-nested-calc": "^4.0.0", "@csstools/postcss-normalize-display-values": "^4.0.0", - "@csstools/postcss-oklab-function": "^4.0.2", + "@csstools/postcss-oklab-function": "^4.0.3", "@csstools/postcss-progressive-custom-properties": "^4.0.0", - "@csstools/postcss-relative-color-syntax": "^3.0.2", + "@csstools/postcss-relative-color-syntax": "^3.0.3", "@csstools/postcss-scope-pseudo-class": "^4.0.0", - "@csstools/postcss-stepped-value-functions": "^4.0.1", + "@csstools/postcss-stepped-value-functions": "^4.0.2", "@csstools/postcss-text-decoration-shorthand": "^4.0.1", - "@csstools/postcss-trigonometric-functions": "^4.0.1", + "@csstools/postcss-trigonometric-functions": "^4.0.2", "@csstools/postcss-unset-value": "^4.0.0", "autoprefixer": "^10.4.19", "browserslist": "^4.23.1", @@ -22586,12 +22586,12 @@ "cssdb": "^8.1.1", "postcss-attribute-case-insensitive": "^7.0.0", "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^7.0.2", + "postcss-color-functional-notation": "^7.0.3", "postcss-color-hex-alpha": "^10.0.0", "postcss-color-rebeccapurple": "^10.0.0", - "postcss-custom-media": "^11.0.2", - "postcss-custom-properties": "^14.0.1", - "postcss-custom-selectors": "^8.0.1", + "postcss-custom-media": "^11.0.3", + "postcss-custom-properties": "^14.0.2", + "postcss-custom-selectors": "^8.0.2", "postcss-dir-pseudo-class": "^9.0.0", "postcss-double-position-gradients": "^6.0.0", "postcss-focus-visible": "^10.0.0", @@ -22599,7 +22599,7 @@ "postcss-font-variant": "^5.0.0", "postcss-gap-properties": "^6.0.0", "postcss-image-set-function": "^7.0.0", - "postcss-lab-function": "^7.0.2", + "postcss-lab-function": "^7.0.3", "postcss-logical": "^8.0.0", "postcss-nesting": "^13.0.0", "postcss-opacity-percentage": "^3.0.0", diff --git a/search/elasticpress b/search/elasticpress index 1a6b4cf442..ecfb7bddc8 160000 --- a/search/elasticpress +++ b/search/elasticpress @@ -1 +1 @@ -Subproject commit 1a6b4cf4428feab097c49d3dfcfbf6dcff4d400b +Subproject commit ecfb7bddc877d2326659cf8d03dcf3ddfb7faa55 diff --git a/search/includes/classes/class-queue.php b/search/includes/classes/class-queue.php index b8527e529f..75a3b2e6f8 100644 --- a/search/includes/classes/class-queue.php +++ b/search/includes/classes/class-queue.php @@ -1028,11 +1028,11 @@ public function intercept_ep_sync_manager_indexing( $bail, $sync_manager, $index return $bail; } - if ( empty( $sync_manager->sync_queue ) ) { + if ( empty( $sync_manager->get_sync_queue() ) ) { return $bail; } - $this->queue_objects( array_keys( $sync_manager->sync_queue ), $indexable_slug ); + $this->queue_objects( array_keys( $sync_manager->get_sync_queue() ), $indexable_slug ); // If indexing operations are NOT currently ratelimited, queue up a cron event to process these immediately. if ( ! static::is_indexing_ratelimited() ) { @@ -1040,7 +1040,7 @@ public function intercept_ep_sync_manager_indexing( $bail, $sync_manager, $index } // Empty out the queue now that we've queued those items up - $sync_manager->sync_queue = []; + $sync_manager->reset_sync_queue(); return true; } @@ -1081,12 +1081,12 @@ public function ratelimit_indexing( $bail, $sync_manager, $indexable_slug ) { return $bail; } - if ( empty( $sync_manager->sync_queue ) ) { + if ( empty( $sync_manager->get_sync_queue() ) ) { return $bail; } // Increment first to prevent overrunning ratelimiting - $increment = count( $sync_manager->sync_queue ); + $increment = count( $sync_manager->get_sync_queue() ); $index_count_in_period = static::index_count_incr( $increment ); // If indexing operation ratelimiting is hit, queue index operations diff --git a/search/includes/classes/class-versioning.php b/search/includes/classes/class-versioning.php index 5362b0b40d..d56e5ffbd4 100644 --- a/search/includes/classes/class-versioning.php +++ b/search/includes/classes/class-versioning.php @@ -845,7 +845,7 @@ public function filter__pre_ep_index_sync_queue( $bail, $sync_manager, $indexabl $inactive_versions = $this->get_inactive_versions( $indexable ); // If there are no inactive versions or nothing in the queue, we can just skip - if ( empty( $inactive_versions ) || empty( $sync_manager->sync_queue ) ) { + if ( empty( $inactive_versions ) || empty( $sync_manager->get_sync_queue() ) ) { return $bail; } @@ -856,7 +856,7 @@ public function filter__pre_ep_index_sync_queue( $bail, $sync_manager, $indexabl 'index_version' => $version['number'], ); - foreach ( $sync_manager->sync_queue as $object_id => $value ) { + foreach ( $sync_manager->get_sync_queue() as $object_id => $value ) { /** * This filter is documented in Versioning::replicate_queued_objects_to_other_versions */ diff --git a/search/search-dev-tools/build/bundle.js b/search/search-dev-tools/build/bundle.js index 9e75a48087..4c360a37e4 100644 --- a/search/search-dev-tools/build/bundle.js +++ b/search/search-dev-tools/build/bundle.js @@ -1 +1 @@ -(()=>{function e(r){var o=n[r];if(void 0!==o)return o.exports;var i=n[r]={exports:{}};return t[r].call(i.exports,i,i.exports,e),i.exports}var t={624:(e,t,n)=>{n.p=window.VIPSearchDevTools.__webpack_public_path__},576:function(e){var t;t=function(){return function(){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{}};return t[r](o,o.exports,e),o.exports}var t={686:function(e,t,n){"use strict";function r(e){try{return document.execCommand(e)}catch(e){return!1}}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function a(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{container:document.body},n="";return"string"==typeof e?n=g(e,t):e instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(null==e?void 0:e.type)?n=g(e.value,t):(n=m()(e),r("copy")),n},w=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.action,n=void 0===t?"copy":t,r=e.container,i=e.target,a=e.text;if("copy"!==n&&"cut"!==n)throw new Error('Invalid "action" value, use either "copy" or "cut"');if(void 0!==i){if(!i||"object"!==o(i)||1!==i.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===n&&i.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===n&&(i.hasAttribute("readonly")||i.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes')}return a?b(a,{container:r}):i?"cut"===n?y(i):b(i,{container:r}):void 0},k=function(e){function t(e,t){var n;return(n=s.call(this)).resolveOptions(t),n.listenClick(e),n}!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&u(e,t)}(t,e);var n,r,o,s=l(t);return n=t,r=[{key:"resolveOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText,this.container="object"===i(e.container)?e.container:document.body}},{key:"listenClick",value:function(e){var t=this;this.listener=h()(e,"click",(function(e){return t.onClick(e)}))}},{key:"onClick",value:function(e){var t=e.delegateTarget||e.currentTarget,n=this.action(t)||"copy",r=w({action:n,container:this.container,target:this.target(t),text:this.text(t)});this.emit(r?"success":"error",{action:n,text:r,trigger:t,clearSelection:function(){t&&t.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(e){return f("action",e)}},{key:"defaultTarget",value:function(e){var t=f("target",e);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(e){return f("text",e)}},{key:"destroy",value:function(){this.listener.destroy()}}],o=[{key:"copy",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{container:document.body};return b(e,t)}},{key:"cut",value:function(e){return y(e)}},{key:"isSupported",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t=!!document.queryCommandSupported;return("string"==typeof e?[e]:e).forEach((function(e){t=t&&!!document.queryCommandSupported(e)})),t}}],r&&a(n.prototype,r),o&&a(n,o),t}(d()),S=k},828:function(e){if("undefined"!=typeof Element&&!Element.prototype.matches){var t=Element.prototype;t.matches=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}e.exports=function(e,t){for(;e&&9!==e.nodeType;){if("function"==typeof e.matches&&e.matches(t))return e;e=e.parentNode}}},438:function(e,t,n){function r(e,t,n,r,i){var a=o.apply(this,arguments);return e.addEventListener(n,a,i),{destroy:function(){e.removeEventListener(n,a,i)}}}function o(e,t,n,r){return function(n){n.delegateTarget=i(n.target,t),n.delegateTarget&&r.call(e,n)}}var i=n(828);e.exports=function(e,t,n,o,i){return"function"==typeof e.addEventListener?r.apply(null,arguments):"function"==typeof n?r.bind(null,document).apply(null,arguments):("string"==typeof e&&(e=document.querySelectorAll(e)),Array.prototype.map.call(e,(function(e){return r(e,t,n,o,i)})))}},879:function(e,t){t.node=function(e){return void 0!==e&&e instanceof HTMLElement&&1===e.nodeType},t.nodeList=function(e){var n=Object.prototype.toString.call(e);return void 0!==e&&("[object NodeList]"===n||"[object HTMLCollection]"===n)&&"length"in e&&(0===e.length||t.node(e[0]))},t.string=function(e){return"string"==typeof e||e instanceof String},t.fn=function(e){return"[object Function]"===Object.prototype.toString.call(e)}},370:function(e,t,n){var r=n(879),o=n(438);e.exports=function(e,t,n){if(!e&&!t&&!n)throw new Error("Missing required arguments");if(!r.string(t))throw new TypeError("Second argument must be a String");if(!r.fn(n))throw new TypeError("Third argument must be a Function");if(r.node(e))return function(e,t,n){return e.addEventListener(t,n),{destroy:function(){e.removeEventListener(t,n)}}}(e,t,n);if(r.nodeList(e))return function(e,t,n){return Array.prototype.forEach.call(e,(function(e){e.addEventListener(t,n)})),{destroy:function(){Array.prototype.forEach.call(e,(function(e){e.removeEventListener(t,n)}))}}}(e,t,n);if(r.string(e))return function(e,t,n){return o(document.body,e,t,n)}(e,t,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}},817:function(e){e.exports=function(e){var t;if("SELECT"===e.nodeName)e.focus(),t=e.value;else if("INPUT"===e.nodeName||"TEXTAREA"===e.nodeName){var n=e.hasAttribute("readonly");n||e.setAttribute("readonly",""),e.select(),e.setSelectionRange(0,e.value.length),n||e.removeAttribute("readonly"),t=e.value}else{e.hasAttribute("contenteditable")&&e.focus();var r=window.getSelection(),o=document.createRange();o.selectNodeContents(e),r.removeAllRanges(),r.addRange(o),t=r.toString()}return t}},279:function(e){function t(){}t.prototype={on:function(e,t,n){var r=this.e||(this.e={});return(r[e]||(r[e]=[])).push({fn:t,ctx:n}),this},once:function(e,t,n){function r(){o.off(e,r),t.apply(n,arguments)}var o=this;return r._=t,this.on(e,r,n)},emit:function(e){for(var t=[].slice.call(arguments,1),n=((this.e||(this.e={}))[e]||[]).slice(),r=0,o=n.length;r{"use strict";function r(e,t){for(var n in e)if("__source"!==n&&!(n in t))return!0;for(var r in t)if("__source"!==r&&e[r]!==t[r])return!0;return!1}function o(e,t){this.props=e,this.context=t}function i(e,t){function n(e){var n=this.props.ref,o=n==e.ref;return!o&&n&&(n.call?n(null):n.current=null),t?!t(this.props,e)||!o:r(this.props,e)}function o(t){return this.shouldComponentUpdate=n,(0,j.n)(e,t)}return o.displayName="Memo("+(e.displayName||e.name)+")",o.prototype.isReactComponent=!0,o.__f=!0,o}function a(e){function t(t){if(!("ref"in t))return e(t,null);var n=t.ref;delete t.ref;var r=e(t,n);return t.ref=n,r}return t.$$typeof=I,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}function u(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach((function(e){"function"==typeof e.__c&&e.__c()})),e.__c.__H=null),null!=(e=function(e,t){for(var n in t)e[n]=t[n];return e}({},e)).__c&&(e.__c.__P===n&&(e.__c.__P=t),e.__c=null),e.__k=e.__k&&e.__k.map((function(e){return u(e,t,n)}))),e}function l(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map((function(e){return l(e,t,n)})),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function s(){this.__u=0,this.t=null,this.__b=null}function c(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function f(e){function t(t){if(n||(n=e()).then((function(e){r=e.default||e}),(function(e){o=e})),o)throw o;if(!r)throw n;return(0,j.n)(r,t)}var n,r,o;return t.displayName="Lazy",t.__f=!0,t}function _(){this.u=null,this.o=null}function d(e){return this.getChildContext=function(){return e.context},e.children}function p(e){var t=this,n=e.i;t.componentWillUnmount=function(){(0,j.XX)(null,t.l),t.l=null,t.i=null},t.i&&t.i!==n&&t.componentWillUnmount(),t.l||(t.i=n,t.l={nodeType:1,parentNode:n,childNodes:[],contains:function(){return!0},appendChild:function(e){this.childNodes.push(e),t.i.appendChild(e)},insertBefore:function(e){this.childNodes.push(e),t.i.appendChild(e)},removeChild:function(e){this.childNodes.splice(this.childNodes.indexOf(e)>>>1,1),t.i.removeChild(e)}}),(0,j.XX)((0,j.n)(d,{context:t.context},e.__v),t.l)}function h(e,t){var n=(0,j.n)(p,{__v:e,i:t});return n.containerInfo=t,n}function v(e,t,n){return null==t.__k&&(t.textContent=""),(0,j.XX)(e,t),"function"==typeof n&&n(),e?e.__c:null}function m(e,t,n){return(0,j.Qv)(e,t),"function"==typeof n&&n(),e?e.__c:null}function y(){}function g(){return this.cancelBubble}function b(){return this.defaultPrevented}function w(e){return j.n.bind(null,e)}function k(e){return!!e&&e.$$typeof===U}function S(e){return k(e)&&e.type===j.FK}function x(e){return!!e&&!!e.displayName&&("string"==typeof e.displayName||e.displayName instanceof String)&&e.displayName.startsWith("Memo(")}function C(e){return k(e)?j.Ob.apply(null,arguments):e}function E(e){return!!e.__k&&((0,j.XX)(null,e),!0)}function N(e){return e&&(e.base||1===e.nodeType&&e)||null}function O(e){e()}function P(e){return e}function A(){return[!1,O]}function $(e,t){var n=t(),r=(0,L.J0)({h:{__:n,v:t}}),o=r[0].h,i=r[1];return(0,L.Nf)((function(){o.__=n,o.v=t,T(o)&&i({h:o})}),[e,n,t]),(0,L.vJ)((function(){return T(o)&&i({h:o}),e((function(){T(o)&&i({h:o})}))}),[e]),n}function T(e){var t,n,r=e.v,o=e.__;try{var i=r();return!((t=o)===(n=i)&&(0!==t||1/t==1/n)||t!=t&&n!=n)}catch(e){return!0}}n.r(t),n.d(t,{Children:()=>q,Component:()=>j.uA,Fragment:()=>j.FK,PureComponent:()=>o,StrictMode:()=>oe,Suspense:()=>s,SuspenseList:()=>_,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>ee,cloneElement:()=>C,createContext:()=>j.q6,createElement:()=>j.n,createFactory:()=>w,createPortal:()=>h,createRef:()=>j._3,default:()=>ue,findDOMNode:()=>N,flushSync:()=>re,forwardRef:()=>a,hydrate:()=>m,isElement:()=>ae,isFragment:()=>S,isMemo:()=>x,isValidElement:()=>k,lazy:()=>f,memo:()=>i,render:()=>v,startTransition:()=>O,unmountComponentAtNode:()=>E,unstable_batchedUpdates:()=>ne,useCallback:()=>L.hb,useContext:()=>L.NT,useDebugValue:()=>L.MN,useDeferredValue:()=>P,useEffect:()=>L.vJ,useErrorBoundary:()=>L.Md,useId:()=>L.Bi,useImperativeHandle:()=>L.Yn,useInsertionEffect:()=>ie,useLayoutEffect:()=>L.Nf,useMemo:()=>L.Kr,useReducer:()=>L.WO,useRef:()=>L.li,useState:()=>L.J0,useSyncExternalStore:()=>$,useTransition:()=>A,version:()=>te});var j=n(172),L=n(994);(o.prototype=new j.uA).isPureReactComponent=!0,o.prototype.shouldComponentUpdate=function(e,t){return r(this.props,e)||r(this.state,t)};var M=j.fF.__b;j.fF.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),M&&M(e)};var I="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911,R=function(e,t){return null==e?null:(0,j.v2)((0,j.v2)(e).map(t))},q={map:R,forEach:R,count:function(e){return e?(0,j.v2)(e).length:0},only:function(e){var t=(0,j.v2)(e);if(1!==t.length)throw"Children.only";return t[0]},toArray:j.v2},D=j.fF.__e;j.fF.__e=function(e,t,n,r){if(e.then)for(var o,i=t;i=i.__;)if((o=i.__c)&&o.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k),o.__c(e,t);D(e,t,n,r)};var F=j.fF.unmount;j.fF.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),F&&F(e)},(s.prototype=new j.uA).__c=function(e,t){var n=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(n);var o=c(r.__v),i=!1,a=function(){i||(i=!0,n.__R=null,o?o(u):u())};n.__R=a;var u=function(){if(! --r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=l(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(a,a)},s.prototype.componentWillUnmount=function(){this.t=[]},s.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=u(this.__b,n,r.__O=r.__P)}this.__b=null}var o=t.__a&&(0,j.n)(j.FK,null,e.fallback);return o&&(o.__u&=-33),[(0,j.n)(j.FK,null,t.__a?null:e.children),o]};var H=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]{"use strict";function r(e,t){for(var n in t)e[n]=t[n];return e}function o(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function i(e,t,n){var r,o,i,u={};for(i in t)"key"==i?r=t[i]:"ref"==i?o=t[i]:u[i]=t[i];if(arguments.length>2&&(u.children=arguments.length>3?T.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(i in e.defaultProps)void 0===u[i]&&(u[i]=e.defaultProps[i]);return a(e,u,r,o,null)}function a(e,t,n,r,o){var i={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==o?++L:o,__i:-1,__u:0};return null==o&&null!=j.vnode&&j.vnode(i),i}function u(){return{current:null}}function l(e){return e.children}function s(e,t){this.props=e,this.context=t}function c(e,t){if(null==t)return e.__?c(e.__,e.__i+1):null;for(var n;tt&&M.sort(q));d.__r=0}function p(e,t,n,r,o,i,a,u,l,s,c){var f,_,d,p,m,y=r&&r.__k||z,g=t.length;for(n.__d=l,h(n,t,y),l=n.__d,f=0;f0?a(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o).__=e,o.__b=e.__b+1,i=null,-1!==(s=o.__i=y(o,n,u,d))&&(d--,(i=n[s])&&(i.__u|=131072)),null==i||null===i.__v?(-1==s&&p--,"function"!=typeof o.type&&(o.__u|=65536)):s!==u&&(s==u-1?p--:s==u+1?p++:(s>u?p--:p++,o.__u|=65536))):o=e.__k[r]=null;if(d)for(r=0;r<_;r++)null!=(i=n[r])&&!(131072&i.__u)&&(i.__e==e.__d&&(e.__d=c(i)),E(i,i))}function v(e,t,n){var r,o;if("function"==typeof e.type){for(r=e.__k,o=0;r&&o(null==l||131072&l.__u?0:1))for(;a>=0||u=0){if((l=t[a])&&!(131072&l.__u)&&o==l.key&&i===l.type)return a;a--}if(u2&&(s.children=arguments.length>3?T.call(arguments,2):n),a(e.type,s,o||e.key,i||e.ref,null)}function $(e,t){var n={__c:t="__cC"+U++,__:e,Consumer:function(e,t){return e.children(t)},Provider:function(e){var n,r;return this.getChildContext||(n=[],(r={})[t]=this,this.getChildContext=function(){return r},this.componentWillUnmount=function(){n=null},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&n.some((function(e){e.__e=!0,_(e)}))},this.sub=function(e){n.push(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n&&n.splice(n.indexOf(e),1),t&&t.call(e)}}),e.children}};return n.Provider.__=n.Consumer.contextType=n}n.d(t,{FK:()=>l,Ob:()=>A,Qv:()=>P,XX:()=>O,_3:()=>u,fF:()=>j,h:()=>i,n:()=>i,q6:()=>$,uA:()=>s,v2:()=>m});var T,j,L,M,I,R,q,D,F,H,U,W={},z=[],K=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,V=Array.isArray;T=z.slice,j={__e:function(e,t,n,r){for(var o,i,a;t=t.__;)if((o=t.__c)&&!o.__)try{if((i=o.constructor)&&null!=i.getDerivedStateFromError&&(o.setState(i.getDerivedStateFromError(e)),a=o.__d),null!=o.componentDidCatch&&(o.componentDidCatch(e,r||{}),a=o.__d),a)return o.__E=o}catch(t){e=t}throw e}},L=0,s.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=r({},this.state),"function"==typeof e&&(e=e(r({},n),this.props)),e&&r(n,e),null!=e&&this.__v&&(t&&this._sb.push(t),_(this))},s.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),_(this))},s.prototype.render=l,M=[],R="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,q=function(e,t){return e.__v.__b-t.__v.__b},d.__r=0,D=0,F=w(!1),H=w(!0),U=0},994:(e,t,n)=>{"use strict";function r(e,t){P.__h&&P.__h(S,e,N||t),N=0;var n=S.__H||(S.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function o(e){return N=1,i(w,e)}function i(e,t,n){var o=r(k++,2);if(o.t=e,!o.__c&&(o.__=[n?n(t):w(void 0,t),function(e){var t=o.__N?o.__N[0]:o.__[0],n=o.t(t,e);t!==n&&(o.__N=[n,o.__[1]],o.__c.setState({}))}],o.__c=S,!S.u)){var i=function(e,t,n){if(!o.__c.__H)return!0;var r=o.__c.__H.__.filter((function(e){return!!e.__c}));if(r.every((function(e){return!e.__N})))return!a||a.call(this,e,t,n);var i=!1;return r.forEach((function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(i=!0)}})),!(!i&&o.__c.props===e)&&(!a||a.call(this,e,t,n))};S.u=!0;var a=S.shouldComponentUpdate,u=S.componentWillUpdate;S.componentWillUpdate=function(e,t,n){if(this.__e){var r=a;a=void 0,i(e,t,n),a=r}u&&u.call(this,e,t,n)},S.shouldComponentUpdate=i}return o.__N||o.__}function a(e,t){var n=r(k++,3);!P.__s&&b(n.__H,t)&&(n.__=e,n.i=t,S.__H.__h.push(n))}function u(e,t){var n=r(k++,4);!P.__s&&b(n.__H,t)&&(n.__=e,n.i=t,S.__h.push(n))}function l(e){return N=5,c((function(){return{current:e}}),[])}function s(e,t,n){N=6,u((function(){return"function"==typeof e?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0}),null==n?n:n.concat(e))}function c(e,t){var n=r(k++,7);return b(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function f(e,t){return N=8,c((function(){return e}),t)}function _(e){var t=S.context[e.__c],n=r(k++,9);return n.c=e,t?(null==n.__&&(n.__=!0,t.sub(S)),t.props.value):e.__}function d(e,t){P.useDebugValue&&P.useDebugValue(t?t(e):e)}function p(e){var t=r(k++,10),n=o();return t.__=e,S.componentDidCatch||(S.componentDidCatch=function(e,r){t.__&&t.__(e,r),n[1](e)}),[n[0],function(){n[1](void 0)}]}function h(){var e=r(k++,11);if(!e.__){for(var t=S.__v;null!==t&&!t.__m&&null!==t.__;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function v(){for(var e;e=O.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(y),e.__H.__h.forEach(g),e.__H.__h=[]}catch(t){e.__H.__h=[],P.__e(t,e.__v)}}function m(e){var t,n=function(){clearTimeout(r),I&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);I&&(t=requestAnimationFrame(n))}function y(e){var t=S,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),S=t}function g(e){var t=S;e.__c=e.__(),S=t}function b(e,t){return!e||e.length!==t.length||t.some((function(t,n){return t!==e[n]}))}function w(e,t){return"function"==typeof t?t(e):t}n.d(t,{Bi:()=>h,J0:()=>o,Kr:()=>c,MN:()=>d,Md:()=>p,NT:()=>_,Nf:()=>u,WO:()=>i,Yn:()=>s,hb:()=>f,li:()=>l,vJ:()=>a});var k,S,x,C,E=n(172),N=0,O=[],P=E.fF,A=P.__b,$=P.__r,T=P.diffed,j=P.__c,L=P.unmount,M=P.__;P.__b=function(e){S=null,A&&A(e)},P.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),M&&M(e,t)},P.__r=function(e){$&&$(e),k=0;var t=(S=e.__c).__H;t&&(x===S?(t.__h=[],S.__h=[],t.__.forEach((function(e){e.__N&&(e.__=e.__N),e.i=e.__N=void 0}))):(t.__h.forEach(y),t.__h.forEach(g),t.__h=[],k=0)),x=S},P.diffed=function(e){T&&T(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==O.push(t)&&C===P.requestAnimationFrame||((C=P.requestAnimationFrame)||m)(v)),t.__H.__.forEach((function(e){e.i&&(e.__H=e.i),e.i=void 0}))),x=S=null},P.__c=function(e,t){t.some((function(e){try{e.__h.forEach(y),e.__h=e.__h.filter((function(e){return!e.__||g(e)}))}catch(n){t.some((function(e){e.__h&&(e.__h=[])})),t=[],P.__e(n,e.__v)}})),j&&j(e,t)},P.unmount=function(e){L&&L(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach((function(e){try{y(e)}catch(e){t=e}})),n.__H=void 0,t&&P.__e(t,n.__v))};var I="function"==typeof requestAnimationFrame},983:(e,t,n)=>{var r=function(e){function t(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function n(e,t,n,r){e.lastIndex=t;var o=e.exec(n);if(o&&r&&o[1]){var i=o[1].length;o.index+=i,o[0]=o[0].slice(i)}return o}function r(e,o,u,l,s,c){for(var _ in u)if(u.hasOwnProperty(_)&&u[_]){var d=u[_];d=Array.isArray(d)?d:[d];for(var p=0;p=c.reach);S+=k.value.length,k=k.next){var x=k.value;if(o.length>e.length)return;if(!(x instanceof t)){var C,E=1;if(y){if(!(C=n(w,S,e,m))||C.index>=e.length)break;var N=C.index,O=C.index+C[0].length,P=S;for(P+=k.value.length;N>=P;)P+=(k=k.next).value.length;if(S=P-=k.value.length,k.value instanceof t)continue;for(var A=k;A!==o.tail&&(Pc.reach&&(c.reach=L);var M=k.prev;if(T&&(M=i(o,M,T),S+=T.length),a(o,M,E),k=i(o,M,new t(_,v?f.tokenize($,v):$,g,$)),j&&i(o,k,j),E>1){var I={cause:_+","+p,reach:L};r(e,o,u,k.prev,S,I),c&&I.reach>c.reach&&(c.reach=I.reach)}}}}}}function o(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function i(e,t,n){var r=t.next,o={value:n,prev:t,next:r};return t.next=o,r.prev=o,e.length++,o}function a(e,t,n){for(var r=t.next,o=0;o"+o.content+""},!e.document)return e.addEventListener?(f.disableWorkerMessageHandler||e.addEventListener("message",(function(t){var n=JSON.parse(t.data),r=n.language,o=n.immediateClose;e.postMessage(f.highlight(n.code,f.languages[r],r)),o&&e.close()}),!1),f):f;var _=f.util.currentScript();if(_&&(f.filename=_.src,_.hasAttribute("data-manual")&&(f.manual=!0)),!f.manual){var d=document.readyState;"loading"===d||"interactive"===d&&_&&_.defer?document.addEventListener("DOMContentLoaded",u):window.requestAnimationFrame?window.requestAnimationFrame(u):window.setTimeout(u,16)}return f}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});e.exports&&(e.exports=r),void 0!==n.g&&(n.g.Prism=r)},514:()=>{Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json},837:()=>{!function(){function e(e){if(0!=(e=e.filter((function(e){var t=function(e){if(!e)return null;return window.getComputedStyle?getComputedStyle(e):e.currentStyle||null}(e)["white-space"];return"pre-wrap"===t||"pre-line"===t}))).length){var t=e.map((function(e){var t=e.querySelector("code"),r=e.querySelector(".line-numbers-rows");if(t&&r){var o=e.querySelector(".line-numbers-sizer"),i=t.textContent.split(n);o||((o=document.createElement("span")).className="line-numbers-sizer",t.appendChild(o)),o.innerHTML="0",o.style.display="block";var a=o.getBoundingClientRect().height;return o.innerHTML="",{element:e,lines:i,lineHeights:[],oneLinerHeight:a,sizer:o}}})).filter(Boolean);t.forEach((function(e){var t=e.sizer,n=e.lines,r=e.lineHeights,o=e.oneLinerHeight;r[n.length-1]=void 0,n.forEach((function(e,n){if(e&&e.length>1){var i=t.appendChild(document.createElement("span"));i.style.display="block",i.textContent=e}else r[n]=o}))})),t.forEach((function(e){for(var t=e.sizer,n=e.lineHeights,r=0,o=0;oi&&(n=i),r.children[n-o]}}},resize:function(t){e([t])},assumeViewportIndependence:!0},o=void 0;window.addEventListener("resize",(function(){r.assumeViewportIndependence&&o===window.innerWidth||(o=window.innerWidth,e(Array.prototype.slice.call(document.querySelectorAll("pre."+t))))})),Prism.hooks.add("complete",(function(r){if(r.code){var o=r.element,i=o.parentNode;if(i&&/pre/i.test(i.nodeName)&&!o.querySelector(".line-numbers-rows")&&Prism.util.isActive(o,t)){o.classList.remove(t),i.classList.add(t);var a,u=r.code.match(n),l=new Array((u?u.length+1:1)+1).join("");(a=document.createElement("span")).setAttribute("aria-hidden","true"),a.className="line-numbers-rows",a.innerHTML=l,i.hasAttribute("data-start")&&(i.style.counterReset="linenumber "+(parseInt(i.getAttribute("data-start"),10)-1)),r.element.appendChild(a),e([i]),Prism.hooks.run("line-numbers",r)}}})),Prism.hooks.add("line-numbers",(function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0}))}}()},69:function(e,t,n){"use strict";var r=this&&this.__assign||function(){return r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n-1){F.current.stack=u.slice(0,l+1);var s=F.current.stack.length;if(s>100){var c=s-100;F.current.stack=u.slice(c,s),F.current.offset=Math.max(F.current.offset-c,0)}}var f=Date.now();if(t){var _=F.current.stack[F.current.offset];if(_&&f-_.timestamp<3e3){var d=/[^a-z0-9]([a-z0-9]+)$/i,p=null===(n=B(_.value,_.selectionStart).pop())||void 0===n?void 0:n.match(d),h=null===(o=B(e.value,e.selectionStart).pop())||void 0===o?void 0:o.match(d);if((null==p?void 0:p[1])&&(null===(i=null==h?void 0:h[1])||void 0===i?void 0:i.startsWith(p[1])))return void(F.current.stack[F.current.offset]=r(r({},e),{timestamp:f}))}}F.current.stack.push(r(r({},e),{timestamp:f})),F.current.offset++}),[]),G=l.useCallback((function(){var e=H.current;e&&J({value:e.value,selectionStart:e.selectionStart,selectionEnd:e.selectionEnd})}),[J]),X=function(e){var t=H.current;t&&(t.value=e.value,t.selectionStart=e.selectionStart,t.selectionEnd=e.selectionEnd,null==E||E(e.value))},Z=function(e){var t=H.current,n=F.current.stack[F.current.offset];n&&t&&(F.current.stack[F.current.offset]=r(r({},n),{selectionStart:t.selectionStart,selectionEnd:t.selectionEnd})),J(e),X(e)};return l.useEffect((function(){G()}),[G]),l.useImperativeHandle(t,(function(){return{get session(){return{history:F.current}},set session(e){F.current=e.history}}}),[]),l.createElement("div",r({},D,{style:r(r({},p.container),j)}),l.createElement("pre",r({className:A,"aria-hidden":"true",style:r(r(r({},p.editor),p.highlight),K)},"string"==typeof V?{dangerouslySetInnerHTML:{__html:V+"
"}}:{children:V})),l.createElement("textarea",{ref:function(e){return H.current=e},style:r(r(r({},p.editor),p.textarea),K),className:f+(I?" ".concat(I):""),id:R,value:q,onChange:function(e){var t=e.currentTarget,n=t.value;J({value:n,selectionStart:t.selectionStart,selectionEnd:t.selectionEnd},!0),E(n)},onKeyDown:function(e){if(!x||(x(e),!e.defaultPrevented)){"Escape"===e.key&&e.currentTarget.blur();var t=e.currentTarget,n=t.value,r=t.selectionStart,o=t.selectionEnd,i=(m?" ":"\t").repeat(M);if("Tab"===e.key&&!h&&W)if(e.preventDefault(),e.shiftKey){var a=(f=B(n,r)).length-1,u=B(n,o).length-1,l=n.split("\n").map((function(e,t){return t>=a&&t<=u&&e.startsWith(i)?e.substring(i.length):e})).join("\n");if(n!==l)Z({value:l,selectionStart:(null==(p=f[a])?void 0:p.startsWith(i))?r-i.length:r,selectionEnd:o-(n.length-l.length)})}else if(r!==o){var f,_=(f=B(n,r)).length-1,d=B(n,o).length-1,p=f[_];Z({value:n.split("\n").map((function(e,t){return t>=_&&t<=d?i+e:e})).join("\n"),selectionStart:p&&/\S/.test(p)?r+i.length:r,selectionEnd:o+i.length*(d-_+1)})}else{var v=r+i.length;Z({value:n.substring(0,r)+i+n.substring(o),selectionStart:v,selectionEnd:v})}else if("Backspace"===e.key){var y=r!==o;if(n.substring(0,r).endsWith(i)&&!y){e.preventDefault();v=r-i.length;Z({value:n.substring(0,r-i.length)+n.substring(o),selectionStart:v,selectionEnd:v})}}else if("Enter"===e.key){if(r===o){var g=B(n,r).pop(),b=null==g?void 0:g.match(/^\s+/);if(null==b?void 0:b[0]){e.preventDefault();var w="\n"+b[0];v=r+w.length;Z({value:n.substring(0,r)+w+n.substring(o),selectionStart:v,selectionEnd:v})}}}else if(57===e.keyCode||219===e.keyCode||222===e.keyCode||192===e.keyCode){var k=void 0;57===e.keyCode&&e.shiftKey?k=["(",")"]:219===e.keyCode?k=e.shiftKey?["{","}"]:["[","]"]:222===e.keyCode?k=e.shiftKey?['"','"']:["'","'"]:192!==e.keyCode||e.shiftKey||(k=["`","`"]),r!==o&&k&&(e.preventDefault(),Z({value:n.substring(0,r)+k[0]+n.substring(r,o)+k[1]+n.substring(o),selectionStart:r,selectionEnd:o+2}))}else!(c?e.metaKey&&90===e.keyCode:e.ctrlKey&&90===e.keyCode)||e.shiftKey||e.altKey?(c?e.metaKey&&90===e.keyCode&&e.shiftKey:s?e.ctrlKey&&89===e.keyCode:e.ctrlKey&&90===e.keyCode&&e.shiftKey)&&!e.altKey?(e.preventDefault(),function(){var e=F.current,t=e.stack,n=e.offset,r=t[n+1];r&&(X(r),F.current.offset=Math.min(n+1,t.length-1))}()):77!==e.keyCode||!e.ctrlKey||c&&!e.shiftKey||(e.preventDefault(),z((function(e){return!e}))):(e.preventDefault(),function(){var e=F.current,t=e.offset,n=e.stack[t-1];n&&(X(n),F.current.offset=Math.max(t-1,0))}())}},onClick:k,onKeyUp:C,onFocus:S,onBlur:w,disabled:o,form:i,maxLength:y,minLength:g,name:b,placeholder:P,readOnly:$,required:T,autoFocus:n,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"data-gramm":!1}),l.createElement("style",{dangerouslySetInnerHTML:{__html:_}}))})),p={container:{position:"relative",textAlign:"left",boxSizing:"border-box",padding:0,overflow:"hidden"},textarea:{position:"absolute",top:0,left:0,height:"100%",width:"100%",resize:"none",color:"inherit",overflow:"hidden",MozOsxFontSmoothing:"grayscale",WebkitFontSmoothing:"antialiased",WebkitTextFillColor:"transparent"},highlight:{position:"relative",pointerEvents:"none"},editor:{margin:0,border:0,background:"none",boxSizing:"inherit",display:"inherit",fontFamily:"inherit",fontSize:"inherit",fontStyle:"inherit",fontVariantLigatures:"inherit",fontWeight:"inherit",letterSpacing:"inherit",lineHeight:"inherit",tabSize:"inherit",textIndent:"inherit",textRendering:"inherit",textTransform:"inherit",whiteSpace:"pre-wrap",wordBreak:"keep-all",overflowWrap:"break-word"}};t.default=d},942:(e,t)=>{var n;!function(){"use strict";function r(){for(var e="",t=0;t{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},e.d=(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),e.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},e.p="/",(()=>{"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function n(e,n,r){return(n=function(e){var n=function(e,n){if("object"!=t(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,n||"default");if("object"!=t(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==t(n)?n:n+""}(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,u=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(u.push(r.value),u.length!==t);l=!0);}catch(e){s=!0,o=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(e,t)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return(yield fetch(e,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json","X-WP-Nonce":n},body:JSON.stringify(t)})).json()},u=function(){var t=this,n=arguments;return new Promise((function(r,o){function i(e){a(l,r,o,i,u,"next",e)}function u(e){a(l,r,o,i,u,"throw",e)}var l=e.apply(t,n);i(void 0)}))},u.apply(this,arguments)}function l(e){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l(e)}function s(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=l(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=l(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==l(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,u=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(u.push(r.value),u.length!==t);l=!0);}catch(e){s=!0,o=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(e,t)||function(e,t){if(e){if("string"==typeof e)return f(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?f(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);nE,BM:()=>N,MT:()=>O,P4:()=>P,KQ:()=>A,C:()=>$,Hp:()=>T,j0:()=>j});e(624);var g=e(172),b=e(127),w=e.n(b),k=e(402),S=e(994),x=e(942),C=e.n(x),E="info_block__MmcRf",N="info_block_collapsed__nKHMe",O="info_block_inner__HUWuS",P="info_block_item__VRzq4",A="info_block_teaser__WU82D",$="info_label__zb5kV",T="info_wrapper__hfoFu",j="query_count__yBMaQ",L=(0,g.q6)(null),M=e(172).FK,I=function(){var e=(0,S.NT)(L),t=e.queries,n=e.information;return(0,g.h)("div",null,(0,g.h)("h2",{className:"vip-h2 ".concat(j)},w()("query",t.length,!0)," ",w()("was",t.length)," run on this page"),(0,g.h)("div",{className:T},n.map((function(e,t){return(0,g.h)(R,i({key:t},e))}))))},R=function(e){var t=e.label,o=e.value,i=e.options,a=void 0===i?{collapsible:!1}:i,u=r((0,S.J0)(!0),2),l=u[0],s=u[1],c=function(){a.collapsible&&s(!l)},f=Array.isArray(o),_=o.length,d=f&&_>2?"+ ".concat(w()("other",_-2,!0)):"";return(0,g.h)("div",{className:C()(n(n(n({},E,!0),y.info_block_collapsible,a.collapsible||!1),N,l))},(0,g.h)("h5",{className:$,onClick:c},t),a.collapsible?(0,g.h)(M,null,(0,g.h)("div",{className:C()(n({},O,!0))},f?o.map((function(e){return(0,g.h)("span",{key:e,className:P},e)})):(0,g.h)("span",null,o)),(0,g.h)("span",{className:A,onClick:c},f?" ".concat(o.slice(0,2).join(", ")," ").concat(d):"Click to show")):(0,g.h)("span",null,f?o.join(", "):o))};const q=function(e){var t=e.children,n=e.closeOverlay,r=e.colorTheme,o=void 0===r?"light":r,i=e.isVisible,a=(0,S.Kr)((function(){return function(e){return"Escape"===e.key&&n()}}),[n]);return(0,S.vJ)((function(){return window.addEventListener("keydown",a),function(){window.removeEventListener("keydown",a)}}),[a]),i?(0,g.h)("div",{className:"search-dev-tools__overlay search-dev-tools__overlay--".concat(o),role:"dialog"},(0,g.h)("button",{"aria-label":"Close VIP Search Dev Tools",className:"search-dev-tools__overlay__close",onClick:n},(0,g.h)("img",{src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkiIGhlaWdodD0iMTkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04Ljc5MyA5LjUuNjQ2IDE3LjY0NmwuNzA4LjcwN0w5LjUgMTAuMjA3bDguMTQ2IDguMTQ2LjcwOC0uNzA3TDEwLjIwNyA5LjVsOC4xNDctOC4xNDYtLjcwNy0uNzA4TDkuNSA4Ljc5MyAxLjM1NC42NDZsLS43MDguNzA4TDguNzkzIDkuNVoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=",alt:"Close"})),t):null};var D=e(576),F=e.n(D),H=e(983),U=(e(837),e(514),e(69)),W=e.n(U),z="query_actions__ImK9_",K=function(e){var t=e.list,n=void 0===t?[]:t,r=e.title,o=void 0===r?"View":r,i=c((0,S.J0)(!1),2),a=i[0],u=i[1],l=o.toLowerCase();return(0,g.h)("div",{className:C()(s(s({},"collapsible_list__PJS0Z",!0),"visible__M2eJW",a))},(0,g.h)("strong",{className:"".concat(l," vip-h4"),onClick:n.length?function(){u(!a)}:null},o," (","".concat(n.length),")"),(0,g.h)("ol",{className:"".concat("collapsible_list_details__u5Pq3"," ").concat(l," vip-collapse-ol")},n.map((function(e,t){return(0,g.h)("li",{key:t},e)}))))},V=e(172).FK,B=function(e){var t,n,r=e.request,o=e.url,i=e.query_args,a=e.backtrace,l=void 0===a?[]:a,s=JSON.stringify(e.args.body,null,2),c=JSON.stringify(r.body,null,2),f={editing:!1,query:s,result:c,collapsed:!0},h=p((0,S.J0)(f),2),v=h[0],m=h[1],y="#query-response-copy-handle",b=(0,S.hb)(function(){var e,t=(e=function*(e){try{var t=yield function(){return u.apply(this,arguments)}(window.VIPSearchDevTools.ajaxurl,{action:window.VIPSearchDevTools.action,url:o,query:e},window.VIPSearchDevTools.nonce);m((function(e){var n;return _({},e,{result:JSON.stringify(null==t||null===(n=t.result)||void 0===n?void 0:n.body,null,2)})}))}catch(e){console.log(e)}},function(){var t=this,n=arguments;return new Promise((function(r,o){function i(e){d(u,r,o,i,a,"next",e)}function a(e){d(u,r,o,i,a,"throw",e)}var u=e.apply(t,n);i(void 0)}))});return function(e){return t.apply(this,arguments)}}(),[o]);(0,S.vJ)((function(){var e=new(F())(y);return e.on("success",(function(e){document.querySelector(y).innerHTML="COPIED!",setTimeout((function(){document.querySelector(y).innerHTML="COPY"}),2e3),e.clearSelection()})),function(){return e.destroy()}}),[]),(0,S.vJ)((function(){v.query!==f.query&&(v.editing||b(v.query))}),[v.query,v.editing,f.query,b]);var k;return(0,g.h)("div",{className:C()("query_wrap__uIeve",v.collapsed?"query_collapsed__PGXWS":null)},(0,g.h)("div",{className:"query_handle__e0c8G",onClick:function(){return m(_({},v,{collapsed:!v.collapsed}))}},(0,g.h)("h3",{className:"vip-h3"},w()("result",(null==r||null===(t=r.body)||void 0===t||null===(t=t.hits)||void 0===t||null===(t=t.hits)||void 0===t?void 0:t.length)||0,!0),(0,g.h)("span",{style:"color: var(--vip-grey-60);"}," that took")," ",(0,g.h)("span",{style:{color:"var(--vip-".concat((k=r.body.took)<200?"green-60":k<500?"red-30":"red-60",")"),fontWeight:"bold"}},k,"ms"),(0,g.h)("small",null," (",(null==r||null===(n=r.response)||void 0===n?void 0:n.code)||"unknown",")"))),(0,g.h)("div",{className:"grid_container__esEnb"},(0,g.h)("div",{className:"query_src_header__wWAup"},(0,g.h)("span",{style:"margin-right: auto;"},"Request"),(0,g.h)("div",{className:"query_src_extra__aZwxj"},(0,g.h)(K,{title:"WP_Query",list:Object.entries(i).map((function(e){var t=p(e,2),n=t[1];return"".concat(t[0],": ").concat(JSON.stringify(n))}))}),(0,g.h)(K,{title:"Trace",list:l}))),(0,g.h)("div",{className:"query_res_header__DMOpO"},"Response"),(0,g.h)("div",{className:"".concat("query_src__MoJsW"," query-src-box")},(0,g.h)("div",{className:z},v.editing||v.result!==c?(0,g.h)(V,null,(0,g.h)("button",{onClick:function(){return m(_({},v,{editing:!1}))},style:"background-color: var(--vip-green-40) !important"},"RUN"),(0,g.h)("button",{onClick:function(){return m(_({},f,{collapsed:!1}))},style:"background-color: var(--vip-blue-10) !important"},"RESET")):"Edit me!"),(0,g.h)(W(),{value:v.query,onValueChange:function(e){return m(_({},v,{query:e,editing:!0}))},highlight:function(e){return(0,H.highlight)(e,H.languages.json,"json").split("\n").map((function(e){return'').concat(e,"")})).join("\n")},padding:0,className:"container_editor___Y1qC",style:{fontSize:"var(--vip-sdt-editor-font-size)",lineHeight:"1.2em"}})),(0,g.h)("div",{className:"".concat("query_res__FZmqB"," query-result-box")},(0,g.h)("div",{className:"query_result__k_RWY"},(0,g.h)("div",{className:z},(0,g.h)("button",{id:"query-response-copy-handle","data-clipboard-target":"#query-response-text"},"COPY")),(0,g.h)("pre",{className:"line-numbers"},(0,g.h)("code",{className:"language-json",id:"query-response-text"},v.result))))))},J=function(){var e=(0,S.NT)(L).queries;return(0,g.h)("div",null,e.length<1?"No queries to show":e.map((function(e,t){return(0,g.h)(B,_({key:t},e))})))},G=function(e){var t=(0,S.NT)(L).queries;return(0,g.h)("button",e,"Search: ",w()("query",t.length,!0))};const X=function(){var e,t=v((0,S.J0)(!1),2),n=t[0],r=t[1],o=(0,S.hb)((function(){return r(!1)}),[]),i=(0,S.hb)((function(){return r(!n)}),[n]);return(0,g.h)(L.Provider,{value:(null===(e=window)||void 0===e?void 0:e.VIPSearchDevTools)||{status:"disabled",queries:[],information:[]}},(0,g.h)("div",{className:"search-dev-tools__wrapper"},(0,g.h)(G,{class:"ab_btn__Grxiu",onClick:i}),(0,k.createPortal)((0,g.h)(q,{isVisible:n,closeOverlay:o,opacity:"100"},(0,g.h)("div",{className:"vip_search_dev_tools__WdCFa"},(0,g.h)("h4",{className:"vip-h4 main_caption"},"Enterprise Search Dev Tools"),(0,g.h)(I,null),(0,g.h)(J,null))),document.getElementById("search-dev-tools-portal"))))};var Z=function(){return(0,g.XX)((0,g.h)(X,null),document.querySelector('[data-widget-host="vip-search-dev-tools"]'))};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",Z):Z()})()})(); \ No newline at end of file +(()=>{function e(r){var o=n[r];if(void 0!==o)return o.exports;var i=n[r]={exports:{}};return t[r].call(i.exports,i,i.exports,e),i.exports}var t={624:(e,t,n)=>{n.p=window.VIPSearchDevTools.__webpack_public_path__},576:function(e){var t;t=function(){return function(){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{}};return t[r](o,o.exports,e),o.exports}var t={686:function(e,t,n){"use strict";function r(e){try{return document.execCommand(e)}catch(e){return!1}}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function a(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{container:document.body},n="";return"string"==typeof e?n=g(e,t):e instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(null==e?void 0:e.type)?n=g(e.value,t):(n=m()(e),r("copy")),n},w=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.action,n=void 0===t?"copy":t,r=e.container,i=e.target,a=e.text;if("copy"!==n&&"cut"!==n)throw new Error('Invalid "action" value, use either "copy" or "cut"');if(void 0!==i){if(!i||"object"!==o(i)||1!==i.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===n&&i.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===n&&(i.hasAttribute("readonly")||i.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes')}return a?b(a,{container:r}):i?"cut"===n?y(i):b(i,{container:r}):void 0},k=function(e){function t(e,t){var n;return(n=s.call(this)).resolveOptions(t),n.listenClick(e),n}!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&u(e,t)}(t,e);var n,r,o,s=l(t);return n=t,r=[{key:"resolveOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText,this.container="object"===i(e.container)?e.container:document.body}},{key:"listenClick",value:function(e){var t=this;this.listener=h()(e,"click",(function(e){return t.onClick(e)}))}},{key:"onClick",value:function(e){var t=e.delegateTarget||e.currentTarget,n=this.action(t)||"copy",r=w({action:n,container:this.container,target:this.target(t),text:this.text(t)});this.emit(r?"success":"error",{action:n,text:r,trigger:t,clearSelection:function(){t&&t.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(e){return f("action",e)}},{key:"defaultTarget",value:function(e){var t=f("target",e);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(e){return f("text",e)}},{key:"destroy",value:function(){this.listener.destroy()}}],o=[{key:"copy",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{container:document.body};return b(e,t)}},{key:"cut",value:function(e){return y(e)}},{key:"isSupported",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t=!!document.queryCommandSupported;return("string"==typeof e?[e]:e).forEach((function(e){t=t&&!!document.queryCommandSupported(e)})),t}}],r&&a(n.prototype,r),o&&a(n,o),t}(d()),S=k},828:function(e){if("undefined"!=typeof Element&&!Element.prototype.matches){var t=Element.prototype;t.matches=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}e.exports=function(e,t){for(;e&&9!==e.nodeType;){if("function"==typeof e.matches&&e.matches(t))return e;e=e.parentNode}}},438:function(e,t,n){function r(e,t,n,r,i){var a=o.apply(this,arguments);return e.addEventListener(n,a,i),{destroy:function(){e.removeEventListener(n,a,i)}}}function o(e,t,n,r){return function(n){n.delegateTarget=i(n.target,t),n.delegateTarget&&r.call(e,n)}}var i=n(828);e.exports=function(e,t,n,o,i){return"function"==typeof e.addEventListener?r.apply(null,arguments):"function"==typeof n?r.bind(null,document).apply(null,arguments):("string"==typeof e&&(e=document.querySelectorAll(e)),Array.prototype.map.call(e,(function(e){return r(e,t,n,o,i)})))}},879:function(e,t){t.node=function(e){return void 0!==e&&e instanceof HTMLElement&&1===e.nodeType},t.nodeList=function(e){var n=Object.prototype.toString.call(e);return void 0!==e&&("[object NodeList]"===n||"[object HTMLCollection]"===n)&&"length"in e&&(0===e.length||t.node(e[0]))},t.string=function(e){return"string"==typeof e||e instanceof String},t.fn=function(e){return"[object Function]"===Object.prototype.toString.call(e)}},370:function(e,t,n){var r=n(879),o=n(438);e.exports=function(e,t,n){if(!e&&!t&&!n)throw new Error("Missing required arguments");if(!r.string(t))throw new TypeError("Second argument must be a String");if(!r.fn(n))throw new TypeError("Third argument must be a Function");if(r.node(e))return function(e,t,n){return e.addEventListener(t,n),{destroy:function(){e.removeEventListener(t,n)}}}(e,t,n);if(r.nodeList(e))return function(e,t,n){return Array.prototype.forEach.call(e,(function(e){e.addEventListener(t,n)})),{destroy:function(){Array.prototype.forEach.call(e,(function(e){e.removeEventListener(t,n)}))}}}(e,t,n);if(r.string(e))return function(e,t,n){return o(document.body,e,t,n)}(e,t,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}},817:function(e){e.exports=function(e){var t;if("SELECT"===e.nodeName)e.focus(),t=e.value;else if("INPUT"===e.nodeName||"TEXTAREA"===e.nodeName){var n=e.hasAttribute("readonly");n||e.setAttribute("readonly",""),e.select(),e.setSelectionRange(0,e.value.length),n||e.removeAttribute("readonly"),t=e.value}else{e.hasAttribute("contenteditable")&&e.focus();var r=window.getSelection(),o=document.createRange();o.selectNodeContents(e),r.removeAllRanges(),r.addRange(o),t=r.toString()}return t}},279:function(e){function t(){}t.prototype={on:function(e,t,n){var r=this.e||(this.e={});return(r[e]||(r[e]=[])).push({fn:t,ctx:n}),this},once:function(e,t,n){function r(){o.off(e,r),t.apply(n,arguments)}var o=this;return r._=t,this.on(e,r,n)},emit:function(e){for(var t=[].slice.call(arguments,1),n=((this.e||(this.e={}))[e]||[]).slice(),r=0,o=n.length;r{"use strict";function r(e,t){for(var n in e)if("__source"!==n&&!(n in t))return!0;for(var r in t)if("__source"!==r&&e[r]!==t[r])return!0;return!1}function o(e,t){this.props=e,this.context=t}function i(e,t){function n(e){var n=this.props.ref,o=n==e.ref;return!o&&n&&(n.call?n(null):n.current=null),t?!t(this.props,e)||!o:r(this.props,e)}function o(t){return this.shouldComponentUpdate=n,(0,j.n)(e,t)}return o.displayName="Memo("+(e.displayName||e.name)+")",o.prototype.isReactComponent=!0,o.__f=!0,o}function a(e){function t(t){if(!("ref"in t))return e(t,null);var n=t.ref;delete t.ref;var r=e(t,n);return t.ref=n,r}return t.$$typeof=I,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}function u(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach((function(e){"function"==typeof e.__c&&e.__c()})),e.__c.__H=null),null!=(e=function(e,t){for(var n in t)e[n]=t[n];return e}({},e)).__c&&(e.__c.__P===n&&(e.__c.__P=t),e.__c=null),e.__k=e.__k&&e.__k.map((function(e){return u(e,t,n)}))),e}function l(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map((function(e){return l(e,t,n)})),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function s(){this.__u=0,this.t=null,this.__b=null}function c(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function f(e){function t(t){if(n||(n=e()).then((function(e){r=e.default||e}),(function(e){o=e})),o)throw o;if(!r)throw n;return(0,j.n)(r,t)}var n,r,o;return t.displayName="Lazy",t.__f=!0,t}function _(){this.u=null,this.o=null}function d(e){return this.getChildContext=function(){return e.context},e.children}function p(e){var t=this,n=e.i;t.componentWillUnmount=function(){(0,j.XX)(null,t.l),t.l=null,t.i=null},t.i&&t.i!==n&&t.componentWillUnmount(),t.l||(t.i=n,t.l={nodeType:1,parentNode:n,childNodes:[],contains:function(){return!0},appendChild:function(e){this.childNodes.push(e),t.i.appendChild(e)},insertBefore:function(e){this.childNodes.push(e),t.i.appendChild(e)},removeChild:function(e){this.childNodes.splice(this.childNodes.indexOf(e)>>>1,1),t.i.removeChild(e)}}),(0,j.XX)((0,j.n)(d,{context:t.context},e.__v),t.l)}function h(e,t){var n=(0,j.n)(p,{__v:e,i:t});return n.containerInfo=t,n}function v(e,t,n){return null==t.__k&&(t.textContent=""),(0,j.XX)(e,t),"function"==typeof n&&n(),e?e.__c:null}function m(e,t,n){return(0,j.Qv)(e,t),"function"==typeof n&&n(),e?e.__c:null}function y(){}function g(){return this.cancelBubble}function b(){return this.defaultPrevented}function w(e){return j.n.bind(null,e)}function k(e){return!!e&&e.$$typeof===U}function S(e){return k(e)&&e.type===j.FK}function x(e){return!!e&&!!e.displayName&&("string"==typeof e.displayName||e.displayName instanceof String)&&e.displayName.startsWith("Memo(")}function C(e){return k(e)?j.Ob.apply(null,arguments):e}function E(e){return!!e.__k&&((0,j.XX)(null,e),!0)}function N(e){return e&&(e.base||1===e.nodeType&&e)||null}function O(e){e()}function P(e){return e}function A(){return[!1,O]}function $(e,t){var n=t(),r=(0,L.J0)({h:{__:n,v:t}}),o=r[0].h,i=r[1];return(0,L.Nf)((function(){o.__=n,o.v=t,T(o)&&i({h:o})}),[e,n,t]),(0,L.vJ)((function(){return T(o)&&i({h:o}),e((function(){T(o)&&i({h:o})}))}),[e]),n}function T(e){var t,n,r=e.v,o=e.__;try{var i=r();return!((t=o)===(n=i)&&(0!==t||1/t==1/n)||t!=t&&n!=n)}catch(e){return!0}}n.r(t),n.d(t,{Children:()=>q,Component:()=>j.uA,Fragment:()=>j.FK,PureComponent:()=>o,StrictMode:()=>oe,Suspense:()=>s,SuspenseList:()=>_,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>ee,cloneElement:()=>C,createContext:()=>j.q6,createElement:()=>j.n,createFactory:()=>w,createPortal:()=>h,createRef:()=>j._3,default:()=>ue,findDOMNode:()=>N,flushSync:()=>re,forwardRef:()=>a,hydrate:()=>m,isElement:()=>ae,isFragment:()=>S,isMemo:()=>x,isValidElement:()=>k,lazy:()=>f,memo:()=>i,render:()=>v,startTransition:()=>O,unmountComponentAtNode:()=>E,unstable_batchedUpdates:()=>ne,useCallback:()=>L.hb,useContext:()=>L.NT,useDebugValue:()=>L.MN,useDeferredValue:()=>P,useEffect:()=>L.vJ,useErrorBoundary:()=>L.Md,useId:()=>L.Bi,useImperativeHandle:()=>L.Yn,useInsertionEffect:()=>ie,useLayoutEffect:()=>L.Nf,useMemo:()=>L.Kr,useReducer:()=>L.WO,useRef:()=>L.li,useState:()=>L.J0,useSyncExternalStore:()=>$,useTransition:()=>A,version:()=>te});var j=n(172),L=n(994);(o.prototype=new j.uA).isPureReactComponent=!0,o.prototype.shouldComponentUpdate=function(e,t){return r(this.props,e)||r(this.state,t)};var M=j.fF.__b;j.fF.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),M&&M(e)};var I="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911,R=function(e,t){return null==e?null:(0,j.v2)((0,j.v2)(e).map(t))},q={map:R,forEach:R,count:function(e){return e?(0,j.v2)(e).length:0},only:function(e){var t=(0,j.v2)(e);if(1!==t.length)throw"Children.only";return t[0]},toArray:j.v2},D=j.fF.__e;j.fF.__e=function(e,t,n,r){if(e.then)for(var o,i=t;i=i.__;)if((o=i.__c)&&o.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k),o.__c(e,t);D(e,t,n,r)};var F=j.fF.unmount;j.fF.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),F&&F(e)},(s.prototype=new j.uA).__c=function(e,t){var n=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(n);var o=c(r.__v),i=!1,a=function(){i||(i=!0,n.__R=null,o?o(u):u())};n.__R=a;var u=function(){if(! --r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=l(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(a,a)},s.prototype.componentWillUnmount=function(){this.t=[]},s.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=u(this.__b,n,r.__O=r.__P)}this.__b=null}var o=t.__a&&(0,j.n)(j.FK,null,e.fallback);return o&&(o.__u&=-33),[(0,j.n)(j.FK,null,t.__a?null:e.children),o]};var H=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]{"use strict";function r(e,t){for(var n in t)e[n]=t[n];return e}function o(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function i(e,t,n){var r,o,i,u={};for(i in t)"key"==i?r=t[i]:"ref"==i?o=t[i]:u[i]=t[i];if(arguments.length>2&&(u.children=arguments.length>3?T.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(i in e.defaultProps)void 0===u[i]&&(u[i]=e.defaultProps[i]);return a(e,u,r,o,null)}function a(e,t,n,r,o){var i={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==o?++L:o,__i:-1,__u:0};return null==o&&null!=j.vnode&&j.vnode(i),i}function u(){return{current:null}}function l(e){return e.children}function s(e,t){this.props=e,this.context=t}function c(e,t){if(null==t)return e.__?c(e.__,e.__i+1):null;for(var n;tt&&M.sort(q));d.__r=0}function p(e,t,n,r,o,i,a,u,l,s,c){var f,_,d,p,m,y=r&&r.__k||z,g=t.length;for(n.__d=l,h(n,t,y),l=n.__d,f=0;f0?a(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o).__=e,o.__b=e.__b+1,i=null,-1!==(s=o.__i=y(o,n,u,d))&&(d--,(i=n[s])&&(i.__u|=131072)),null==i||null===i.__v?(-1==s&&p--,"function"!=typeof o.type&&(o.__u|=65536)):s!==u&&(s==u-1?p--:s==u+1?p++:(s>u?p--:p++,o.__u|=65536))):o=e.__k[r]=null;if(d)for(r=0;r<_;r++)null!=(i=n[r])&&!(131072&i.__u)&&(i.__e==e.__d&&(e.__d=c(i)),E(i,i))}function v(e,t,n){var r,o;if("function"==typeof e.type){for(r=e.__k,o=0;r&&o(null==l||131072&l.__u?0:1))for(;a>=0||u=0){if((l=t[a])&&!(131072&l.__u)&&o==l.key&&i===l.type)return a;a--}if(u2&&(s.children=arguments.length>3?T.call(arguments,2):n),a(e.type,s,o||e.key,i||e.ref,null)}function $(e,t){var n={__c:t="__cC"+U++,__:e,Consumer:function(e,t){return e.children(t)},Provider:function(e){var n,r;return this.getChildContext||(n=new Set,(r={})[t]=this,this.getChildContext=function(){return r},this.componentWillUnmount=function(){n=null},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&n.forEach((function(e){e.__e=!0,_(e)}))},this.sub=function(e){n.add(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n&&n.delete(e),t&&t.call(e)}}),e.children}};return n.Provider.__=n.Consumer.contextType=n}n.d(t,{FK:()=>l,Ob:()=>A,Qv:()=>P,XX:()=>O,_3:()=>u,fF:()=>j,h:()=>i,n:()=>i,q6:()=>$,uA:()=>s,v2:()=>m});var T,j,L,M,I,R,q,D,F,H,U,W={},z=[],K=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,V=Array.isArray;T=z.slice,j={__e:function(e,t,n,r){for(var o,i,a;t=t.__;)if((o=t.__c)&&!o.__)try{if((i=o.constructor)&&null!=i.getDerivedStateFromError&&(o.setState(i.getDerivedStateFromError(e)),a=o.__d),null!=o.componentDidCatch&&(o.componentDidCatch(e,r||{}),a=o.__d),a)return o.__E=o}catch(t){e=t}throw e}},L=0,s.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=r({},this.state),"function"==typeof e&&(e=e(r({},n),this.props)),e&&r(n,e),null!=e&&this.__v&&(t&&this._sb.push(t),_(this))},s.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),_(this))},s.prototype.render=l,M=[],R="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,q=function(e,t){return e.__v.__b-t.__v.__b},d.__r=0,D=0,F=w(!1),H=w(!0),U=0},994:(e,t,n)=>{"use strict";function r(e,t){P.__h&&P.__h(S,e,N||t),N=0;var n=S.__H||(S.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function o(e){return N=1,i(w,e)}function i(e,t,n){var o=r(k++,2);if(o.t=e,!o.__c&&(o.__=[n?n(t):w(void 0,t),function(e){var t=o.__N?o.__N[0]:o.__[0],n=o.t(t,e);t!==n&&(o.__N=[n,o.__[1]],o.__c.setState({}))}],o.__c=S,!S.u)){var i=function(e,t,n){if(!o.__c.__H)return!0;var r=o.__c.__H.__.filter((function(e){return!!e.__c}));if(r.every((function(e){return!e.__N})))return!a||a.call(this,e,t,n);var i=!1;return r.forEach((function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(i=!0)}})),!(!i&&o.__c.props===e)&&(!a||a.call(this,e,t,n))};S.u=!0;var a=S.shouldComponentUpdate,u=S.componentWillUpdate;S.componentWillUpdate=function(e,t,n){if(this.__e){var r=a;a=void 0,i(e,t,n),a=r}u&&u.call(this,e,t,n)},S.shouldComponentUpdate=i}return o.__N||o.__}function a(e,t){var n=r(k++,3);!P.__s&&b(n.__H,t)&&(n.__=e,n.i=t,S.__H.__h.push(n))}function u(e,t){var n=r(k++,4);!P.__s&&b(n.__H,t)&&(n.__=e,n.i=t,S.__h.push(n))}function l(e){return N=5,c((function(){return{current:e}}),[])}function s(e,t,n){N=6,u((function(){return"function"==typeof e?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0}),null==n?n:n.concat(e))}function c(e,t){var n=r(k++,7);return b(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function f(e,t){return N=8,c((function(){return e}),t)}function _(e){var t=S.context[e.__c],n=r(k++,9);return n.c=e,t?(null==n.__&&(n.__=!0,t.sub(S)),t.props.value):e.__}function d(e,t){P.useDebugValue&&P.useDebugValue(t?t(e):e)}function p(e){var t=r(k++,10),n=o();return t.__=e,S.componentDidCatch||(S.componentDidCatch=function(e,r){t.__&&t.__(e,r),n[1](e)}),[n[0],function(){n[1](void 0)}]}function h(){var e=r(k++,11);if(!e.__){for(var t=S.__v;null!==t&&!t.__m&&null!==t.__;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function v(){for(var e;e=O.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(y),e.__H.__h.forEach(g),e.__H.__h=[]}catch(t){e.__H.__h=[],P.__e(t,e.__v)}}function m(e){var t,n=function(){clearTimeout(r),I&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);I&&(t=requestAnimationFrame(n))}function y(e){var t=S,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),S=t}function g(e){var t=S;e.__c=e.__(),S=t}function b(e,t){return!e||e.length!==t.length||t.some((function(t,n){return t!==e[n]}))}function w(e,t){return"function"==typeof t?t(e):t}n.d(t,{Bi:()=>h,J0:()=>o,Kr:()=>c,MN:()=>d,Md:()=>p,NT:()=>_,Nf:()=>u,WO:()=>i,Yn:()=>s,hb:()=>f,li:()=>l,vJ:()=>a});var k,S,x,C,E=n(172),N=0,O=[],P=E.fF,A=P.__b,$=P.__r,T=P.diffed,j=P.__c,L=P.unmount,M=P.__;P.__b=function(e){S=null,A&&A(e)},P.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),M&&M(e,t)},P.__r=function(e){$&&$(e),k=0;var t=(S=e.__c).__H;t&&(x===S?(t.__h=[],S.__h=[],t.__.forEach((function(e){e.__N&&(e.__=e.__N),e.i=e.__N=void 0}))):(t.__h.forEach(y),t.__h.forEach(g),t.__h=[],k=0)),x=S},P.diffed=function(e){T&&T(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==O.push(t)&&C===P.requestAnimationFrame||((C=P.requestAnimationFrame)||m)(v)),t.__H.__.forEach((function(e){e.i&&(e.__H=e.i),e.i=void 0}))),x=S=null},P.__c=function(e,t){t.some((function(e){try{e.__h.forEach(y),e.__h=e.__h.filter((function(e){return!e.__||g(e)}))}catch(n){t.some((function(e){e.__h&&(e.__h=[])})),t=[],P.__e(n,e.__v)}})),j&&j(e,t)},P.unmount=function(e){L&&L(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach((function(e){try{y(e)}catch(e){t=e}})),n.__H=void 0,t&&P.__e(t,n.__v))};var I="function"==typeof requestAnimationFrame},983:(e,t,n)=>{var r=function(e){function t(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function n(e,t,n,r){e.lastIndex=t;var o=e.exec(n);if(o&&r&&o[1]){var i=o[1].length;o.index+=i,o[0]=o[0].slice(i)}return o}function r(e,o,u,l,s,c){for(var _ in u)if(u.hasOwnProperty(_)&&u[_]){var d=u[_];d=Array.isArray(d)?d:[d];for(var p=0;p=c.reach);S+=k.value.length,k=k.next){var x=k.value;if(o.length>e.length)return;if(!(x instanceof t)){var C,E=1;if(y){if(!(C=n(w,S,e,m))||C.index>=e.length)break;var N=C.index,O=C.index+C[0].length,P=S;for(P+=k.value.length;N>=P;)P+=(k=k.next).value.length;if(S=P-=k.value.length,k.value instanceof t)continue;for(var A=k;A!==o.tail&&(Pc.reach&&(c.reach=L);var M=k.prev;if(T&&(M=i(o,M,T),S+=T.length),a(o,M,E),k=i(o,M,new t(_,v?f.tokenize($,v):$,g,$)),j&&i(o,k,j),E>1){var I={cause:_+","+p,reach:L};r(e,o,u,k.prev,S,I),c&&I.reach>c.reach&&(c.reach=I.reach)}}}}}}function o(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function i(e,t,n){var r=t.next,o={value:n,prev:t,next:r};return t.next=o,r.prev=o,e.length++,o}function a(e,t,n){for(var r=t.next,o=0;o"+o.content+""},!e.document)return e.addEventListener?(f.disableWorkerMessageHandler||e.addEventListener("message",(function(t){var n=JSON.parse(t.data),r=n.language,o=n.immediateClose;e.postMessage(f.highlight(n.code,f.languages[r],r)),o&&e.close()}),!1),f):f;var _=f.util.currentScript();if(_&&(f.filename=_.src,_.hasAttribute("data-manual")&&(f.manual=!0)),!f.manual){var d=document.readyState;"loading"===d||"interactive"===d&&_&&_.defer?document.addEventListener("DOMContentLoaded",u):window.requestAnimationFrame?window.requestAnimationFrame(u):window.setTimeout(u,16)}return f}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});e.exports&&(e.exports=r),void 0!==n.g&&(n.g.Prism=r)},514:()=>{Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json},837:()=>{!function(){function e(e){if(0!=(e=e.filter((function(e){var t=function(e){if(!e)return null;return window.getComputedStyle?getComputedStyle(e):e.currentStyle||null}(e)["white-space"];return"pre-wrap"===t||"pre-line"===t}))).length){var t=e.map((function(e){var t=e.querySelector("code"),r=e.querySelector(".line-numbers-rows");if(t&&r){var o=e.querySelector(".line-numbers-sizer"),i=t.textContent.split(n);o||((o=document.createElement("span")).className="line-numbers-sizer",t.appendChild(o)),o.innerHTML="0",o.style.display="block";var a=o.getBoundingClientRect().height;return o.innerHTML="",{element:e,lines:i,lineHeights:[],oneLinerHeight:a,sizer:o}}})).filter(Boolean);t.forEach((function(e){var t=e.sizer,n=e.lines,r=e.lineHeights,o=e.oneLinerHeight;r[n.length-1]=void 0,n.forEach((function(e,n){if(e&&e.length>1){var i=t.appendChild(document.createElement("span"));i.style.display="block",i.textContent=e}else r[n]=o}))})),t.forEach((function(e){for(var t=e.sizer,n=e.lineHeights,r=0,o=0;oi&&(n=i),r.children[n-o]}}},resize:function(t){e([t])},assumeViewportIndependence:!0},o=void 0;window.addEventListener("resize",(function(){r.assumeViewportIndependence&&o===window.innerWidth||(o=window.innerWidth,e(Array.prototype.slice.call(document.querySelectorAll("pre."+t))))})),Prism.hooks.add("complete",(function(r){if(r.code){var o=r.element,i=o.parentNode;if(i&&/pre/i.test(i.nodeName)&&!o.querySelector(".line-numbers-rows")&&Prism.util.isActive(o,t)){o.classList.remove(t),i.classList.add(t);var a,u=r.code.match(n),l=new Array((u?u.length+1:1)+1).join("");(a=document.createElement("span")).setAttribute("aria-hidden","true"),a.className="line-numbers-rows",a.innerHTML=l,i.hasAttribute("data-start")&&(i.style.counterReset="linenumber "+(parseInt(i.getAttribute("data-start"),10)-1)),r.element.appendChild(a),e([i]),Prism.hooks.run("line-numbers",r)}}})),Prism.hooks.add("line-numbers",(function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0}))}}()},69:function(e,t,n){"use strict";var r=this&&this.__assign||function(){return r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n-1){F.current.stack=u.slice(0,l+1);var s=F.current.stack.length;if(s>100){var c=s-100;F.current.stack=u.slice(c,s),F.current.offset=Math.max(F.current.offset-c,0)}}var f=Date.now();if(t){var _=F.current.stack[F.current.offset];if(_&&f-_.timestamp<3e3){var d=/[^a-z0-9]([a-z0-9]+)$/i,p=null===(n=B(_.value,_.selectionStart).pop())||void 0===n?void 0:n.match(d),h=null===(o=B(e.value,e.selectionStart).pop())||void 0===o?void 0:o.match(d);if((null==p?void 0:p[1])&&(null===(i=null==h?void 0:h[1])||void 0===i?void 0:i.startsWith(p[1])))return void(F.current.stack[F.current.offset]=r(r({},e),{timestamp:f}))}}F.current.stack.push(r(r({},e),{timestamp:f})),F.current.offset++}),[]),G=l.useCallback((function(){var e=H.current;e&&J({value:e.value,selectionStart:e.selectionStart,selectionEnd:e.selectionEnd})}),[J]),X=function(e){var t=H.current;t&&(t.value=e.value,t.selectionStart=e.selectionStart,t.selectionEnd=e.selectionEnd,null==E||E(e.value))},Z=function(e){var t=H.current,n=F.current.stack[F.current.offset];n&&t&&(F.current.stack[F.current.offset]=r(r({},n),{selectionStart:t.selectionStart,selectionEnd:t.selectionEnd})),J(e),X(e)};return l.useEffect((function(){G()}),[G]),l.useImperativeHandle(t,(function(){return{get session(){return{history:F.current}},set session(e){F.current=e.history}}}),[]),l.createElement("div",r({},D,{style:r(r({},p.container),j)}),l.createElement("pre",r({className:A,"aria-hidden":"true",style:r(r(r({},p.editor),p.highlight),K)},"string"==typeof V?{dangerouslySetInnerHTML:{__html:V+"
"}}:{children:V})),l.createElement("textarea",{ref:function(e){return H.current=e},style:r(r(r({},p.editor),p.textarea),K),className:f+(I?" ".concat(I):""),id:R,value:q,onChange:function(e){var t=e.currentTarget,n=t.value;J({value:n,selectionStart:t.selectionStart,selectionEnd:t.selectionEnd},!0),E(n)},onKeyDown:function(e){if(!x||(x(e),!e.defaultPrevented)){"Escape"===e.key&&e.currentTarget.blur();var t=e.currentTarget,n=t.value,r=t.selectionStart,o=t.selectionEnd,i=(m?" ":"\t").repeat(M);if("Tab"===e.key&&!h&&W)if(e.preventDefault(),e.shiftKey){var a=(f=B(n,r)).length-1,u=B(n,o).length-1,l=n.split("\n").map((function(e,t){return t>=a&&t<=u&&e.startsWith(i)?e.substring(i.length):e})).join("\n");if(n!==l)Z({value:l,selectionStart:(null==(p=f[a])?void 0:p.startsWith(i))?r-i.length:r,selectionEnd:o-(n.length-l.length)})}else if(r!==o){var f,_=(f=B(n,r)).length-1,d=B(n,o).length-1,p=f[_];Z({value:n.split("\n").map((function(e,t){return t>=_&&t<=d?i+e:e})).join("\n"),selectionStart:p&&/\S/.test(p)?r+i.length:r,selectionEnd:o+i.length*(d-_+1)})}else{var v=r+i.length;Z({value:n.substring(0,r)+i+n.substring(o),selectionStart:v,selectionEnd:v})}else if("Backspace"===e.key){var y=r!==o;if(n.substring(0,r).endsWith(i)&&!y){e.preventDefault();v=r-i.length;Z({value:n.substring(0,r-i.length)+n.substring(o),selectionStart:v,selectionEnd:v})}}else if("Enter"===e.key){if(r===o){var g=B(n,r).pop(),b=null==g?void 0:g.match(/^\s+/);if(null==b?void 0:b[0]){e.preventDefault();var w="\n"+b[0];v=r+w.length;Z({value:n.substring(0,r)+w+n.substring(o),selectionStart:v,selectionEnd:v})}}}else if(57===e.keyCode||219===e.keyCode||222===e.keyCode||192===e.keyCode){var k=void 0;57===e.keyCode&&e.shiftKey?k=["(",")"]:219===e.keyCode?k=e.shiftKey?["{","}"]:["[","]"]:222===e.keyCode?k=e.shiftKey?['"','"']:["'","'"]:192!==e.keyCode||e.shiftKey||(k=["`","`"]),r!==o&&k&&(e.preventDefault(),Z({value:n.substring(0,r)+k[0]+n.substring(r,o)+k[1]+n.substring(o),selectionStart:r,selectionEnd:o+2}))}else!(c?e.metaKey&&90===e.keyCode:e.ctrlKey&&90===e.keyCode)||e.shiftKey||e.altKey?(c?e.metaKey&&90===e.keyCode&&e.shiftKey:s?e.ctrlKey&&89===e.keyCode:e.ctrlKey&&90===e.keyCode&&e.shiftKey)&&!e.altKey?(e.preventDefault(),function(){var e=F.current,t=e.stack,n=e.offset,r=t[n+1];r&&(X(r),F.current.offset=Math.min(n+1,t.length-1))}()):77!==e.keyCode||!e.ctrlKey||c&&!e.shiftKey||(e.preventDefault(),z((function(e){return!e}))):(e.preventDefault(),function(){var e=F.current,t=e.offset,n=e.stack[t-1];n&&(X(n),F.current.offset=Math.max(t-1,0))}())}},onClick:k,onKeyUp:C,onFocus:S,onBlur:w,disabled:o,form:i,maxLength:y,minLength:g,name:b,placeholder:P,readOnly:$,required:T,autoFocus:n,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"data-gramm":!1}),l.createElement("style",{dangerouslySetInnerHTML:{__html:_}}))})),p={container:{position:"relative",textAlign:"left",boxSizing:"border-box",padding:0,overflow:"hidden"},textarea:{position:"absolute",top:0,left:0,height:"100%",width:"100%",resize:"none",color:"inherit",overflow:"hidden",MozOsxFontSmoothing:"grayscale",WebkitFontSmoothing:"antialiased",WebkitTextFillColor:"transparent"},highlight:{position:"relative",pointerEvents:"none"},editor:{margin:0,border:0,background:"none",boxSizing:"inherit",display:"inherit",fontFamily:"inherit",fontSize:"inherit",fontStyle:"inherit",fontVariantLigatures:"inherit",fontWeight:"inherit",letterSpacing:"inherit",lineHeight:"inherit",tabSize:"inherit",textIndent:"inherit",textRendering:"inherit",textTransform:"inherit",whiteSpace:"pre-wrap",wordBreak:"keep-all",overflowWrap:"break-word"}};t.default=d},942:(e,t)=>{var n;!function(){"use strict";function r(){for(var e="",t=0;t{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},e.d=(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),e.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},e.p="/",(()=>{"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function n(e,n,r){return(n=function(e){var n=function(e,n){if("object"!=t(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,n||"default");if("object"!=t(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==t(n)?n:n+""}(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,u=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(u.push(r.value),u.length!==t);l=!0);}catch(e){s=!0,o=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(e,t)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return(yield fetch(e,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json","X-WP-Nonce":n},body:JSON.stringify(t)})).json()},u=function(){var t=this,n=arguments;return new Promise((function(r,o){function i(e){a(l,r,o,i,u,"next",e)}function u(e){a(l,r,o,i,u,"throw",e)}var l=e.apply(t,n);i(void 0)}))},u.apply(this,arguments)}function l(e){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l(e)}function s(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=l(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=l(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==l(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,u=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(u.push(r.value),u.length!==t);l=!0);}catch(e){s=!0,o=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(e,t)||function(e,t){if(e){if("string"==typeof e)return f(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?f(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);nE,BM:()=>N,MT:()=>O,P4:()=>P,KQ:()=>A,C:()=>$,Hp:()=>T,j0:()=>j});e(624);var g=e(172),b=e(127),w=e.n(b),k=e(402),S=e(994),x=e(942),C=e.n(x),E="info_block__MmcRf",N="info_block_collapsed__nKHMe",O="info_block_inner__HUWuS",P="info_block_item__VRzq4",A="info_block_teaser__WU82D",$="info_label__zb5kV",T="info_wrapper__hfoFu",j="query_count__yBMaQ",L=(0,g.q6)(null),M=e(172).FK,I=function(){var e=(0,S.NT)(L),t=e.queries,n=e.information;return(0,g.h)("div",null,(0,g.h)("h2",{className:"vip-h2 ".concat(j)},w()("query",t.length,!0)," ",w()("was",t.length)," run on this page"),(0,g.h)("div",{className:T},n.map((function(e,t){return(0,g.h)(R,i({key:t},e))}))))},R=function(e){var t=e.label,o=e.value,i=e.options,a=void 0===i?{collapsible:!1}:i,u=r((0,S.J0)(!0),2),l=u[0],s=u[1],c=function(){a.collapsible&&s(!l)},f=Array.isArray(o),_=o.length,d=f&&_>2?"+ ".concat(w()("other",_-2,!0)):"";return(0,g.h)("div",{className:C()(n(n(n({},E,!0),y.info_block_collapsible,a.collapsible||!1),N,l))},(0,g.h)("h5",{className:$,onClick:c},t),a.collapsible?(0,g.h)(M,null,(0,g.h)("div",{className:C()(n({},O,!0))},f?o.map((function(e){return(0,g.h)("span",{key:e,className:P},e)})):(0,g.h)("span",null,o)),(0,g.h)("span",{className:A,onClick:c},f?" ".concat(o.slice(0,2).join(", ")," ").concat(d):"Click to show")):(0,g.h)("span",null,f?o.join(", "):o))};const q=function(e){var t=e.children,n=e.closeOverlay,r=e.colorTheme,o=void 0===r?"light":r,i=e.isVisible,a=(0,S.Kr)((function(){return function(e){return"Escape"===e.key&&n()}}),[n]);return(0,S.vJ)((function(){return window.addEventListener("keydown",a),function(){window.removeEventListener("keydown",a)}}),[a]),i?(0,g.h)("div",{className:"search-dev-tools__overlay search-dev-tools__overlay--".concat(o),role:"dialog"},(0,g.h)("button",{"aria-label":"Close VIP Search Dev Tools",className:"search-dev-tools__overlay__close",onClick:n},(0,g.h)("img",{src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkiIGhlaWdodD0iMTkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04Ljc5MyA5LjUuNjQ2IDE3LjY0NmwuNzA4LjcwN0w5LjUgMTAuMjA3bDguMTQ2IDguMTQ2LjcwOC0uNzA3TDEwLjIwNyA5LjVsOC4xNDctOC4xNDYtLjcwNy0uNzA4TDkuNSA4Ljc5MyAxLjM1NC42NDZsLS43MDguNzA4TDguNzkzIDkuNVoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=",alt:"Close"})),t):null};var D=e(576),F=e.n(D),H=e(983),U=(e(837),e(514),e(69)),W=e.n(U),z="query_actions__ImK9_",K=function(e){var t=e.list,n=void 0===t?[]:t,r=e.title,o=void 0===r?"View":r,i=c((0,S.J0)(!1),2),a=i[0],u=i[1],l=o.toLowerCase();return(0,g.h)("div",{className:C()(s(s({},"collapsible_list__PJS0Z",!0),"visible__M2eJW",a))},(0,g.h)("strong",{className:"".concat(l," vip-h4"),onClick:n.length?function(){u(!a)}:null},o," (","".concat(n.length),")"),(0,g.h)("ol",{className:"".concat("collapsible_list_details__u5Pq3"," ").concat(l," vip-collapse-ol")},n.map((function(e,t){return(0,g.h)("li",{key:t},e)}))))},V=e(172).FK,B=function(e){var t,n,r=e.request,o=e.url,i=e.query_args,a=e.backtrace,l=void 0===a?[]:a,s=JSON.stringify(e.args.body,null,2),c=JSON.stringify(r.body,null,2),f={editing:!1,query:s,result:c,collapsed:!0},h=p((0,S.J0)(f),2),v=h[0],m=h[1],y="#query-response-copy-handle",b=(0,S.hb)(function(){var e,t=(e=function*(e){try{var t=yield function(){return u.apply(this,arguments)}(window.VIPSearchDevTools.ajaxurl,{action:window.VIPSearchDevTools.action,url:o,query:e},window.VIPSearchDevTools.nonce);m((function(e){var n;return _({},e,{result:JSON.stringify(null==t||null===(n=t.result)||void 0===n?void 0:n.body,null,2)})}))}catch(e){console.log(e)}},function(){var t=this,n=arguments;return new Promise((function(r,o){function i(e){d(u,r,o,i,a,"next",e)}function a(e){d(u,r,o,i,a,"throw",e)}var u=e.apply(t,n);i(void 0)}))});return function(e){return t.apply(this,arguments)}}(),[o]);(0,S.vJ)((function(){var e=new(F())(y);return e.on("success",(function(e){document.querySelector(y).innerHTML="COPIED!",setTimeout((function(){document.querySelector(y).innerHTML="COPY"}),2e3),e.clearSelection()})),function(){return e.destroy()}}),[]),(0,S.vJ)((function(){v.query!==f.query&&(v.editing||b(v.query))}),[v.query,v.editing,f.query,b]);var k;return(0,g.h)("div",{className:C()("query_wrap__uIeve",v.collapsed?"query_collapsed__PGXWS":null)},(0,g.h)("div",{className:"query_handle__e0c8G",onClick:function(){return m(_({},v,{collapsed:!v.collapsed}))}},(0,g.h)("h3",{className:"vip-h3"},w()("result",(null==r||null===(t=r.body)||void 0===t||null===(t=t.hits)||void 0===t||null===(t=t.hits)||void 0===t?void 0:t.length)||0,!0),(0,g.h)("span",{style:"color: var(--vip-grey-60);"}," that took")," ",(0,g.h)("span",{style:{color:"var(--vip-".concat((k=r.body.took)<200?"green-60":k<500?"red-30":"red-60",")"),fontWeight:"bold"}},k,"ms"),(0,g.h)("small",null," (",(null==r||null===(n=r.response)||void 0===n?void 0:n.code)||"unknown",")"))),(0,g.h)("div",{className:"grid_container__esEnb"},(0,g.h)("div",{className:"query_src_header__wWAup"},(0,g.h)("span",{style:"margin-right: auto;"},"Request"),(0,g.h)("div",{className:"query_src_extra__aZwxj"},(0,g.h)(K,{title:"WP_Query",list:Object.entries(i).map((function(e){var t=p(e,2),n=t[1];return"".concat(t[0],": ").concat(JSON.stringify(n))}))}),(0,g.h)(K,{title:"Trace",list:l}))),(0,g.h)("div",{className:"query_res_header__DMOpO"},"Response"),(0,g.h)("div",{className:"".concat("query_src__MoJsW"," query-src-box")},(0,g.h)("div",{className:z},v.editing||v.result!==c?(0,g.h)(V,null,(0,g.h)("button",{onClick:function(){return m(_({},v,{editing:!1}))},style:"background-color: var(--vip-green-40) !important"},"RUN"),(0,g.h)("button",{onClick:function(){return m(_({},f,{collapsed:!1}))},style:"background-color: var(--vip-blue-10) !important"},"RESET")):"Edit me!"),(0,g.h)(W(),{value:v.query,onValueChange:function(e){return m(_({},v,{query:e,editing:!0}))},highlight:function(e){return(0,H.highlight)(e,H.languages.json,"json").split("\n").map((function(e){return'').concat(e,"")})).join("\n")},padding:0,className:"container_editor___Y1qC",style:{fontSize:"var(--vip-sdt-editor-font-size)",lineHeight:"1.2em"}})),(0,g.h)("div",{className:"".concat("query_res__FZmqB"," query-result-box")},(0,g.h)("div",{className:"query_result__k_RWY"},(0,g.h)("div",{className:z},(0,g.h)("button",{id:"query-response-copy-handle","data-clipboard-target":"#query-response-text"},"COPY")),(0,g.h)("pre",{className:"line-numbers"},(0,g.h)("code",{className:"language-json",id:"query-response-text"},v.result))))))},J=function(){var e=(0,S.NT)(L).queries;return(0,g.h)("div",null,e.length<1?"No queries to show":e.map((function(e,t){return(0,g.h)(B,_({key:t},e))})))},G=function(e){var t=(0,S.NT)(L).queries;return(0,g.h)("button",e,"Search: ",w()("query",t.length,!0))};const X=function(){var e,t=v((0,S.J0)(!1),2),n=t[0],r=t[1],o=(0,S.hb)((function(){return r(!1)}),[]),i=(0,S.hb)((function(){return r(!n)}),[n]);return(0,g.h)(L.Provider,{value:(null===(e=window)||void 0===e?void 0:e.VIPSearchDevTools)||{status:"disabled",queries:[],information:[]}},(0,g.h)("div",{className:"search-dev-tools__wrapper"},(0,g.h)(G,{class:"ab_btn__Grxiu",onClick:i}),(0,k.createPortal)((0,g.h)(q,{isVisible:n,closeOverlay:o,opacity:"100"},(0,g.h)("div",{className:"vip_search_dev_tools__WdCFa"},(0,g.h)("h4",{className:"vip-h4 main_caption"},"Enterprise Search Dev Tools"),(0,g.h)(I,null),(0,g.h)(J,null))),document.getElementById("search-dev-tools-portal"))))};var Z=function(){return(0,g.XX)((0,g.h)(X,null),document.querySelector('[data-widget-host="vip-search-dev-tools"]'))};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",Z):Z()})()})(); \ No newline at end of file diff --git a/search/search-dev-tools/package-lock.json b/search/search-dev-tools/package-lock.json index f245cc666d..6ab96337dc 100644 --- a/search/search-dev-tools/package-lock.json +++ b/search/search-dev-tools/package-lock.json @@ -104,18 +104,18 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.7.tgz", - "integrity": "sha512-9ickoLz+hcXCeh7jrcin+/SLWm+GkxE2kTvoYyp38p4WkdFXfQJxDFGWp/YHjiKLPx06z2A7W8XKuqbReXDzsw==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.8.tgz", + "integrity": "sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.7.tgz", - "integrity": "sha512-yJ474Zv3cwiSOO9nXJuqzvwEeM+chDuQ8GJirw+pZ91sCGCyOZ3dJkVE09fTV0VEVzXyLWhh3G/AolYTPX7Mow==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.8.tgz", + "integrity": "sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", @@ -124,10 +124,10 @@ "@babel/helper-compilation-targets": "^7.25.7", "@babel/helper-module-transforms": "^7.25.7", "@babel/helpers": "^7.25.7", - "@babel/parser": "^7.25.7", + "@babel/parser": "^7.25.8", "@babel/template": "^7.25.7", "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7", + "@babel/types": "^7.25.8", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -466,12 +466,12 @@ } }, "node_modules/@babel/parser": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.7.tgz", - "integrity": "sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.8.tgz", + "integrity": "sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==", "dev": true, "dependencies": { - "@babel/types": "^7.25.7" + "@babel/types": "^7.25.8" }, "bin": { "parser": "bin/babel-parser.js" @@ -572,18 +572,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-class-properties": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", @@ -597,45 +585,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-import-assertions": { "version": "7.25.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.7.tgz", @@ -666,31 +615,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-jsx": { "version": "7.25.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz", @@ -706,111 +630,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", @@ -844,14 +663,13 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.7.tgz", - "integrity": "sha512-4B6OhTrwYKHYYgcwErvZjbmH9X5TxQBsaBHdzEIB4l71gR5jh/tuHGlb9in47udL2+wVUcOz5XXhhfhVJwEpEg==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.8.tgz", + "integrity": "sha512-9ypqkozyzpG+HxlH4o4gdctalFGIjjdufzo7I2XPda0iBnZ6a+FO0rIEQcdSPXp02CkvGsII1exJhmROPQd5oA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.25.7", "@babel/helper-remap-async-to-generator": "^7.25.7", - "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/traverse": "^7.25.7" }, "engines": { @@ -925,14 +743,13 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.7.tgz", - "integrity": "sha512-rvUUtoVlkDWtDWxGAiiQj0aNktTPn3eFynBcMC2IhsXweehwgdI9ODe+XjWw515kEmv22sSOTp/rxIRuTiB7zg==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.8.tgz", + "integrity": "sha512-e82gl3TCorath6YLf9xUwFehVvjvfqFhdOo4+0iVIVju+6XOi5XHkqB3P2AXnSwoeTX0HBoXq5gJFtvotJzFnQ==", "dev": true, "dependencies": { "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-class-static-block": "^7.14.5" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1049,13 +866,12 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.7.tgz", - "integrity": "sha512-UvcLuual4h7/GfylKm2IAA3aph9rwvAM2XBA0uPKU3lca+Maai4jBjjEVUS568ld6kJcgbouuumCBhMd/Yz17w==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.8.tgz", + "integrity": "sha512-gznWY+mr4ZQL/EWPcbBQUP3BXS5FwZp8RUOw06BaRn8tQLzN4XLIxXejpHN9Qo8x8jjBmAAKp6FoS51AgkSA/A==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1081,13 +897,12 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.7.tgz", - "integrity": "sha512-h3MDAP5l34NQkkNulsTNyjdaR+OiB0Im67VU//sFupouP8Q6m9Spy7l66DcaAQxtmCqGdanPByLsnwFttxKISQ==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.8.tgz", + "integrity": "sha512-sPtYrduWINTQTW7FtOy99VCTWp4H23UX7vYcut7S4CIMEXU+54zKX9uCoGkLsWXteyaMXzVHgzWbLfQ1w4GZgw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1130,13 +945,12 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.7.tgz", - "integrity": "sha512-Ot43PrL9TEAiCe8C/2erAjXMeVSnE/BLEx6eyrKLNFCCw5jvhTHKyHxdI1pA0kz5njZRYAnMO2KObGqOCRDYSA==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.8.tgz", + "integrity": "sha512-4OMNv7eHTmJ2YXs3tvxAfa/I43di+VcF+M4Wt66c88EAED1RoGaf1D64cL5FkRpNL+Vx9Hds84lksWvd/wMIdA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1161,13 +975,12 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.7.tgz", - "integrity": "sha512-iImzbA55BjiovLyG2bggWS+V+OLkaBorNvc/yJoeeDQGztknRnDdYfp2d/UPmunZYEnZi6Lg8QcTmNMHOB0lGA==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.8.tgz", + "integrity": "sha512-f5W0AhSbbI+yY6VakT04jmxdxz+WsID0neG7+kQZbCOjuyJNdL5Nn4WIBm4hRpKnUcO9lP0eipUhFN12JpoH8g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1290,13 +1103,12 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.7.tgz", - "integrity": "sha512-FbuJ63/4LEL32mIxrxwYaqjJxpbzxPVQj5a+Ebrc8JICV6YX8nE53jY+K0RZT3um56GoNWgkS2BQ/uLGTjtwfw==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.8.tgz", + "integrity": "sha512-Z7WJJWdQc8yCWgAmjI3hyC+5PXIubH9yRKzkl9ZEG647O9szl9zvmKLzpbItlijBnVhTUf1cpyWBsZ3+2wjWPQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1306,13 +1118,12 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.7.tgz", - "integrity": "sha512-8CbutzSSh4hmD+jJHIA8vdTNk15kAzOnFLVVgBSMGr28rt85ouT01/rezMecks9pkU939wDInImwCKv4ahU4IA==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.8.tgz", + "integrity": "sha512-rm9a5iEFPS4iMIy+/A/PiS0QN0UyjPIeVvbU5EMZFKJZHt8vQnasbpo3T3EFcxzCeYO0BHfc4RqooCZc51J86Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1337,14 +1148,13 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.7.tgz", - "integrity": "sha512-1JdVKPhD7Y5PvgfFy0Mv2brdrolzpzSoUq2pr6xsR+m+3viGGeHEokFKsCgOkbeFOQxfB1Vt2F0cPJLRpFI4Zg==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.8.tgz", + "integrity": "sha512-LkUu0O2hnUKHKE7/zYOIjByMa4VRaV2CD/cdGz0AxU9we+VA3kDDggKEzI0Oz1IroG+6gUP6UmWEHBMWZU316g==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.25.7", "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-transform-parameters": "^7.25.7" }, "engines": { @@ -1371,13 +1181,12 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.7.tgz", - "integrity": "sha512-m9obYBA39mDPN7lJzD5WkGGb0GO54PPLXsbcnj1Hyeu8mSRz7Gb4b1A6zxNX32ZuUySDK4G6it8SDFWD1nCnqg==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.8.tgz", + "integrity": "sha512-EbQYweoMAHOn7iJ9GgZo14ghhb9tTjgOc88xFgYngifx7Z9u580cENCV159M4xDh3q/irbhSjZVpuhpC2gKBbg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1387,14 +1196,13 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.7.tgz", - "integrity": "sha512-h39agClImgPWg4H8mYVAbD1qP9vClFbEjqoJmt87Zen8pjqK8FTPUwrOXAvqu5soytwxrLMd2fx2KSCp2CHcNg==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.8.tgz", + "integrity": "sha512-q05Bk7gXOxpTHoQ8RSzGSh/LHVB9JEIkKnk3myAWwZHnYiTGYtbdrYkIsS8Xyh4ltKf7GNUSgzs/6P2bJtBAQg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1435,15 +1243,14 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.7.tgz", - "integrity": "sha512-LzA5ESzBy7tqj00Yjey9yWfs3FKy4EmJyKOSWld144OxkTji81WWnUT8nkLUn+imN/zHL8ZQlOu/MTUAhHaX3g==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.8.tgz", + "integrity": "sha512-8Uh966svuB4V8RHHg0QJOB32QK287NBksJOByoKmHMp1TAobNniNalIkI2i5IPj5+S9NYCG4VIjbEuiSN8r+ow==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.7", "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1657,12 +1464,12 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.7.tgz", - "integrity": "sha512-Gibz4OUdyNqqLj+7OAvBZxOD7CklCtMA5/j0JgUEwOnaRULsPDXmic2iKxL2DX2vQduPR5wH2hjZas/Vr/Oc0g==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.8.tgz", + "integrity": "sha512-58T2yulDHMN8YMUxiLq5YmWUnlDCyY1FsHM+v12VMx+1/FlrUj5tY50iDCpofFQEM8fMYOaY9YRvym2jcjn1Dg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.25.7", + "@babel/compat-data": "^7.25.8", "@babel/helper-compilation-targets": "^7.25.7", "@babel/helper-plugin-utils": "^7.25.7", "@babel/helper-validator-option": "^7.25.7", @@ -1672,45 +1479,30 @@ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.7", "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.7", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-import-assertions": "^7.25.7", "@babel/plugin-syntax-import-attributes": "^7.25.7", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.25.7", - "@babel/plugin-transform-async-generator-functions": "^7.25.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.8", "@babel/plugin-transform-async-to-generator": "^7.25.7", "@babel/plugin-transform-block-scoped-functions": "^7.25.7", "@babel/plugin-transform-block-scoping": "^7.25.7", "@babel/plugin-transform-class-properties": "^7.25.7", - "@babel/plugin-transform-class-static-block": "^7.25.7", + "@babel/plugin-transform-class-static-block": "^7.25.8", "@babel/plugin-transform-classes": "^7.25.7", "@babel/plugin-transform-computed-properties": "^7.25.7", "@babel/plugin-transform-destructuring": "^7.25.7", "@babel/plugin-transform-dotall-regex": "^7.25.7", "@babel/plugin-transform-duplicate-keys": "^7.25.7", "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.7", - "@babel/plugin-transform-dynamic-import": "^7.25.7", + "@babel/plugin-transform-dynamic-import": "^7.25.8", "@babel/plugin-transform-exponentiation-operator": "^7.25.7", - "@babel/plugin-transform-export-namespace-from": "^7.25.7", + "@babel/plugin-transform-export-namespace-from": "^7.25.8", "@babel/plugin-transform-for-of": "^7.25.7", "@babel/plugin-transform-function-name": "^7.25.7", - "@babel/plugin-transform-json-strings": "^7.25.7", + "@babel/plugin-transform-json-strings": "^7.25.8", "@babel/plugin-transform-literals": "^7.25.7", - "@babel/plugin-transform-logical-assignment-operators": "^7.25.7", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.8", "@babel/plugin-transform-member-expression-literals": "^7.25.7", "@babel/plugin-transform-modules-amd": "^7.25.7", "@babel/plugin-transform-modules-commonjs": "^7.25.7", @@ -1718,15 +1510,15 @@ "@babel/plugin-transform-modules-umd": "^7.25.7", "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.7", "@babel/plugin-transform-new-target": "^7.25.7", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.7", - "@babel/plugin-transform-numeric-separator": "^7.25.7", - "@babel/plugin-transform-object-rest-spread": "^7.25.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.8", + "@babel/plugin-transform-numeric-separator": "^7.25.8", + "@babel/plugin-transform-object-rest-spread": "^7.25.8", "@babel/plugin-transform-object-super": "^7.25.7", - "@babel/plugin-transform-optional-catch-binding": "^7.25.7", - "@babel/plugin-transform-optional-chaining": "^7.25.7", + "@babel/plugin-transform-optional-catch-binding": "^7.25.8", + "@babel/plugin-transform-optional-chaining": "^7.25.8", "@babel/plugin-transform-parameters": "^7.25.7", "@babel/plugin-transform-private-methods": "^7.25.7", - "@babel/plugin-transform-private-property-in-object": "^7.25.7", + "@babel/plugin-transform-private-property-in-object": "^7.25.8", "@babel/plugin-transform-property-literals": "^7.25.7", "@babel/plugin-transform-regenerator": "^7.25.7", "@babel/plugin-transform-reserved-words": "^7.25.7", @@ -1824,9 +1616,9 @@ } }, "node_modules/@babel/types": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.7.tgz", - "integrity": "sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==", + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.8.tgz", + "integrity": "sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.25.7", @@ -2303,6 +2095,279 @@ "node": ">= 8" } }, + "node_modules/@parcel/watcher": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", + "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", + "dev": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.4.1", + "@parcel/watcher-darwin-arm64": "2.4.1", + "@parcel/watcher-darwin-x64": "2.4.1", + "@parcel/watcher-freebsd-x64": "2.4.1", + "@parcel/watcher-linux-arm-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-musl": "2.4.1", + "@parcel/watcher-linux-x64-glibc": "2.4.1", + "@parcel/watcher-linux-x64-musl": "2.4.1", + "@parcel/watcher-win32-arm64": "2.4.1", + "@parcel/watcher-win32-ia32": "2.4.1", + "@parcel/watcher-win32-x64": "2.4.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz", + "integrity": "sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz", + "integrity": "sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz", + "integrity": "sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz", + "integrity": "sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz", + "integrity": "sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz", + "integrity": "sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz", + "integrity": "sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", + "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz", + "integrity": "sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz", + "integrity": "sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz", + "integrity": "sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz", + "integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/@rushstack/eslint-patch": { "version": "1.10.3", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.3.tgz", @@ -4734,6 +4799,18 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", @@ -6868,11 +6945,10 @@ } }, "node_modules/html-webpack-plugin": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", - "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.2.tgz", + "integrity": "sha512-q7xp/FO9RGBVoTKNItkdX1jKLscLFkgn/dLVFNYbHVbfHLBk6DYW5nsQ8kCzIWcgKP/kUBocetjvav6lD8YfCQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/html-minifier-terser": "^6.0.0", "html-minifier-terser": "^6.0.2", @@ -8475,6 +8551,12 @@ "tslib": "^2.0.3" } }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true + }, "node_modules/node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", @@ -9702,9 +9784,9 @@ "license": "MIT" }, "node_modules/preact": { - "version": "10.24.2", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.24.2.tgz", - "integrity": "sha512-1cSoF0aCC8uaARATfrlz4VCBqE8LwZwRfLgkxJOQwAlQt6ayTmi0D9OF7nXid1POI5SZidFuG9CnlXbDfLqY/Q==", + "version": "10.24.3", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.24.3.tgz", + "integrity": "sha512-Z2dPnBnMUfyQfSQ+GBdsGa16hz35YmLmtTLhM169uW944hYL6xzTYkJjC07j+Wosz733pMWx0fgON3JNw1jJQA==", "funding": { "type": "opencollective", "url": "https://opencollective.com/preact" @@ -10356,11 +10438,12 @@ "dev": true }, "node_modules/sass": { - "version": "1.79.4", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.79.4.tgz", - "integrity": "sha512-K0QDSNPXgyqO4GZq2HO5Q70TLxTH6cIT59RdoCHMivrC8rqzaTw5ab9prjz9KUN1El4FLXrBXJhik61JR4HcGg==", + "version": "1.80.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.3.tgz", + "integrity": "sha512-ptDWyVmDMVielpz/oWy3YP3nfs7LpJTHIJZboMVs8GEC9eUmtZTZhMHlTW98wY4aEorDfjN38+Wr/XjskFWcfA==", "dev": true, "dependencies": { + "@parcel/watcher": "^2.4.1", "chokidar": "^4.0.0", "immutable": "^4.0.0", "source-map-js": ">=0.6.2 <2.0.0" diff --git a/tests/integrations/test-integration-vip-config.php b/tests/integrations/test-integration-vip-config.php index 1be0046154..1e7483fb21 100644 --- a/tests/integrations/test-integration-vip-config.php +++ b/tests/integrations/test-integration-vip-config.php @@ -187,96 +187,39 @@ private function do_test_is_active_via_vip( $this->assertEquals( $expected_is_active_via_vip, $mock->is_active_via_vip() ); } - public function test__get_site_config_returns_value_from_environment_config(): void { - if ( is_multisite() ) { - $this->markTestSkipped( 'Only valid for non multisite.' ); - } - - $this->do_test_get_site_config( - [ - 'env' => [ - 'status' => Env_Integration_Status::ENABLED, - 'config' => array( 'env-config' ), - ], - 'network_sites' => [ - '1' => [ - 'status' => Env_Integration_Status::ENABLED, - 'config' => array( 'network-site-config' ), - ], - ], + public function test__get_env_config_returns_value_from_environment_config(): void { + $mock = $this->get_mock( [ + 'env' => [ + 'status' => Env_Integration_Status::ENABLED, + 'config' => array( 'env-config' ), ], - array( 'env-config' ), - ); - } - - public function test__get_site_config_returns_value_from_network_site_config(): void { - if ( ! is_multisite() ) { - $this->markTestSkipped( 'Only valid for multisite.' ); - } - - $this->do_test_get_site_config( - [ - 'env' => [ + 'network_sites' => [ + '1' => [ 'status' => Env_Integration_Status::ENABLED, - 'config' => array( 'env-config' ), - ], - 'network_sites' => [ - '1' => [ - 'status' => Env_Integration_Status::ENABLED, - 'config' => array( 'network-site-config' ), - ], + 'config' => array( 'network-site-config' ), ], ], - array( 'network-site-config' ), - ); - } + ] ); - public function test__get_site_config_with_cascading_config(): void { - if ( ! is_multisite() ) { - $this->markTestSkipped( 'Only valid for multisite.' ); - } + $this->assertEquals( array( 'env-config' ), $mock->get_env_config() ); + } - $this->do_test_get_site_config( - [ - 'env' => [ - 'status' => Env_Integration_Status::ENABLED, - 'config' => array( 'env-config' ), - 'cascade_config' => true, - ], - 'network_sites' => [ - '1' => [ - 'status' => Env_Integration_Status::ENABLED, - ], + public function test__get_env_config_returns_value_from_network_site_config(): void { + $mock = $this->get_mock( [ + 'env' => [ + 'status' => Env_Integration_Status::ENABLED, + 'config' => array( 'env-config' ), + ], + 'network_sites' => [ + '1' => [ + 'status' => Env_Integration_Status::ENABLED, + 'config' => array( 'network-site-config' ), ], ], - array( 'env-config' ), - ); - } - - /** - * Helper function for testing `get_site_config`. - * - * @param array $vip_config - * @param mixed $expected_get_site_config - * - * @return void - */ - private function do_test_get_site_config( - $vip_config, - $expected_get_site_config - ) { - $mock = $this->get_mock( $vip_config ); - - $this->assertEquals( $expected_get_site_config, $mock->get_site_config() ); - } - - public function test__get_value_from_vip_config_trigger_error_if_invalid_argument_is_passed(): void { - $this->expectException( ErrorException::class ); - $this->expectExceptionCode( E_USER_WARNING ); - $this->expectExceptionMessage( 'config_type param (invalid) must be one of org, env or network_sites.' ); - $mocked_vip_configs = []; + ] ); - $this->do_test_get_value_from_config( $mocked_vip_configs, 'invalid', 'key', '' ); + $expected = is_multisite() ? array( 'network-site-config' ) : array(); + $this->assertEquals( $expected, $mock->get_network_site_config() ); } public function test__get_value_from_vip_config_returns_null_if_given_config_type_have_no_data(): void { diff --git a/tests/integrations/test-integration.php b/tests/integrations/test-integration.php index 894cc6ea21..7150e3191c 100644 --- a/tests/integrations/test-integration.php +++ b/tests/integrations/test-integration.php @@ -48,12 +48,6 @@ public function test__slug_is_setting_up_on_instantiation(): void { $this->assertEquals( 'fake', $integration->get_slug() ); } - public function test__switch_blog_action_is_added_on_instantiation(): void { - $integration = new FakeIntegration( 'fake' ); - - $this->assertEquals( 10, has_action( 'switch_blog', [ $integration, 'switch_blog_callback' ] ) ); - } - public function test__activate_is_marking_the_integration_as_active(): void { $integration = new FakeIntegration( 'fake' ); @@ -67,13 +61,11 @@ public function test__activate_is_setting_up_the_plugins_config(): void { $integration->activate( [ 'config' => [ 'config_test' ] ] ); - $this->assertEquals( [ 'config_test' ], $integration->get_config() ); + $this->assertEquals( [ 'config_test' ], $integration->get_env_config() ); + $this->assertEquals( [ 'config_test' ], $integration->get_network_site_config() ); } public function test__calling_activate_when_the_integration_is_already_loaded_does_not_activate_the_integration_again(): void { - $this->expectException( ErrorException::class ); - $this->expectExceptionCode( E_USER_WARNING ); - $this->expectExceptionMessage( 'Prevented activating of integration with slug "fake" because it is already loaded.' ); /** * Integration mock. * @@ -88,19 +80,16 @@ public function test__calling_activate_when_the_integration_is_already_loaded_do } public function test__calling_activate_twice_on_same_integration_does_not_activate_the_plugin_second_time(): void { - $this->expectException( ErrorException::class ); - $this->expectExceptionCode( E_USER_WARNING ); - $this->expectExceptionMessage( 'VIP Integration with slug "fake" is already activated.' ); - $integration = new FakeIntegration( 'fake' ); - $integration->activate(); - $integration->activate(); + $integration->activate( [ 'config' => [ 'test_config' ] ] ); + $integration->activate( [ 'config' => [ 'updated_config' ] ] ); - $this->assertFalse( $integration->is_active() ); + $this->assertTrue( $integration->is_active() ); + $this->assertEquals( [ 'test_config' ], $integration->get_env_config() ); } - public function test__switch_blog_callback_is_setting_the_correct_config_for_network_site(): void { + public function test__switch_to_blog_is_getting_the_correct_config_for_network_site(): void { if ( ! is_multisite() ) { $this->markTestSkipped( 'Only valid for multisite' ); } @@ -129,16 +118,16 @@ public function test__switch_blog_callback_is_setting_the_correct_config_for_net $config_mock->__construct( 'slug' ); $integration->set_vip_config( $config_mock ); - // By default return config passed via activate(). - $this->assertEquals( array( 'activate_config' ), $integration->get_config() ); + // The vip config overrides the custom passed-in config when set. + $this->assertEquals( array( 'network_site_1_config' ), $integration->get_network_site_config() ); // If blog is switched then return config of current network site. switch_to_blog( $blog_2_id ); - $this->assertEquals( array( 'network_site_2_config' ), $integration->get_config() ); + $this->assertEquals( array( 'network_site_2_config' ), $integration->get_network_site_config() ); // If blog is restored then return config of the main site. restore_current_blog(); - $this->assertEquals( array( 'network_site_1_config' ), $integration->get_config() ); + $this->assertEquals( array( 'network_site_1_config' ), $integration->get_network_site_config() ); } public function test__is_active_returns_false_when_integration_is_not_active(): void { @@ -146,20 +135,4 @@ public function test__is_active_returns_false_when_integration_is_not_active(): $this->assertFalse( $integration->is_active() ); } - - public function test__set_vip_config_function_throws_error_if_integration_is_not_active(): void { - $this->expectException( ErrorException::class ); - $this->expectExceptionCode( E_USER_WARNING ); - $this->expectExceptionMessage( 'Configuration info can only assigned if integration is active.' ); - - $integration = new FakeIntegration( 'fake' ); - /** - * Intgration Config Mock. - * - * @var IntegrationVipConfig|MockObject - */ - $config_mock = $this->getMockBuilder( IntegrationVipConfig::class )->disableOriginalConstructor()->getMock(); - - $this->assertFalse( $integration->set_vip_config( $config_mock ) ); - } } diff --git a/tests/integrations/test-integrations.php b/tests/integrations/test-integrations.php index 4f8c73e639..b6aa693f96 100644 --- a/tests/integrations/test-integrations.php +++ b/tests/integrations/test-integrations.php @@ -44,9 +44,9 @@ public function tearDown(): void { } public function test__integrations_are_activating_based_on_given_vip_config(): void { - $config_mock = $this->getMockBuilder( IntegrationVipConfig::class )->disableOriginalConstructor()->onlyMethods( [ 'is_active_via_vip', 'get_site_config' ] )->getMock(); + $config_mock = $this->getMockBuilder( IntegrationVipConfig::class )->disableOriginalConstructor()->onlyMethods( [ 'is_active_via_vip', 'get_env_config' ] )->getMock(); $config_mock->expects( $this->exactly( 2 ) )->method( 'is_active_via_vip' )->willReturnOnConsecutiveCalls( true, false ); - $config_mock->expects( $this->exactly( 1 ) )->method( 'get_site_config' )->willReturnOnConsecutiveCalls( [ 'config_key_1' => 'vip_value' ] ); + $config_mock->expects( $this->exactly( 1 ) )->method( 'get_env_config' )->willReturnOnConsecutiveCalls( [ 'config_key_1' => 'vip_value' ] ); /** * Integrations mock. @@ -70,11 +70,11 @@ public function test__integrations_are_activating_based_on_given_vip_config(): v $mock->activate_platform_integrations(); $this->assertTrue( $integration_1->is_active() ); - $this->assertEquals( [ 'config_key_1' => 'value' ], $integration_1->get_config() ); + $this->assertEquals( [ 'config_key_1' => 'value' ], $integration_1->get_env_config() ); $this->assertTrue( $integration_2->is_active() ); - $this->assertEquals( [ 'config_key_1' => 'vip_value' ], $integration_2->get_config() ); + $this->assertEquals( [ 'config_key_1' => 'vip_value' ], $integration_2->get_env_config() ); $this->assertFalse( $integration_3->is_active() ); - $this->assertEquals( [], $integration_3->get_config() ); + $this->assertEquals( [], $integration_3->get_env_config() ); } public function test__expected_methods_are_getting_called_when_the_integration_is_activated_via_vip_config(): void { @@ -100,7 +100,7 @@ public function test__expected_methods_are_getting_called_when_the_integration_i $integrations_mock->activate_platform_integrations(); $this->assertTrue( $integration_mock->is_active() ); - $this->assertEquals( [], $integration_mock->get_config() ); + $this->assertEquals( [], $integration_mock->get_env_config() ); } public function test__get_integration_vip_config_returns_instance_of_IntegrationVipConfig(): void { diff --git a/tests/search/includes/classes/test-class-queue.php b/tests/search/includes/classes/test-class-queue.php index deae3fc9cf..98d6f59433 100644 --- a/tests/search/includes/classes/test-class-queue.php +++ b/tests/search/includes/classes/test-class-queue.php @@ -21,6 +21,9 @@ class Queue_Test extends WP_UnitTestCase { /** @var Queue */ private $queue; + /** @var SyncManager */ + private $sync_manager; + public function setUp(): void { parent::setUp(); @@ -43,6 +46,9 @@ public function setUp(): void { $this->queue->empty_queue(); add_filter( 'ep_do_intercept_request', [ $this, 'filter_index_exists_request_ok' ], PHP_INT_MAX, 5 ); + + $indexable = Indexables::factory()->get( 'post' ); + $this->sync_manager = $indexable->sync_manager; } public function tearDown(): void { @@ -302,10 +308,10 @@ public function test_checkout_jobs() { } public function test_offload_indexing_to_queue() { - $mock_sync_manager = (object) array( 'sync_queue' => [ 1, 2, 3 ] ); + $this->add_posts_to_queue( range( 1, 3 ) ); // Make sure we're not already bailing on EP indexing, otherwise the test isn't doing anything - $current_bail = apply_filters( 'pre_ep_index_sync_queue', false, $mock_sync_manager, 'post' ); + $current_bail = apply_filters( 'pre_ep_index_sync_queue', false, $this->sync_manager, 'post' ); $this->assertFalse( $current_bail ); @@ -313,7 +319,7 @@ public function test_offload_indexing_to_queue() { $this->queue->offload_indexing_to_queue(); // Now the filter should return true to bail early from EP indexing - $current_bail = apply_filters( 'pre_ep_index_sync_queue', false, $mock_sync_manager, 'post' ); + $current_bail = apply_filters( 'pre_ep_index_sync_queue', false, $this->sync_manager, 'post' ); $this->assertTrue( $current_bail ); } @@ -473,16 +479,12 @@ public function test_process_jobs() { } public function test_intercept_ep_sync_manager_indexing() { - $post_ids = array( 1, 2, 1000 ); - - $mock_sync_manager = (object) array( - 'sync_queue' => array_fill_keys( $post_ids, true ), // EP stores in id => true format - ); + $this->add_posts_to_queue( [ 1, 2, 1000 ] ); - $this->queue->intercept_ep_sync_manager_indexing( false, $mock_sync_manager, 'post' ); + $this->queue->intercept_ep_sync_manager_indexing( false, $this->sync_manager, 'post' ); // And the SyncManager's queue should have been emptied - $this->assertEmpty( $mock_sync_manager->sync_queue ); + $this->assertEmpty( $this->sync_manager->get_sync_queue() ); } public function test_get_jobs_by_range() { @@ -716,11 +718,8 @@ public function test__ratelimit_indexing_should_pass_bail_if_not_post() { * Ensure that the value passed into the filter is returned if the sync queue is empty */ public function test__ratelimit_indexing_should_pass_bail_if_sync_queue_empty() { - $sync_manager = new stdClass(); - $sync_manager->sync_queue = array(); - - $this->assertTrue( $this->queue->ratelimit_indexing( true, $sync_manager, 'post' ), 'should return true since true was passed in' ); - $this->assertFalse( $this->queue->ratelimit_indexing( false, $sync_manager, 'post' ), 'should return false since false was passed in' ); + $this->assertTrue( $this->queue->ratelimit_indexing( true, $this->sync_manager, 'post' ), 'should return true since true was passed in' ); + $this->assertFalse( $this->queue->ratelimit_indexing( false, $this->sync_manager, 'post' ), 'should return false since false was passed in' ); } /** @@ -734,11 +733,8 @@ public function test_ratelimit_indexing_cache_count_should_not_exist_onload() { * Ensure that the count in the cache doesn't exist if the ratelimit_indexing returns early */ public function test_ratelimit_indexing_cache_count_should_not_exists_if_early_return() { - $sync_manager = new stdClass(); - $sync_manager->sync_queue = array(); - $this->queue->ratelimit_indexing( true, '', 'hippo' ); - $this->queue->ratelimit_indexing( true, $sync_manager, 'post' ); + $this->queue->ratelimit_indexing( true, $this->sync_manager, 'post' ); $this->assertFalse( wp_cache_get( $this->queue::INDEX_COUNT_CACHE_KEY, $this->queue::INDEX_COUNT_CACHE_GROUP ), 'indexing ops count shouldn\'t exist if function calls all returned early' ); } @@ -751,16 +747,15 @@ public function test_ratelimit_indexing_queue_should_be_empty_if_no_ratelimiting $table_name = $this->queue->schema->get_table_name(); - $sync_manager = new stdClass(); - $sync_manager->sync_queue = range( 3, 9 ); + $this->add_posts_to_queue( range( 3, 9 ) ); $this->queue::$max_indexing_op_count = PHP_INT_MAX; // Ensure ratelimiting is disabled - $this->queue->ratelimit_indexing( true, $sync_manager, 'post' ); + $this->queue->ratelimit_indexing( true, $this->sync_manager, 'post' ); $this->assertEquals( 7, wp_cache_get( $this->queue::INDEX_COUNT_CACHE_KEY, $this->queue::INDEX_COUNT_CACHE_GROUP ), 'indexing ops count should be 7' ); - foreach ( $sync_manager->sync_queue as $object_id ) { + foreach ( $this->sync_manager->get_sync_queue() as $object_id ) { $results = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM `{$table_name}` WHERE `object_id` = %d AND `object_type` = 'post' AND `status` = 'queued'", @@ -771,13 +766,16 @@ public function test_ratelimit_indexing_queue_should_be_empty_if_no_ratelimiting $this->assertCount( 0, $results, "should be 0 occurrences of post id #$object_id in queue table" ); } - $sync_manager->sync_queue = range( 10, 20 ); + $this->sync_manager->reset_sync_queue(); + + $post_ids = range( 10, 20 ); + $this->add_posts_to_queue( $post_ids ); - $this->queue->ratelimit_indexing( true, $sync_manager, 'post' ); + $this->queue->ratelimit_indexing( true, $this->sync_manager, 'post' ); $this->assertEquals( 18, wp_cache_get( $this->queue::INDEX_COUNT_CACHE_KEY, $this->queue::INDEX_COUNT_CACHE_GROUP ), 'indexing ops count should be 18' ); - foreach ( $sync_manager->sync_queue as $object_id ) { + foreach ( $this->sync_manager->get_sync_queue() as $object_id ) { $results = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM `{$table_name}` WHERE `object_id` = %d AND `object_type` = 'post' AND `status` = 'queued'", @@ -797,21 +795,22 @@ public function test_ratelimit_indexing_queue_should_be_populated_if_ratelimitin $table_name = $this->queue->schema->get_table_name(); - $sync_manager = new stdClass(); - $sync_manager->sync_queue = [ 1 ]; + $this->add_posts_to_queue( [ 1 ] ); $this->queue->offload_indexing_to_queue(); - $current_bail = apply_filters( 'pre_ep_index_sync_queue', false, $sync_manager, 'post' ); + $current_bail = apply_filters( 'pre_ep_index_sync_queue', false, $this->sync_manager, 'post' ); $this->assertTrue( $current_bail ); - $sync_manager->sync_queue = range( 3, 9 ); + $post_ids = range( 3, 9 ); + $this->add_posts_to_queue( $post_ids ); + $this->queue::$max_indexing_op_count = 0; // Ensure ratelimiting is enabled - $this->queue->ratelimit_indexing( true, $sync_manager, 'post' ); + $this->queue->ratelimit_indexing( true, $this->sync_manager, 'post' ); $this->assertEquals( 7, wp_cache_get( $this->queue::INDEX_COUNT_CACHE_KEY, $this->queue::INDEX_COUNT_CACHE_GROUP ), 'indexing ops count should be 7' ); - foreach ( $sync_manager->sync_queue as $object_id ) { + foreach ( $this->sync_manager->get_sync_queue() as $object_id ) { $results = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM `{$table_name}` WHERE `object_id` = %d AND `object_type` = 'post' AND `status` = 'queued'", @@ -822,13 +821,14 @@ public function test_ratelimit_indexing_queue_should_be_populated_if_ratelimitin $this->assertCount( 1, $results, "should be 1 occurrence of post id #$object_id in queue table" ); } - $sync_manager->sync_queue = range( 10, 20 ); + $post_ids = range( 10, 20 ); + $this->add_posts_to_queue( $post_ids ); - $this->queue->ratelimit_indexing( true, $sync_manager, 'post' ); + $this->queue->ratelimit_indexing( true, $this->sync_manager, 'post' ); $this->assertEquals( 18, wp_cache_get( $this->queue::INDEX_COUNT_CACHE_KEY, $this->queue::INDEX_COUNT_CACHE_GROUP ), 'indexing ops count should be 18' ); - foreach ( $sync_manager->sync_queue as $object_id ) { + foreach ( $this->sync_manager->get_sync_queue() as $object_id ) { $results = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM `{$table_name}` WHERE `object_id` = %d AND `object_type` = 'post' AND `status` = 'queued'", @@ -866,15 +866,15 @@ public function test__ratelimit_indexing__handles_start_correctly() { $this->anything() ); - $sync_manager = new stdClass(); - $sync_manager->sync_queue = range( 3, 9 ); + $post_ids = range( 3, 9 ); + $this->add_posts_to_queue( $post_ids ); $partially_mocked_queue::$max_indexing_op_count = 0; // Ensure ratelimiting is enabled $partially_mocked_queue->expects( $this->once() )->method( 'handle_index_limiting_start_timestamp' ); $partially_mocked_queue->expects( $this->once() )->method( 'maybe_alert_for_prolonged_index_limiting' ); - $partially_mocked_queue->ratelimit_indexing( true, $sync_manager, 'post' ); + $partially_mocked_queue->ratelimit_indexing( true, $this->sync_manager, 'post' ); } public function test__ratelimit_indexing__clears_start_correctly() { @@ -887,10 +887,10 @@ public function test__ratelimit_indexing__clears_start_correctly() { $partially_mocked_queue->expects( $this->once() )->method( 'clear_index_limiting_start_timestamp' ); - $sync_manager = new stdClass(); - $sync_manager->sync_queue = range( 3, 9 ); + $post_ids = range( 3, 9 ); + $this->add_posts_to_queue( $post_ids ); - $partially_mocked_queue->ratelimit_indexing( true, $sync_manager, 'post' ); + $partially_mocked_queue->ratelimit_indexing( true, $this->sync_manager, 'post' ); } /** @@ -1318,6 +1318,15 @@ public function filter_index_exists_request_bad( $request, $query, $args, $failu return $request; } + /** + * Helper function for adding an array of post objects to the sync manager queue. + */ + protected function add_posts_to_queue( $post_ids ) { + foreach ( $post_ids as $post_id ) { + $this->sync_manager->add_to_queue( $post_id ); + } + } + /** * Helper function for accessing protected methods. */ diff --git a/tests/search/includes/classes/test-class-versioning.php b/tests/search/includes/classes/test-class-versioning.php index 99fdb07360..703e18eb7d 100644 --- a/tests/search/includes/classes/test-class-versioning.php +++ b/tests/search/includes/classes/test-class-versioning.php @@ -1334,11 +1334,14 @@ public function test_replicate_indexed_objects_to_other_versions() { $sync_manager = $indexable->sync_manager; // Fake some changed posts - $sync_manager->sync_queue = array( - 1 => true, - 2 => true, - 3 => true, - ); + $sync_manager->sync_queue = [ + get_current_blog_id() => + [ + 1 => true, + 2 => true, + 3 => true, + ], + ]; // Then fire pre_ep_index_sync_queue to simulate EP performing indexing $result = apply_filters( 'pre_ep_index_sync_queue', false, $sync_manager, 'post' ); diff --git a/tests/test-jetpack.php b/tests/test-jetpack.php index 95d7f8e897..c7b676b14d 100644 --- a/tests/test-jetpack.php +++ b/tests/test-jetpack.php @@ -11,7 +11,6 @@ public function test__vip_default_jetpack_version() { $versions_map = [ // WordPress version => Jetpack version - '6.0' => '12.0', '6.1' => '12.5', '6.2' => '12.8', '6.3' => '13.1', diff --git a/vip-integrations.php b/vip-integrations.php index fca2ebc3f0..6cc22c4102 100644 --- a/vip-integrations.php +++ b/vip-integrations.php @@ -35,10 +35,10 @@ * Activates an integration with an optional configuration value. * * @param string $slug A unique identifier for the integration. - * @param array $config An associative array of configuration values for the integration. + * @param array $options An associative options array for the integration. */ -function activate( string $slug, array $config = [] ): void { - IntegrationsSingleton::instance()->activate( $slug, $config ); +function activate( string $slug, array $options = [] ): void { + IntegrationsSingleton::instance()->activate( $slug, $options ); } // Load integrations in muplugins_loaded:5 to allow integrations to hook diff --git a/vip-parsely/vip-parsely.php b/vip-parsely/vip-parsely.php index 45c36324a7..de6ae4dd91 100644 --- a/vip-parsely/vip-parsely.php +++ b/vip-parsely/vip-parsely.php @@ -16,6 +16,7 @@ use Automattic\VIP\Parsely\Telemetry\Telemetry; use Automattic\VIP\Parsely\Telemetry\Tracks; +use Automattic\VIP\Support_User\User as Support_User; /** * This is determined by our value passed to the `WP_Widget` constructor. @@ -89,7 +90,7 @@ function (): void { add_filter( 'wp_parsely_current_user_can_use_pch_feature', function ( $current_user_can_use_pch_feature, $feature_name, $current_user ) { $user_id = $current_user->ID; - if ( user_can( $user_id, 'vip_support' ) ) { + if ( Support_User::user_has_vip_support_role( $user_id ) ) { return true; } diff --git a/wordpress-importer/class-wp-import.php b/wordpress-importer/class-wp-import.php index e1cb0940e2..32a8af6ace 100644 --- a/wordpress-importer/class-wp-import.php +++ b/wordpress-importer/class-wp-import.php @@ -10,39 +10,39 @@ * WordPress importer class. */ class WP_Import extends WP_Importer { - var $max_wxr_version = 1.2; // max. supported WXR version + public $max_wxr_version = 1.2; // max. supported WXR version - var $id; // WXR attachment ID + public $id; // WXR attachment ID // information to import from WXR file - var $version; - var $authors = array(); - var $posts = array(); - var $terms = array(); - var $categories = array(); - var $tags = array(); - var $base_url = ''; + public $version; + public $authors = array(); + public $posts = array(); + public $terms = array(); + public $categories = array(); + public $tags = array(); + public $base_url = ''; // mappings from old information to new - var $processed_authors = array(); - var $author_mapping = array(); - var $processed_terms = array(); - var $processed_posts = array(); - var $post_orphans = array(); - var $processed_menu_items = array(); - var $menu_item_orphans = array(); - var $missing_menu_items = array(); - - var $fetch_attachments = false; - var $url_remap = array(); - var $featured_images = array(); + public $processed_authors = array(); + public $author_mapping = array(); + public $processed_terms = array(); + public $processed_posts = array(); + public $post_orphans = array(); + public $processed_menu_items = array(); + public $menu_item_orphans = array(); + public $missing_menu_items = array(); + + public $fetch_attachments = false; + public $url_remap = array(); + public $featured_images = array(); /** * Registered callback function for the WordPress Importer * * Manages the three separate stages of the WXR import process */ - function dispatch() { + public function dispatch() { $this->header(); $step = empty( $_GET['step'] ) ? 0 : (int) $_GET['step']; @@ -74,7 +74,7 @@ function dispatch() { * * @param string $file Path to the WXR file for importing */ - function import( $file ) { + public function import( $file ) { add_filter( 'import_post_meta_key', array( $this, 'is_valid_meta_key' ) ); add_filter( 'http_request_timeout', array( &$this, 'bump_request_timeout' ) ); @@ -102,7 +102,7 @@ function import( $file ) { * * @param string $file Path to the WXR file for importing */ - function import_start( $file ) { + public function import_start( $file ) { if ( ! is_file( $file ) ) { echo '

' . __( 'Sorry, there has been an error.', 'wordpress-importer' ) . '
'; echo __( 'The file does not exist, please try again.', 'wordpress-importer' ) . '

'; @@ -136,7 +136,7 @@ function import_start( $file ) { /** * Performs post-import cleanup of files and the cache */ - function import_end() { + public function import_end() { wp_import_cleanup( $this->id ); wp_cache_flush(); @@ -160,7 +160,7 @@ function import_end() { * * @return bool False if error uploading or invalid file, true otherwise */ - function handle_upload() { + public function handle_upload() { $file = wp_import_handle_upload(); if ( isset( $file['error'] ) ) { @@ -202,7 +202,7 @@ function handle_upload() { * * @param array $import_data Data returned by a WXR parser */ - function get_authors_from_import( $import_data ) { + public function get_authors_from_import( $import_data ) { if ( ! empty( $import_data['authors'] ) ) { $this->authors = $import_data['authors']; // no author information, grab it from the posts @@ -229,7 +229,7 @@ function get_authors_from_import( $import_data ) { * Display pre-import options, author importing/mapping and option to * fetch attachments */ - function import_options() { + public function import_options() { $j = 0; // phpcs:disable Generic.WhiteSpace.ScopeIndent.Incorrect ?> @@ -271,7 +271,7 @@ function import_options() { * @param int $n Index for each author in the form * @param array $author Author information, e.g. login, display name, email */ - function author_select( $n, $author ) { + public function author_select( $n, $author ) { _e( 'Import author:', 'wordpress-importer' ); echo ' ' . esc_html( $author['author_display_name'] ); if ( '1.0' != $this->version ) { @@ -329,7 +329,7 @@ function author_select( $n, $author ) { * in import options form. Can map to an existing user, create a new user * or falls back to the current user in case of error with either of the previous */ - function get_author_mapping() { + public function get_author_mapping() { if ( ! isset( $_POST['imported_authors'] ) ) { return; } @@ -393,7 +393,7 @@ function get_author_mapping() { * * Doesn't create a new category if its slug already exists */ - function process_categories() { + public function process_categories() { $this->categories = apply_filters( 'wp_import_categories', $this->categories ); if ( empty( $this->categories ) ) { @@ -448,7 +448,7 @@ function process_categories() { * * Doesn't create a tag if its slug already exists */ - function process_tags() { + public function process_tags() { $this->tags = apply_filters( 'wp_import_tags', $this->tags ); if ( empty( $this->tags ) ) { @@ -499,7 +499,7 @@ function process_tags() { * * Doesn't create a term its slug already exists */ - function process_terms() { + public function process_terms() { $this->terms = apply_filters( 'wp_import_terms', $this->terms ); if ( empty( $this->terms ) ) { @@ -624,7 +624,7 @@ protected function process_termmeta( $term, $term_id ) { * is already noted as imported or a post with the same title and date already exists. * Note that new/updated terms, comments and meta are imported for the last of the above. */ - function process_posts() { + public function process_posts() { $this->posts = apply_filters( 'wp_import_posts', $this->posts ); foreach ( $this->posts as $post ) { @@ -656,7 +656,7 @@ function process_posts() { $post_type_object = get_post_type_object( $post['post_type'] ); - $post_exists = post_exists( $post['post_title'], '', $post['post_date'] ); + $post_exists = post_exists( $post['post_title'], '', $post['post_date'], $post['post_type'] ); /** * Filter ID of the existing post corresponding to post currently importing. @@ -859,7 +859,7 @@ function process_posts() { add_comment_meta( $inserted_comments[ $key ], wp_slash( $meta['key'] ), wp_slash_strings_only( $value ) ); } - $num_comments++; + ++$num_comments; } } unset( $newcomments, $inserted_comments, $post['comments'] ); @@ -917,7 +917,7 @@ function process_posts() { * * @param array $item Menu item details from WXR file */ - function process_menu_item( $item ) { + public function process_menu_item( $item ) { // skip draft, orphaned menu items if ( 'draft' == $item['status'] ) { return; @@ -1006,7 +1006,7 @@ function process_menu_item( $item ) { * @param string $url URL to fetch attachment from * @return int|WP_Error Post ID on success, WP_Error otherwise */ - function process_attachment( $post, $url ) { + public function process_attachment( $post, $url ) { if ( ! $this->fetch_attachments ) { return new WP_Error( 'attachment_processing_error', @@ -1058,7 +1058,7 @@ function process_attachment( $post, $url ) { * @param array $post Attachment details * @return array|WP_Error Local file location details on success, WP_Error otherwise */ - function fetch_remote_file( $url, $post ) { + public function fetch_remote_file( $url, $post ) { // Extract the file name from the URL. $path = parse_url( $url, PHP_URL_PATH ); $file_name = ''; @@ -1220,7 +1220,7 @@ function fetch_remote_file( $url, $post ) { * so try again. Similarly for child menu items and menu items which were missing * the object (e.g. post) they represent in the menu */ - function backfill_parents() { + public function backfill_parents() { global $wpdb; // find parents for post orphans @@ -1266,7 +1266,7 @@ function backfill_parents() { /** * Use stored mapping information to update old attachment URLs */ - function backfill_attachment_urls() { + public function backfill_attachment_urls() { global $wpdb; // make sure we do the longest urls first, in case one is a substring of another uksort( $this->url_remap, array( &$this, 'cmpr_strlen' ) ); @@ -1282,7 +1282,7 @@ function backfill_attachment_urls() { /** * Update _thumbnail_id meta to new, imported attachment IDs */ - function remap_featured_images() { + public function remap_featured_images() { // cycle through posts that have a featured image foreach ( $this->featured_images as $post_id => $value ) { if ( isset( $this->processed_posts[ $value ] ) ) { @@ -1301,13 +1301,13 @@ function remap_featured_images() { * @param string $file Path to WXR file for parsing * @return array Information gathered from the WXR file */ - function parse( $file ) { + public function parse( $file ) { $parser = new WXR_Parser(); return $parser->parse( $file ); } // Display import page title - function header() { + public function header() { echo '
'; echo '

' . __( 'Import WordPress', 'wordpress-importer' ) . '

'; @@ -1322,14 +1322,14 @@ function header() { } // Close div.wrap - function footer() { + public function footer() { echo '
'; } /** * Display introductory text and file upload form */ - function greet() { + public function greet() { echo '
'; echo '

' . __( 'Howdy! Upload your WordPress eXtended RSS (WXR) file and we’ll import the posts, pages, comments, custom fields, categories, and tags into this site.', 'wordpress-importer' ) . '

'; echo '

' . __( 'Choose a WXR (.xml) file to upload, then click Upload file and import.', 'wordpress-importer' ) . '

'; @@ -1343,7 +1343,7 @@ function greet() { * @param string $key The meta key to check * @return string|bool The key if we do want to import, false if not */ - function is_valid_meta_key( $key ) { + public function is_valid_meta_key( $key ) { // skip attachment metadata since we'll regenerate it from scratch // skip _edit_lock as not relevant for import if ( in_array( $key, array( '_wp_attached_file', '_wp_attachment_metadata', '_edit_lock' ), true ) ) { @@ -1358,7 +1358,7 @@ function is_valid_meta_key( $key ) { * * @return bool True if creating users is allowed */ - function allow_create_users() { + public function allow_create_users() { return apply_filters( 'import_allow_create_users', true ); } @@ -1369,7 +1369,7 @@ function allow_create_users() { * * @return bool True if downloading attachments is allowed */ - function allow_fetch_attachments() { + public function allow_fetch_attachments() { return apply_filters( 'import_allow_fetch_attachments', true ); } @@ -1379,7 +1379,7 @@ function allow_fetch_attachments() { * * @return int Maximum attachment file size to import */ - function max_attachment_size() { + public function max_attachment_size() { return apply_filters( 'import_attachment_size_limit', 0 ); } @@ -1387,12 +1387,12 @@ function max_attachment_size() { * Added to http_request_timeout filter to force timeout at 60 seconds during import * @return int 60 */ - function bump_request_timeout( $val ) { + public function bump_request_timeout( $val ) { return 60; } // return the difference in length between two strings - function cmpr_strlen( $a, $b ) { + public function cmpr_strlen( $a, $b ) { return strlen( $b ) - strlen( $a ); } diff --git a/wordpress-importer/parsers.php b/wordpress-importer/parsers.php index 0aef25f22f..d71954246e 100644 --- a/wordpress-importer/parsers.php +++ b/wordpress-importer/parsers.php @@ -9,13 +9,13 @@ _deprecated_file( basename( __FILE__ ), '0.7.0' ); /** WXR_Parser class */ -require_once dirname( __FILE__ ) . '/parsers/class-wxr-parser.php'; +require_once __DIR__ . '/parsers/class-wxr-parser.php'; /** WXR_Parser_SimpleXML class */ -require_once dirname( __FILE__ ) . '/parsers/class-wxr-parser-simplexml.php'; +require_once __DIR__ . '/parsers/class-wxr-parser-simplexml.php'; /** WXR_Parser_XML class */ -require_once dirname( __FILE__ ) . '/parsers/class-wxr-parser-xml.php'; +require_once __DIR__ . '/parsers/class-wxr-parser-xml.php'; /** WXR_Parser_Regex class */ -require_once dirname( __FILE__ ) . '/parsers/class-wxr-parser-regex.php'; +require_once __DIR__ . '/parsers/class-wxr-parser-regex.php'; diff --git a/wordpress-importer/parsers/class-wxr-parser-regex.php b/wordpress-importer/parsers/class-wxr-parser-regex.php index 45baf6f9fa..4ac1a96d24 100644 --- a/wordpress-importer/parsers/class-wxr-parser-regex.php +++ b/wordpress-importer/parsers/class-wxr-parser-regex.php @@ -19,11 +19,11 @@ class WXR_Parser_Regex { public $base_blog_url = ''; public $has_gzip; - function __construct() { + public function __construct() { $this->has_gzip = is_callable( 'gzopen' ); } - function parse( $file ) { + public function parse( $file ) { $wxr_version = false; $in_multiline = false; @@ -114,8 +114,8 @@ function parse( $file ) { ); } - function get_tag( $string, $tag ) { - preg_match( "|<$tag.*?>(.*?)|is", $string, $return ); + public function get_tag( $text, $tag ) { + preg_match( "|<$tag.*?>(.*?)|is", $text, $return ); if ( isset( $return[1] ) ) { if ( substr( $return[1], 0, 9 ) == '' ) !== false ) { @@ -136,7 +136,7 @@ function get_tag( $string, $tag ) { return $return; } - function process_category( $c ) { + public function process_category( $c ) { $term = array( 'term_id' => $this->get_tag( $c, 'wp:term_id' ), 'cat_name' => $this->get_tag( $c, 'wp:cat_name' ), @@ -153,7 +153,7 @@ function process_category( $c ) { return $term; } - function process_tag( $t ) { + public function process_tag( $t ) { $term = array( 'term_id' => $this->get_tag( $t, 'wp:term_id' ), 'tag_name' => $this->get_tag( $t, 'wp:tag_name' ), @@ -169,7 +169,7 @@ function process_tag( $t ) { return $term; } - function process_term( $t ) { + public function process_term( $t ) { $term = array( 'term_id' => $this->get_tag( $t, 'wp:term_id' ), 'term_taxonomy' => $this->get_tag( $t, 'wp:term_taxonomy' ), @@ -187,10 +187,10 @@ function process_term( $t ) { return $term; } - function process_meta( $string, $tag ) { + public function process_meta( $text, $tag ) { $parsed_meta = array(); - preg_match_all( "|<$tag>(.+?)|is", $string, $meta ); + preg_match_all( "|<$tag>(.+?)|is", $text, $meta ); if ( ! isset( $meta[1] ) ) { return $parsed_meta; @@ -206,7 +206,7 @@ function process_meta( $string, $tag ) { return $parsed_meta; } - function process_author( $a ) { + public function process_author( $a ) { return array( 'author_id' => $this->get_tag( $a, 'wp:author_id' ), 'author_login' => $this->get_tag( $a, 'wp:author_login' ), @@ -217,7 +217,7 @@ function process_author( $a ) { ); } - function process_post( $post ) { + public function process_post( $post ) { $post_id = $this->get_tag( $post, 'wp:post_id' ); $post_title = $this->get_tag( $post, 'title' ); $post_date = $this->get_tag( $post, 'wp:post_date' ); @@ -314,32 +314,32 @@ function process_post( $post ) { return $postdata; } - function _normalize_tag( $matches ) { + public function _normalize_tag( $matches ) { return '<' . strtolower( $matches[1] ); } - function fopen( $filename, $mode = 'r' ) { + public function fopen( $filename, $mode = 'r' ) { if ( $this->has_gzip ) { return gzopen( $filename, $mode ); } return fopen( $filename, $mode ); } - function feof( $fp ) { + public function feof( $fp ) { if ( $this->has_gzip ) { return gzeof( $fp ); } return feof( $fp ); } - function fgets( $fp, $len = 8192 ) { + public function fgets( $fp, $len = 8192 ) { if ( $this->has_gzip ) { return gzgets( $fp, $len ); } return fgets( $fp, $len ); } - function fclose( $fp ) { + public function fclose( $fp ) { if ( $this->has_gzip ) { return gzclose( $fp ); } diff --git a/wordpress-importer/parsers/class-wxr-parser-simplexml.php b/wordpress-importer/parsers/class-wxr-parser-simplexml.php index 00dd110e22..0c44d9312d 100644 --- a/wordpress-importer/parsers/class-wxr-parser-simplexml.php +++ b/wordpress-importer/parsers/class-wxr-parser-simplexml.php @@ -10,7 +10,7 @@ * WXR Parser that makes use of the SimpleXML PHP extension. */ class WXR_Parser_SimpleXML { - function parse( $file ) { + public function parse( $file ) { $authors = array(); $posts = array(); $categories = array(); @@ -19,7 +19,7 @@ function parse( $file ) { $internal_errors = libxml_use_internal_errors( true ); - $dom = new DOMDocument; + $dom = new DOMDocument(); $old_value = null; if ( function_exists( 'libxml_disable_entity_loader' ) && PHP_VERSION_ID < 80000 ) { $old_value = libxml_disable_entity_loader( true ); diff --git a/wordpress-importer/parsers/class-wxr-parser-xml.php b/wordpress-importer/parsers/class-wxr-parser-xml.php index e144c23507..07be15d9b2 100644 --- a/wordpress-importer/parsers/class-wxr-parser-xml.php +++ b/wordpress-importer/parsers/class-wxr-parser-xml.php @@ -73,7 +73,7 @@ class WXR_Parser_XML { public $base_url; public $base_blog_url; - function parse( $file ) { + public function parse( $file ) { $this->wxr_version = false; $this->in_post = false; $this->cdata = false; @@ -90,9 +90,8 @@ function parse( $file ) { $xml = xml_parser_create( 'UTF-8' ); xml_parser_set_option( $xml, XML_OPTION_SKIP_WHITE, 1 ); xml_parser_set_option( $xml, XML_OPTION_CASE_FOLDING, 0 ); - xml_set_object( $xml, $this ); - xml_set_character_data_handler( $xml, 'cdata' ); - xml_set_element_handler( $xml, 'tag_open', 'tag_close' ); + xml_set_character_data_handler( $xml, array( $this, 'cdata' ) ); + xml_set_element_handler( $xml, array( $this, 'tag_open' ), array( $this, 'tag_close' ) ); if ( ! xml_parse( $xml, file_get_contents( $file ), true ) ) { $current_line = xml_get_current_line_number( $xml ); @@ -119,7 +118,7 @@ function parse( $file ) { ); } - function tag_open( $parse, $tag, $attr ) { + public function tag_open( $parse, $tag, $attr ) { if ( in_array( $tag, $this->wp_tags, true ) ) { $this->in_tag = substr( $tag, 3 ); return; @@ -174,7 +173,7 @@ function tag_open( $parse, $tag, $attr ) { } } - function cdata( $parser, $cdata ) { + public function cdata( $parser, $cdata ) { if ( ! trim( $cdata ) ) { return; } @@ -186,7 +185,7 @@ function cdata( $parser, $cdata ) { } } - function tag_close( $parser, $tag ) { + public function tag_close( $parser, $tag ) { switch ( $tag ) { case 'wp:comment': unset( $this->sub_data['key'], $this->sub_data['value'] ); // remove meta sub_data diff --git a/wordpress-importer/parsers/class-wxr-parser.php b/wordpress-importer/parsers/class-wxr-parser.php index 057bf9ebf2..8c418cd8a4 100644 --- a/wordpress-importer/parsers/class-wxr-parser.php +++ b/wordpress-importer/parsers/class-wxr-parser.php @@ -10,10 +10,10 @@ * WordPress Importer class for managing parsing of WXR files. */ class WXR_Parser { - function parse( $file ) { + public function parse( $file ) { // Attempt to use proper XML parsers first if ( extension_loaded( 'simplexml' ) ) { - $parser = new WXR_Parser_SimpleXML; + $parser = new WXR_Parser_SimpleXML(); $result = $parser->parse( $file ); // If SimpleXML succeeds or this is an invalid WXR file then return the results @@ -21,7 +21,7 @@ function parse( $file ) { return $result; } } elseif ( extension_loaded( 'xml' ) ) { - $parser = new WXR_Parser_XML; + $parser = new WXR_Parser_XML(); $result = $parser->parse( $file ); // If XMLParser succeeds or this is an invalid WXR file then return the results @@ -47,7 +47,7 @@ function parse( $file ) { } // use regular expressions if nothing else available or this is bad XML - $parser = new WXR_Parser_Regex; + $parser = new WXR_Parser_Regex(); return $parser->parse( $file ); } } diff --git a/wordpress-importer/readme.txt b/wordpress-importer/readme.txt index f729f52728..b26916ef4a 100644 --- a/wordpress-importer/readme.txt +++ b/wordpress-importer/readme.txt @@ -3,9 +3,9 @@ Contributors: wordpressdotorg Donate link: https://wordpressfoundation.org/donate/ Tags: importer, wordpress Requires at least: 5.2 -Tested up to: 6.2 +Tested up to: 6.7 Requires PHP: 5.6 -Stable tag: 0.8.1 +Stable tag: 0.8.3 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html @@ -40,6 +40,18 @@ If you would prefer to do things manually then follow these instructions: == Changelog == += 0.8.3 = + +* Update compatibility tested-up-to to WordPress 6.7. +* Update call to `post_exists` to include `post_type` in the query +* PHP 8.4 compatibility fixes. + += 0.8.2 = + +* Update compatibility tested-up-to to WordPress 6.4.2. +* Update doc URL references. +* Adjust workflow triggers. + = 0.8.1 = * Update compatibility tested-up-to to WordPress 6.2. diff --git a/wordpress-importer/wordpress-importer.php b/wordpress-importer/wordpress-importer.php index b0e9feecf3..8b829bf584 100644 --- a/wordpress-importer/wordpress-importer.php +++ b/wordpress-importer/wordpress-importer.php @@ -6,7 +6,7 @@ * Description: Import posts, pages, comments, custom fields, categories, tags and more from a WordPress export file. * Author: wordpressdotorg * Author URI: https://wordpress.org/ - * Version: 0.8.1 + * Version: 0.8.3 * Requires at least: 5.2 * Requires PHP: 5.6 * Text Domain: wordpress-importer @@ -34,22 +34,22 @@ } /** Functions missing in older WordPress versions. */ -require_once dirname( __FILE__ ) . '/compat.php'; +require_once __DIR__ . '/compat.php'; /** WXR_Parser class */ -require_once dirname( __FILE__ ) . '/parsers/class-wxr-parser.php'; +require_once __DIR__ . '/parsers/class-wxr-parser.php'; /** WXR_Parser_SimpleXML class */ -require_once dirname( __FILE__ ) . '/parsers/class-wxr-parser-simplexml.php'; +require_once __DIR__ . '/parsers/class-wxr-parser-simplexml.php'; /** WXR_Parser_XML class */ -require_once dirname( __FILE__ ) . '/parsers/class-wxr-parser-xml.php'; +require_once __DIR__ . '/parsers/class-wxr-parser-xml.php'; /** WXR_Parser_Regex class */ -require_once dirname( __FILE__ ) . '/parsers/class-wxr-parser-regex.php'; +require_once __DIR__ . '/parsers/class-wxr-parser-regex.php'; /** WP_Import class */ -require_once dirname( __FILE__ ) . '/class-wp-import.php'; +require_once __DIR__ . '/class-wp-import.php'; function wordpress_importer_init() { load_plugin_textdomain( 'wordpress-importer' ); diff --git a/wp-parsely b/wp-parsely index 9a4010374f..5390e0db90 160000 --- a/wp-parsely +++ b/wp-parsely @@ -1 +1 @@ -Subproject commit 9a4010374f9ae3a886e946458d7cdd2e2df8479f +Subproject commit 5390e0db90888a14938201a68bb99cec2e154d49 diff --git a/wp-parsely.php b/wp-parsely.php index 2a2beb28a8..07f60e108a 100644 --- a/wp-parsely.php +++ b/wp-parsely.php @@ -23,6 +23,7 @@ * The default version is the first entry in the SUPPORTED_VERSIONS list. */ const SUPPORTED_VERSIONS = [ + '3.17', '3.16', '3.15', '3.14',