Plugin Directory

Changeset 3334205


Ignore:
Timestamp:
07/25/2025 01:45:21 PM (8 months ago)
Author:
heymehedi
Message:

Update to version 0.0.5 from GitHub

Location:
boltaudit
Files:
18 added
2 deleted
26 edited
1 copied

Legend:

Unmodified
Added
Removed
  • boltaudit/tags/0.0.5/app/Repositories/EnvironmentRepository.php

    r3321850 r3334205  
    33namespace BoltAudit\App\Repositories;
    44
     5defined( 'ABSPATH' ) || exit;
     6
    57class EnvironmentRepository {
     8    public static function get_php_version() {
     9        return phpversion();
     10    }
    611
    7     public static function get_php_version() {
    8         return phpversion();
    9     }
     12    public static function get_php_sapi() {
     13        return php_sapi_name();
     14    }
    1015
    11     public static function get_php_sapi() {
    12         return php_sapi_name();
    13     }
     16    public static function get_php_user() {
     17        return get_current_user();
     18    }
    1419
    15     public static function get_php_user() {
    16         return get_current_user();
    17     }
     20    public static function get_php_ini_values() {
     21        return [
     22            'max_execution_time'  => ini_get( 'max_execution_time' ),
     23            'memory_limit'        => ini_get( 'memory_limit' ),
     24            'upload_max_filesize' => ini_get( 'upload_max_filesize' ),
     25            'post_max_size'       => ini_get( 'post_max_size' ),
     26            'display_errors'      => ini_get( 'display_errors' ),
     27            'log_errors'          => ini_get( 'log_errors' ),
     28        ];
     29    }
    1830
    19     public static function get_php_ini_values() {
    20         return [
    21             'max_execution_time'  => ini_get( 'max_execution_time' ),
    22             'memory_limit'        => ini_get( 'memory_limit' ),
    23             'upload_max_filesize' => ini_get( 'upload_max_filesize' ),
    24             'post_max_size'       => ini_get( 'post_max_size' ),
    25             'display_errors'      => ini_get( 'display_errors' ),
    26             'log_errors'          => ini_get( 'log_errors' ),
    27         ];
    28     }
     31    public static function get_php_extensions() {
     32        $extensions = get_loaded_extensions();
     33        sort( $extensions );
    2934
    30     public static function get_php_extensions() {
    31         $extensions = get_loaded_extensions();
    32         sort( $extensions );
     35        return $extensions;
     36    }
    3337
    34         return $extensions;
    35     }
     38    public static function get_php_error_reporting() {
     39        return error_reporting();
     40    }
    3641
    37     public static function get_php_error_reporting() {
    38         return error_reporting();
    39     }
     42    public static function get_server_software() {
     43            return isset( $_SERVER['SERVER_SOFTWARE'] )
     44                    ? sanitize_text_field( wp_unslash( $_SERVER['SERVER_SOFTWARE'] ) )
     45                    : null;
     46    }
    4047
    41     public static function get_server_software() {
    42         return $_SERVER['SERVER_SOFTWARE'] ?? null;
    43     }
     48    public static function get_server_address() {
     49            return isset( $_SERVER['SERVER_ADDR'] )
     50                    ? sanitize_text_field( wp_unslash( $_SERVER['SERVER_ADDR'] ) )
     51                    : null;
     52    }
    4453
    45     public static function get_server_address() {
    46         return $_SERVER['SERVER_ADDR'] ?? null;
    47     }
     54    public static function get_server_os() {
     55        return function_exists( 'php_uname' ) ? php_uname( 's' ) . ' ' . php_uname( 'r' ) : null;
     56    }
    4857
    49     public static function get_server_os() {
    50         return function_exists( 'php_uname' ) ? php_uname( 's' ) . ' ' . php_uname( 'r' ) : null;
    51     }
     58    public static function get_server_host() {
     59        return function_exists( 'php_uname' ) ? php_uname( 'n' ) : null;
     60    }
    5261
    53     public static function get_server_host() {
    54         return function_exists( 'php_uname' ) ? php_uname( 'n' ) : null;
    55     }
     62    public static function get_server_arch() {
     63        return function_exists( 'php_uname' ) ? php_uname( 'm' ) : null;
     64    }
    5665
    57     public static function get_server_arch() {
    58         return function_exists( 'php_uname' ) ? php_uname( 'm' ) : null;
    59     }
     66    public static function get_wordpress_version() {
     67        global $wp_version;
    6068
    61     public static function get_wordpress_version() {
    62         global $wp_version;
     69        return $wp_version ?? null;
     70    }
    6371
    64         return $wp_version ?? null;
    65     }
     72    public static function get_wordpress_constants() {
     73        return [
     74            'WP_DEBUG'            => defined( 'WP_DEBUG' ) ? WP_DEBUG : null,
     75            'WP_DEBUG_DISPLAY'    => defined( 'WP_DEBUG_DISPLAY' ) ? WP_DEBUG_DISPLAY : null,
     76            'WP_DEBUG_LOG'        => defined( 'WP_DEBUG_LOG' ) ? WP_DEBUG_LOG : null,
     77            'SCRIPT_DEBUG'        => defined( 'SCRIPT_DEBUG' ) ? SCRIPT_DEBUG : null,
     78            'WP_CACHE'            => defined( 'WP_CACHE' ) ? WP_CACHE : null,
     79            'CONCATENATE_SCRIPTS' => defined( 'CONCATENATE_SCRIPTS' ) ? constant( 'CONCATENATE_SCRIPTS' ) : null,
     80            'COMPRESS_SCRIPTS'    => defined( 'COMPRESS_SCRIPTS' ) ? constant( 'COMPRESS_SCRIPTS' ) : null,
     81            'COMPRESS_CSS'        => defined( 'COMPRESS_CSS' ) ? constant( 'COMPRESS_CSS' ) : null,
     82        ];
     83    }
    6684
    67     public static function get_wordpress_constants() {
    68         return [
    69             'WP_DEBUG'            => defined( 'WP_DEBUG' ) ? WP_DEBUG : null,
    70             'WP_DEBUG_DISPLAY'    => defined( 'WP_DEBUG_DISPLAY' ) ? WP_DEBUG_DISPLAY : null,
    71             'WP_DEBUG_LOG'        => defined( 'WP_DEBUG_LOG' ) ? WP_DEBUG_LOG : null,
    72             'SCRIPT_DEBUG'        => defined( 'SCRIPT_DEBUG' ) ? SCRIPT_DEBUG : null,
    73             'WP_CACHE'            => defined( 'WP_CACHE' ) ? WP_CACHE : null,
    74             'CONCATENATE_SCRIPTS' => defined( 'CONCATENATE_SCRIPTS' ) ? constant( 'CONCATENATE_SCRIPTS' ) : null,
    75             'COMPRESS_SCRIPTS'    => defined( 'COMPRESS_SCRIPTS' ) ? constant( 'COMPRESS_SCRIPTS' ) : null,
    76             'COMPRESS_CSS'        => defined( 'COMPRESS_CSS' ) ? constant( 'COMPRESS_CSS' ) : null,
    77         ];
    78     }
     85    public static function get_environment_type() {
     86        return function_exists( 'wp_get_environment_type' ) ? wp_get_environment_type() : 'production';
     87    }
    7988
    80     public static function get_environment_type() {
    81         return function_exists( 'wp_get_environment_type' ) ? wp_get_environment_type() : 'production';
    82     }
     89    public static function get_development_mode() {
     90        return function_exists( 'wp_get_development_mode' ) ? wp_get_development_mode() : null;
     91    }
    8392
    84     public static function get_development_mode() {
    85         return function_exists( 'wp_get_development_mode' ) ? wp_get_development_mode() : null;
    86     }
     93    public static function get_database_info() {
     94        global $wpdb;
    8795
    88     public static function get_database_info() {
    89         global $wpdb;
     96        if ( ! $wpdb ) {
     97            return [];
     98        }
    9099
    91         if ( ! $wpdb ) {
    92             return [];
    93         }
     100        $server_version = $wpdb->get_var( 'SELECT VERSION()' );
    94101
    95         $server_version = $wpdb->get_var( 'SELECT VERSION()' );
     102        return [
     103            'database_name'  => $wpdb->dbname,
     104            'database_user'  => $wpdb->dbuser,
     105            'database_host'  => $wpdb->dbhost,
     106            'server_version' => $server_version,
     107        ];
     108    }
    96109
    97         return [
    98             'database_name'  => $wpdb->dbname,
    99             'database_user'  => $wpdb->dbuser,
    100             'database_host'  => $wpdb->dbhost,
    101             'server_version' => $server_version,
    102         ];
    103     }
    104 
    105     public static function get_all() {
    106         return [
    107             'php'       => [
    108                 'version'         => self::get_php_version(),
    109                 'sapi'            => self::get_php_sapi(),
    110                 'user'            => self::get_php_user(),
    111                 'ini_values'      => self::get_php_ini_values(),
    112                 'extensions'      => self::get_php_extensions(),
    113                 'error_reporting' => self::get_php_error_reporting(),
    114             ],
    115             'server'    => [
    116                 'software' => self::get_server_software(),
    117                 'address'  => self::get_server_address(),
    118                 'os'       => self::get_server_os(),
    119                 'host'     => self::get_server_host(),
    120                 'arch'     => self::get_server_arch(),
    121             ],
    122             'wordpress' => [
    123                 'version'          => self::get_wordpress_version(),
    124                 'constants'        => self::get_wordpress_constants(),
    125                 'environment_type' => self::get_environment_type(),
    126                 'development_mode' => self::get_development_mode(),
    127             ],
    128             'database'  => self::get_database_info(),
    129         ];
    130     }
     110    public static function get_all() {
     111        return [
     112            'php'       => [
     113                'version'         => self::get_php_version(),
     114                'sapi'            => self::get_php_sapi(),
     115                'user'            => self::get_php_user(),
     116                'ini_values'      => self::get_php_ini_values(),
     117                'extensions'      => self::get_php_extensions(),
     118                'error_reporting' => self::get_php_error_reporting(),
     119            ],
     120            'server'    => [
     121                'software' => self::get_server_software(),
     122                'address'  => self::get_server_address(),
     123                'os'       => self::get_server_os(),
     124                'host'     => self::get_server_host(),
     125                'arch'     => self::get_server_arch(),
     126            ],
     127            'wordpress' => [
     128                'version'          => self::get_wordpress_version(),
     129                'constants'        => self::get_wordpress_constants(),
     130                'environment_type' => self::get_environment_type(),
     131                'development_mode' => self::get_development_mode(),
     132            ],
     133            'database'  => self::get_database_info(),
     134        ];
     135    }
    131136}
  • boltaudit/tags/0.0.5/app/Repositories/PluginsRepository.php

    r3329062 r3334205  
    11<?php
     2namespace BoltAudit\App\Repositories;
    23
    3 namespace BoltAudit\App\Repositories;
     4defined( 'ABSPATH' ) || exit;
    45
    56use BoltAudit\App\Repositories\OptionsRepository;
    67
    78class PluginsRepository {
    8 
    99    protected static $cached_plugins_data = null;
    1010
     
    2222        }
    2323
    24         $all_plugins    = get_plugins();
    25         $plugin_updates = get_plugin_updates();
    26         $plugins_data   = [];
    27         $active_plugins = get_option( 'active_plugins', [] );
     24        $all_plugins  = get_plugins();
     25        $plugins_data = [];
    2826
    2927        foreach ( $all_plugins as $plugin_file => $plugin_data ) {
    30             $slug         = dirname( $plugin_file );
    31             $version      = $plugin_data['Version'] ?? 'unknown';
    32             $option_key   = "plugin_data_{$slug}_v{$version}";
    33             $cached_entry = OptionsRepository::get_option( $option_key, 'plugins_cache' );
    34 
    35             if ( $cached_entry && ! empty( $cached_entry['data'] ) ) {
    36                 $plugins_data[] = json_decode( $cached_entry['data'], true );
    37                 continue;
    38             }
    39 
    40             $wp_org_info  = self::fetch_wp_org_info( $slug );
    41             $is_wp_repo   = ! empty( $wp_org_info ) && ! is_wp_error( $wp_org_info );
    42             $last_updated = $is_wp_repo ? ( $wp_org_info->last_updated ?? null ) : null;
    43             $is_abandoned = $last_updated ? self::is_abandoned( $last_updated ) : null;
    44 
    45             $data = [
    46                 'name'          => $plugin_data['Name'] ?? '',
    47                 'slug'          => $slug,
    48                 'plugin_file'   => $plugin_file,
    49                 'needs_upgrade' => isset( $plugin_updates[$plugin_file] ),
    50                 'is_wp_repo'    => $is_wp_repo,
    51                 'is_active'     => in_array( $plugin_file, $active_plugins ),
    52                 'last_updated'  => $last_updated,
    53                 'is_abandoned'  => $is_abandoned,
    54                 'version'       => $version,
    55             ];
    56 
    57             OptionsRepository::create_option( $option_key, 'plugins_cache', $data );
    58             $plugins_data[] = $data;
     28            $plugins_data[] = SinglePluginRepository::get_basic_plugin_data( $plugin_file, $plugin_data );
    5929        }
    6030
     
    6232
    6333        return $plugins_data;
    64     }
    65 
    66     protected static function is_wp_org_plugin( $plugin ) {
    67         foreach ( ['PluginURI', 'AuthorURI'] as $key ) {
    68             if ( ! empty( $plugin[$key] ) && strpos( $plugin[$key], 'wordpress.org' ) !== false ) {
    69                 return true;
    70             }
    71         }
    72 
    73         return false;
    74     }
    75 
    76     protected static function fetch_wp_org_info( $slug ) {
    77         if ( ! function_exists( 'plugins_api' ) ) {
    78             require_once ABSPATH . 'wp-admin/includes/plugin-install.php';
    79         }
    80 
    81         $info = plugins_api( 'plugin_information', ['slug' => $slug, 'fields' => ['last_updated' => true]] );
    82         if ( is_wp_error( $info ) ) {
    83             return;
    84         }
    85 
    86         return $info;
    87     }
    88 
    89     protected static function is_abandoned( $last_updated ) {
    90         $then = strtotime( $last_updated );
    91         if ( ! $then ) {
    92             return false;
    93         }
    94 
    95         return ( time() - $then ) > YEAR_IN_SECONDS;
    9634    }
    9735
     
    11149        $suggestions = [];
    11250
    113         $abandoned_plugins = array_filter( $plugins, function ( $plugin ) {
    114             return true === $plugin['is_abandoned'];
    115         } );
     51        $abandoned_plugins = array_filter(
     52            $plugins, function ( $plugin ) {
     53                return true === $plugin['is_abandoned'];
     54            }
     55        );
    11656
    117         $plugins_needing_update = array_filter( $plugins, function ( $plugin ) {
    118             return true === $plugin['needs_upgrade'];
    119         } );
     57        $plugins_needing_update = array_filter(
     58            $plugins, function ( $plugin ) {
     59                return true === $plugin['needs_upgrade'];
     60            }
     61        );
    12062
    12163        $total_plugins    = $counts['total'] ?? count( $plugins );
     
    182124        }
    183125
    184         $all_plugins    = get_plugins();
    185         $plugin_updates = get_plugin_updates();
    186         $active_plugins = get_option( 'active_plugins', [] );
    187 
    188         $offset  = ( $page - 1 ) * $per_page;
    189         $slice   = array_slice( $all_plugins, $offset, $per_page, true );
    190         $plugins = [];
     126        $all_plugins  = get_plugins();
     127        $offset       = ( $page - 1 ) * $per_page;
     128        $slice        = array_slice( $all_plugins, $offset, $per_page, true );
     129        $plugins_data = [];
    191130
    192131        foreach ( $slice as $plugin_file => $plugin_data ) {
    193             $slug         = dirname( $plugin_file );
    194             $version      = $plugin_data['Version'] ?? 'unknown';
    195             $option_key   = "plugin_data_{$slug}_v{$version}";
    196             $cached_entry = OptionsRepository::get_option( $option_key, 'plugins_cache' );
    197 
    198             if ( $cached_entry && ! empty( $cached_entry['data'] ) ) {
    199                 $plugins[] = json_decode( $cached_entry['data'], true );
    200                 continue;
    201             }
    202 
    203             $wp_org_info  = self::fetch_wp_org_info( $slug );
    204             $is_wp_repo   = ! empty( $wp_org_info ) && ! is_wp_error( $wp_org_info );
    205             $last_updated = $is_wp_repo ? ( $wp_org_info->last_updated ?? null ) : null;
    206             $is_abandoned = $last_updated ? self::is_abandoned( $last_updated ) : null;
    207 
    208             $data = [
    209                 'name'          => $plugin_data['Name'] ?? '',
    210                 'slug'          => $slug,
    211                 'plugin_file'   => $plugin_file,
    212                 'needs_upgrade' => isset( $plugin_updates[$plugin_file] ),
    213                 'is_wp_repo'    => $is_wp_repo,
    214                 'is_active'     => in_array( $plugin_file, $active_plugins ),
    215                 'last_updated'  => $last_updated,
    216                 'is_abandoned'  => $is_abandoned,
    217                 'version'       => $version,
    218             ];
    219 
    220             OptionsRepository::create_option( $option_key, 'plugins_cache', $data );
    221             $plugins[] = $data;
     132            $plugins_data[] = SinglePluginRepository::get_basic_plugin_data( $plugin_file, $plugin_data );
    222133        }
    223134
    224135        return [
    225             'plugins'       => $plugins,
     136            'plugins'       => $plugins_data,
    226137            'total_plugins' => count( $all_plugins ),
    227138        ];
     
    238149        $inactive       = $total - $active;
    239150
    240         $cached    = OptionsRepository::get_all_options( 'plugins_cache' );
     151        $cached    = OptionsRepository::get_all_options( 'plugin_basic_cache' );
    241152        $abandoned = 0;
    242153        foreach ( $cached as $entry ) {
  • boltaudit/tags/0.0.5/assets/build/38.js

    r3322989 r3334205  
    1 "use strict";(globalThis.webpackChunkboltaudit=globalThis.webpackChunkboltaudit||[]).push([[38],{38:(e,a,_)=>{_.r(a),_.d(a,{default:()=>n});var t=_(609),i=_(494),c=_(788);const s="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuNSAyLjI1QzcuNzc2MTQgMi4yNSA4IDIuNDczODYgOCAyLjc1VjdIMTIuMjVDMTIuNTI2MSA3IDEyLjc1IDcuMjIzODYgMTIuNzUgNy41QzEyLjc1IDcuNzc2MTQgMTIuNTI2MSA4IDEyLjI1IDhIOFYxMi4yNUM4IDEyLjUyNjEgNy43NzYxNCAxMi43NSA3LjUgMTIuNzVDNy4yMjM4NiAxMi43NSA3IDEyLjUyNjEgNyAxMi4yNVY4SDIuNzVDMi40NzM4NiA4IDIuMjUgNy43NzYxNCAyLjI1IDcuNUMyLjI1IDcuMjIzODYgMi40NzM4NiA3IDIuNzUgN0g3VjIuNzVDNyAyLjQ3Mzg2IDcuMjIzODYgMi4yNSA3LjUgMi4yNVoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=";function n(){return(0,t.createElement)("div",{className:"ba-dashboard__content__sidebar__widget__single"},(0,t.createElement)("div",{className:"ba-dashboard__content__sidebar__widget__single__top"},(0,t.createElement)("h4",{className:"ba-dashboard__content__sidebar__widget__single__title"},"Switch Page"),(0,t.createElement)("button",{className:"ba-dashboard__content__sidebar__widget__single__add"},(0,t.createElement)(i.A,{src:s,width:20,height:20}))),(0,t.createElement)("div",{className:"ba-dashboard__content__sidebar__widget__single__content"},(0,t.createElement)("ul",{className:"ba-dashboard__content__sidebar__widget__info"},(0,t.createElement)("li",{className:"ba-dashboard__content__sidebar__widget__info__item"},(0,t.createElement)(c.k2,{activeclassname:"active",to:"/shop",className:"ba-dashboard__content__sidebar__widget__info__link"},"Shop")),(0,t.createElement)("li",{className:"ba-dashboard__content__sidebar__widget__info__item"},(0,t.createElement)(c.k2,{activeclassname:"active",to:"/cart",className:"ba-dashboard__content__sidebar__widget__info__link"},"Cart")),(0,t.createElement)("li",{className:"ba-dashboard__content__sidebar__widget__info__item"},(0,t.createElement)(c.k2,{activeclassname:"active",to:"/checkout",className:"ba-dashboard__content__sidebar__widget__info__link"},"Checkout")))))}}}]);
     1"use strict";(globalThis.webpackChunkboltaudit=globalThis.webpackChunkboltaudit||[]).push([[38],{38:(e,a,_)=>{_.r(a),_.d(a,{default:()=>n});var t=_(609),i=_(494),c=_(920);const s="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuNSAyLjI1QzcuNzc2MTQgMi4yNSA4IDIuNDczODYgOCAyLjc1VjdIMTIuMjVDMTIuNTI2MSA3IDEyLjc1IDcuMjIzODYgMTIuNzUgNy41QzEyLjc1IDcuNzc2MTQgMTIuNTI2MSA4IDEyLjI1IDhIOFYxMi4yNUM4IDEyLjUyNjEgNy43NzYxNCAxMi43NSA3LjUgMTIuNzVDNy4yMjM4NiAxMi43NSA3IDEyLjUyNjEgNyAxMi4yNVY4SDIuNzVDMi40NzM4NiA4IDIuMjUgNy43NzYxNCAyLjI1IDcuNUMyLjI1IDcuMjIzODYgMi40NzM4NiA3IDIuNzUgN0g3VjIuNzVDNyAyLjQ3Mzg2IDcuMjIzODYgMi4yNSA3LjUgMi4yNVoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=";function n(){return(0,t.createElement)("div",{className:"ba-dashboard__content__sidebar__widget__single"},(0,t.createElement)("div",{className:"ba-dashboard__content__sidebar__widget__single__top"},(0,t.createElement)("h4",{className:"ba-dashboard__content__sidebar__widget__single__title"},"Switch Page"),(0,t.createElement)("button",{className:"ba-dashboard__content__sidebar__widget__single__add"},(0,t.createElement)(i.A,{src:s,width:20,height:20}))),(0,t.createElement)("div",{className:"ba-dashboard__content__sidebar__widget__single__content"},(0,t.createElement)("ul",{className:"ba-dashboard__content__sidebar__widget__info"},(0,t.createElement)("li",{className:"ba-dashboard__content__sidebar__widget__info__item"},(0,t.createElement)(c.k2,{activeclassname:"active",to:"/shop",className:"ba-dashboard__content__sidebar__widget__info__link"},"Shop")),(0,t.createElement)("li",{className:"ba-dashboard__content__sidebar__widget__info__item"},(0,t.createElement)(c.k2,{activeclassname:"active",to:"/cart",className:"ba-dashboard__content__sidebar__widget__info__link"},"Cart")),(0,t.createElement)("li",{className:"ba-dashboard__content__sidebar__widget__info__item"},(0,t.createElement)(c.k2,{activeclassname:"active",to:"/checkout",className:"ba-dashboard__content__sidebar__widget__info__link"},"Checkout")))))}}}]);
  • boltaudit/tags/0.0.5/assets/build/452.js

    r3329062 r3334205  
    1 "use strict";(globalThis.webpackChunkboltaudit=globalThis.webpackChunkboltaudit||[]).push([[452],{326:(e,a,t)=>{t.d(a,{A:()=>n}),t(609);const n="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxNyAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTExLjQ1NzMgOS43MDg1SDIuODMzMzdWOC4yOTE4M0gxMS40NTczTDcuNDkwNjcgNC4zMjUxNkw4LjUwMDA0IDMuMzMzNUwxNC4xNjY3IDkuMDAwMTZMOC41MDAwNCAxNC42NjY4TDcuNDkwNjcgMTMuNjc1MkwxMS40NTczIDkuNzA4NVoiIGZpbGw9IiMwMDZFRkYiLz4KPC9zdmc+Cg=="},403:(e,a,t)=>{t.d(a,{A:()=>n}),t(609);const n="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuNDk5MDIgMC44NzY5NTNDMTEuMTU2NCAwLjg3Njk1MyAxNC4xMjE3IDMuODQxNjkgMTQuMTIyMSA3LjQ5OTAyQzE0LjEyMjEgMTEuMTU2NyAxMS4xNTY3IDE0LjEyMjEgNy40OTkwMiAxNC4xMjIxQzMuODQxNjkgMTQuMTIxNyAwLjg3Njk1MyAxMS4xNTY0IDAuODc2OTUzIDcuNDk5MDJDMC44NzczNjQgMy44NDE5NCAzLjg0MTk0IDAuODc3MzY0IDcuNDk5MDIgMC44NzY5NTNaTTcuNDk5MDIgMS44MjYxN0M0LjM2NjYxIDEuODI2NTggMS44MjY1OCA0LjM2NjYxIDEuODI2MTcgNy40OTkwMkMxLjgyNjE3IDEwLjYzMTggNC4zNjYzNiAxMy4xNzE1IDcuNDk5MDIgMTMuMTcxOUMxMC42MzIgMTMuMTcxOSAxMy4xNzE5IDEwLjYzMiAxMy4xNzE5IDcuNDk5MDJDMTMuMTcxNSA0LjM2NjM2IDEwLjYzMTggMS44MjYxNyA3LjQ5OTAyIDEuODI2MTdaTTcuNjAwNTkgNi4wMDk3N0M3LjgyODUgNi4wNTYzMiA3Ljk5OTk4IDYuMjU4MzMgOCA2LjVWMTBIOVYxMUg2VjEwSDdWN0g2VjZINy41TDcuNjAwNTkgNi4wMDk3N1pNNy41IDMuNzVDNy45MTQxMSAzLjc1MDExIDguMjQ5OTcgNC4wODU4OCA4LjI1IDQuNUM4LjI1IDQuOTE0MTUgNy45MTQxMiA1LjI0OTg5IDcuNSA1LjI1QzcuMDg1NzkgNS4yNSA2Ljc1IDQuOTE0MjEgNi43NSA0LjVDNi43NTAwMyA0LjA4NTgxIDcuMDg1OCAzLjc1IDcuNSAzLjc1WiIgZmlsbD0iYmxhY2siLz4KPC9zdmc+Cg=="},452:(e,a,t)=>{t.r(a),t.d(a,{default:()=>d});var n=t(609),c=t(160),s=t(773),l=t(494),i=t(87),_=t(12),o=t(326),N=t(403);function d(){const[e,a]=(0,i.useState)([]),[t,d]=(0,i.useState)(null),[M,u]=(0,i.useState)(null),[r,g]=(0,i.useState)(1),[m,D]=(0,i.useState)(!0);(0,i.useEffect)(()=>{let e=!1;return async function(t){var n,c;const s=await(0,_.A)("boltaudit/reports/plugins",{page:t,per_page:10});s&&!e&&(a(e=>[...e,...s.plugins]),d(null!==(n=s?.counts)&&void 0!==n?n:1),u(null!==(c=s?.total_plugins)&&void 0!==c?c:1),10*t<s.total_plugins?g(t+1):D(!1))}(r),()=>{e=!0}},[r]);const b=(0,i.useMemo)(()=>null===M?null:{plugins:e,counts:t||{total:M,active:0,inactive:0,abandoned:0}},[e,t,M]);return b?(0,n.createElement)("div",{id:"ba-dashboard__plugins",className:"ba-dashboard__content__section"},(0,n.createElement)("h4",{className:"ba-dashboard__content__section__title"},"Plugin Audit"),(0,n.createElement)("p",{className:"ba-dashboard__content__section__desc"},"Get a quick overview of your site’s plugins—what’s active, inactive, outdated, or abandoned.",(0,n.createElement)("br",null),"Spot bloat, reduce risks, and keep your stack lean by identifying what’s helping and what’s just hanging around."),(0,n.createElement)("div",{className:"ba-dashboard__content__section__content"},(0,n.createElement)("div",{className:"ba-dashboard__content__section__overview equal-height"},(0,n.createElement)("div",{className:"ba-dashboard__content__section__overview__single"},(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__title"},"Total"),(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__count"},(0,n.createElement)(s.A,{target:b?.counts.total}))),(0,n.createElement)("div",{className:"ba-dashboard__content__section__overview__single"},(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__title"},"Active"),(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__count"},(0,n.createElement)(s.A,{target:b?.counts.active}))),(0,n.createElement)("div",{className:"ba-dashboard__content__section__overview__single"},(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__title"},"Inactive"),(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__count"},(0,n.createElement)(s.A,{target:b?.counts.inactive}))),(0,n.createElement)("div",{className:"ba-dashboard__content__section__overview__single"},(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__title"},"Abandoned"),(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__count"},(0,n.createElement)(s.A,{target:b?.counts.abandoned})))),(0,n.createElement)("div",{className:"ba-dashboard__content__section__data"},(0,n.createElement)("table",null,(0,n.createElement)("thead",null,(0,n.createElement)("tr",null,(0,n.createElement)("th",null,"Name"),(0,n.createElement)("th",null,"Details",(0,n.createElement)("span",{className:"bs-dashboard-tooltip"},(0,n.createElement)(l.A,{src:N.A,width:16,height:16}),(0,n.createElement)("span",{className:"bs-dashboard-tooltip-content"},"Upcoming"))))),(0,n.createElement)("tbody",null,b?.plugins.map((e,a)=>(0,n.createElement)("tr",{key:a},(0,n.createElement)("td",{className:"plugin-name"},e.name,(0,n.createElement)("div",{className:"flex gap-1 mt-1 flex-wrap"},e.is_active?(0,n.createElement)("span",{className:"plugin-badge active"},"Active"):(0,n.createElement)("span",{className:"plugin-badge inactive"},"Inctive"),e.needs_upgrade&&(0,n.createElement)("span",{className:"plugin-badge upgrade"},"Outdated"),e.is_abandoned&&(0,n.createElement)("span",{className:"plugin-badge abandoned"},"Abandoned"))),(0,n.createElement)("td",null,(0,n.createElement)("a",{href:"#",className:"action"},"Check"," ",(0,n.createElement)(l.A,{src:o.A,width:16,height:16})))))))))):(0,n.createElement)(c.A,null)}}}]);
     1"use strict";(globalThis.webpackChunkboltaudit=globalThis.webpackChunkboltaudit||[]).push([[452],{326:(e,a,t)=>{t.d(a,{A:()=>n}),t(609);const n="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxNyAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTExLjQ1NzMgOS43MDg1SDIuODMzMzdWOC4yOTE4M0gxMS40NTczTDcuNDkwNjcgNC4zMjUxNkw4LjUwMDA0IDMuMzMzNUwxNC4xNjY3IDkuMDAwMTZMOC41MDAwNCAxNC42NjY4TDcuNDkwNjcgMTMuNjc1MkwxMS40NTczIDkuNzA4NVoiIGZpbGw9IiMwMDZFRkYiLz4KPC9zdmc+Cg=="},403:(e,a,t)=>{t.d(a,{A:()=>n}),t(609);const n="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuNDk5MDIgMC44NzY5NTNDMTEuMTU2NCAwLjg3Njk1MyAxNC4xMjE3IDMuODQxNjkgMTQuMTIyMSA3LjQ5OTAyQzE0LjEyMjEgMTEuMTU2NyAxMS4xNTY3IDE0LjEyMjEgNy40OTkwMiAxNC4xMjIxQzMuODQxNjkgMTQuMTIxNyAwLjg3Njk1MyAxMS4xNTY0IDAuODc2OTUzIDcuNDk5MDJDMC44NzczNjQgMy44NDE5NCAzLjg0MTk0IDAuODc3MzY0IDcuNDk5MDIgMC44NzY5NTNaTTcuNDk5MDIgMS44MjYxN0M0LjM2NjYxIDEuODI2NTggMS44MjY1OCA0LjM2NjYxIDEuODI2MTcgNy40OTkwMkMxLjgyNjE3IDEwLjYzMTggNC4zNjYzNiAxMy4xNzE1IDcuNDk5MDIgMTMuMTcxOUMxMC42MzIgMTMuMTcxOSAxMy4xNzE5IDEwLjYzMiAxMy4xNzE5IDcuNDk5MDJDMTMuMTcxNSA0LjM2NjM2IDEwLjYzMTggMS44MjYxNyA3LjQ5OTAyIDEuODI2MTdaTTcuNjAwNTkgNi4wMDk3N0M3LjgyODUgNi4wNTYzMiA3Ljk5OTk4IDYuMjU4MzMgOCA2LjVWMTBIOVYxMUg2VjEwSDdWN0g2VjZINy41TDcuNjAwNTkgNi4wMDk3N1pNNy41IDMuNzVDNy45MTQxMSAzLjc1MDExIDguMjQ5OTcgNC4wODU4OCA4LjI1IDQuNUM4LjI1IDQuOTE0MTUgNy45MTQxMiA1LjI0OTg5IDcuNSA1LjI1QzcuMDg1NzkgNS4yNSA2Ljc1IDQuOTE0MjEgNi43NSA0LjVDNi43NTAwMyA0LjA4NTgxIDcuMDg1OCAzLjc1IDcuNSAzLjc1WiIgZmlsbD0iYmxhY2siLz4KPC9zdmc+Cg=="},452:(e,a,t)=>{t.r(a),t.d(a,{default:()=>N});var n=t(609),c=t(160),s=(t(773),t(87)),l=t(494),i=t(12),_=t(326),o=(t(403),t(920));function N(){const[e,a]=(0,s.useState)([]),[t,N]=(0,s.useState)(null),[M,u]=(0,s.useState)(null),[d,g]=(0,s.useState)(1),[r,m]=(0,s.useState)(!0);(0,s.useEffect)(()=>{let e=!1;return async function(t){var n,c;const s=await(0,i.A)("boltaudit/reports/plugins",{page:t,per_page:10});s&&!e&&(a(e=>[...e,...s.plugins]),N(null!==(n=s?.counts)&&void 0!==n?n:1),u(null!==(c=s?.total_plugins)&&void 0!==c?c:1),10*t<s.total_plugins?g(t+1):m(!1))}(d),()=>{e=!0}},[d]);const D=(0,s.useMemo)(()=>null===M?null:{plugins:e,counts:t||{total:M,active:0,inactive:0,abandoned:0}},[e,t,M]);return(0,n.createElement)("div",{id:"ba-dashboard__plugins",className:"ba-dashboard__content__section"},(0,n.createElement)("h4",{className:"ba-dashboard__content__section__title"},"Plugin Audit"),(0,n.createElement)("p",{className:"ba-dashboard__content__section__desc"},"Get a quick overview of your site’s plugins—what’s active, inactive, outdated, or abandoned.",(0,n.createElement)("br",null),"Spot bloat, reduce risks, and keep your stack lean by identifying what’s helping and what’s just hanging around."),(0,n.createElement)("div",{className:"ba-dashboard__content__section__content"},D?(0,n.createElement)("div",{className:"ba-dashboard__content__section__overview equal-height"},(0,n.createElement)("div",{className:"ba-dashboard__content__section__overview__single"},(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__title"},"Total"),(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__count"},D?.counts.total)),(0,n.createElement)("div",{className:"ba-dashboard__content__section__overview__single"},(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__title"},"Active"),(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__count"},D?.counts.active)),(0,n.createElement)("div",{className:"ba-dashboard__content__section__overview__single"},(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__title"},"Inactive"),(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__count"},D?.counts.inactive)),(0,n.createElement)("div",{className:"ba-dashboard__content__section__overview__single"},(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__title"},"Abandoned"),(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__count"},D?.counts.abandoned))):(0,n.createElement)(c.A,null),(0,n.createElement)("div",{className:"ba-dashboard__content__section__data"},D?(0,n.createElement)("table",null,(0,n.createElement)("thead",null,(0,n.createElement)("tr",null,(0,n.createElement)("th",null,"Name"),(0,n.createElement)("th",null,"Details"))),(0,n.createElement)("tbody",null,D?.plugins.map((e,a)=>(0,n.createElement)("tr",{key:a},(0,n.createElement)("td",{className:"plugin-name"},e.name,(0,n.createElement)("div",{className:"flex gap-1 mt-1 flex-wrap"},e.is_active?(0,n.createElement)("span",{className:"plugin-badge active"},"Active"):(0,n.createElement)("span",{className:"plugin-badge inactive"},"Inctive"),e.needs_upgrade&&(0,n.createElement)("span",{className:"plugin-badge upgrade"},"Outdated"),e.is_abandoned&&(0,n.createElement)("span",{className:"plugin-badge abandoned"},"Abandoned"))),(0,n.createElement)("td",null,e.is_active?(0,n.createElement)(o.N_,{to:`/plugin/${e.slug}`,className:"action"},"Check"," ",(0,n.createElement)(l.A,{src:_.A,width:16,height:16})):(0,n.createElement)("span",null,"-")))))):(0,n.createElement)(c.A,null))))}}}]);
  • boltaudit/tags/0.0.5/assets/build/863.js

    r3322989 r3334205  
    1 "use strict";(globalThis.webpackChunkboltaudit=globalThis.webpackChunkboltaudit||[]).push([[863],{863:(e,a,t)=>{t.r(a),t.d(a,{default:()=>r});var n=t(609),s=t(12),o=t(87);function r(){const[e,a]=(0,o.useState)({}),[t,r]=(0,o.useState)(null);(0,o.useEffect)(()=>{(0,s.A)("boltaudit/reports/environment").then(e=>{a(e);const t=Object.keys(e)[0];r(t)})},[]);const _=function(e){const a={};for(const t in e){const n=e[t];if("object"!=typeof n||Array.isArray(n)||null===n)a[t]=n;else for(const e in n)a[e]=n[e]}return a}(e[t]);return(0,n.createElement)("div",{id:"ba-dashboard__environment",className:"ba-dashboard__content__section"},(0,n.createElement)("h4",{className:"ba-dashboard__content__section__title"},"Environment & Configuration Snapshot"),(0,n.createElement)("p",{className:"ba-dashboard__content__section__desc"},"Get a full snapshot of your server and WordPress setup—PHP version, memory limits, upload size, and more. ",(0,n.createElement)("br",null),"Useful for finding misconfigurations that affect performance or plugin compatibility."),(0,n.createElement)("div",{className:"ba-dashboard__content__section__content"},(0,n.createElement)("div",{className:"ba-dashboard__content__section__data"},(0,n.createElement)("div",{className:"ba-dashboard__tab"},(0,n.createElement)("ul",{className:"ba-dashboard__tab__list"},Object.keys(e).map(e=>(0,n.createElement)("li",{key:e,className:"ba-dashboard__tab__item "+(t===e?"active":""),onClick:()=>r(e)},"wordpress"===e?"WordPress":"php"===e?"PHP":e.charAt(0).toUpperCase()+e.slice(1)))),(0,n.createElement)("div",{className:"ba-dashboard__tab__content"},(0,n.createElement)("div",{className:"ba-dashboard__tab__content__wrap"},Object.entries(_).map(([e,a])=>(0,n.createElement)("div",{key:e,className:"ba-dashboard__tab__content__single"},(0,n.createElement)("span",{className:"ba-dashboard__tab__content__single__title"},e.replace(/_/g," ")),(0,n.createElement)("span",{className:"ba-dashboard__tab__content__single__value"},Array.isArray(a)?a.join(", "):null===a?"null":"boolean"==typeof a?a.toString():a)))))))))}}}]);
     1"use strict";(globalThis.webpackChunkboltaudit=globalThis.webpackChunkboltaudit||[]).push([[863],{863:(e,a,t)=>{t.r(a),t.d(a,{default:()=>c});var n=t(609),s=t(160),o=t(12),r=t(87);function c(){const[e,a]=(0,r.useState)({}),[t,c]=(0,r.useState)(null);(0,r.useEffect)(()=>{(0,o.A)("boltaudit/reports/environment").then(e=>{a(e);const t=Object.keys(e)[0];c(t)})},[]);const l=function(e){const a={};for(const t in e){const n=e[t];if("object"!=typeof n||Array.isArray(n)||null===n)a[t]=n;else for(const e in n)a[e]=n[e]}return a}(e[t]);return(0,n.createElement)("div",{id:"ba-dashboard__environment",className:"ba-dashboard__content__section"},(0,n.createElement)("h4",{className:"ba-dashboard__content__section__title"},"Environment & Configuration Snapshot"),(0,n.createElement)("p",{className:"ba-dashboard__content__section__desc"},"Get a full snapshot of your server and WordPress setup—PHP version, memory limits, upload size, and more. ",(0,n.createElement)("br",null),"Useful for finding misconfigurations that affect performance or plugin compatibility."),(0,n.createElement)("div",{className:"ba-dashboard__content__section__content"},(0,n.createElement)("div",{className:"ba-dashboard__content__section__data"},e?(0,n.createElement)("div",{className:"ba-dashboard__tab"},(0,n.createElement)("ul",{className:"ba-dashboard__tab__list"},Object.keys(e).map(e=>(0,n.createElement)("li",{key:e,className:"ba-dashboard__tab__item "+(t===e?"active":""),onClick:()=>c(e)},"wordpress"===e?"WordPress":"php"===e?"PHP":e.charAt(0).toUpperCase()+e.slice(1)))),(0,n.createElement)("div",{className:"ba-dashboard__tab__content"},(0,n.createElement)("div",{className:"ba-dashboard__tab__content__wrap"},Object.entries(l).length>0?Object.entries(l).map(([e,a])=>(0,n.createElement)("div",{key:e,className:"ba-dashboard__tab__content__single"},(0,n.createElement)("span",{className:"ba-dashboard__tab__content__single__title"},e.replace(/_/g," ")),(0,n.createElement)("span",{className:"ba-dashboard__tab__content__single__value"},Array.isArray(a)?a.join(", "):null===a?"null":"boolean"==typeof a?a.toString():a))):(0,n.createElement)(s.A,null)))):(0,n.createElement)(s.A,null))))}}}]);
  • boltaudit/tags/0.0.5/assets/build/css/app.asset.php

    r3329062 r3334205  
    1 <?php return array('dependencies' => array(), 'version' => 'd1e86c7f38945946e356');
     1<?php return array('dependencies' => array(), 'version' => '2403ade0de2de0a6d97f');
  • boltaudit/tags/0.0.5/assets/build/css/app.css

    r3329062 r3334205  
    1 :root{--ba-dashboard-primary-color:#006eff;--ba-dashboard-secondary-color:#00429b;--ba-dashboard-dark-color:#000;--ba-dashboard-white-color:#fff;--ba-dashboard-title-color:#4b5563;--ba-dashboard-body-color:#6b7280;--ba-dashboard-gray-color:#98a2b3;--ba-dashboard-menu-color:#062a5d;--ba-dashboard-input-color:#475467;--ba-dashboard-menu-border-color:#aee2ff;--ba-dashboard-menu-bg-color:#eaf8ff;--ba-dashboard-border-color:#d0d5dd;--ba-dashboard-section-border-color:#eaecf0;--ba-dashboard-section-bg-color:#eaecf0;--ba-dashboard-input-bg-color:#f2f4f7;--ba-dashboard-success-color:#00854e;--ba-dashboard-danger-color:#fb3d38;--ba-dashboard-warning-color:#ff9e2f;--ba-dashboard-info-color:#009ae5;--ba-dashboard-primary-transparent:#f2ecff;--ba-dashboard-success-transparent:#96eec2;--ba-dashboard-box-shadow:0 1px 2px 0 #1018280d;--ba-dashboard-section-box-shadow:0 2px 2px 0 #00000014;--ba-dashboard-font-family:"Inter",sans-serif}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(../fonts/Inter-Regular.85c12872.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(../fonts/Inter-Medium.da6143a9.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(../fonts/Inter-SemiBold.59404139.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(../fonts/Inter-Bold.54851dc3.woff2) format("woff2")}body{color:var(--ba-dashboard-body-color);font-family:var(--ba-dashboard-font-family);font-size:16px;font-weight:500;line-height:1.6}li,ul{margin:0;padding:0}a{text-decoration:none;transition:color .3s ease}a,button{cursor:pointer}button{background:transparent;border:none;box-shadow:none;outline:none;padding:0}img{max-width:100%}.text-primary{color:var(--ba-dashboard-primary-color)!important}.text-dark{color:var(--ba-dashboard-dark-color)!important}.text-white{color:var(--ba-dashboard-white-color)!important}.text-success{color:var(--ba-dashboard-success-color)!important}.text-warning{color:var(--ba-dashboard-warning-color)!important}.text-danger{color:var(--ba-dashboard-danger-color)!important}.text-body{color:var(--ba-dashboard-body-color)!important}.normal{font-weight:400!important}.medium{font-weight:500!important}.semi-bold{font-weight:600!important}.bold{font-weight:700!important}.uppercase{text-transform:uppercase!important}.capitalize{text-transform:capitalize!important}.text-center{text-align:center!important}html{scroll-behavior:smooth}.bs-dashboard-tooltip{position:relative}.bs-dashboard-tooltip:hover svg path{fill:var(--ba-dashboard-primary-color)}.bs-dashboard-tooltip:hover .bs-dashboard-tooltip-content{opacity:1;visibility:visible}.bs-dashboard-tooltip-content{background:var(--ba-dashboard-dark-color);border-radius:4px;color:var(--ba-dashboard-white-color);left:0;opacity:0;padding:3px 7px;position:absolute;top:100%;transition:all .3s ease;visibility:hidden;width:-moz-max-content;width:max-content}.bs-dashboard-tooltip-content:before{border-bottom:6px solid var(--ba-dashboard-dark-color);border-left:6px solid transparent;border-right:6px solid transparent;bottom:100%;content:"";left:4px;position:absolute}.ba-dashboard__toolbar{font-size:14px;font-weight:600;line-height:1.2}.skeleton{animation:pulse 1.5s infinite;background-color:#f3f4f6;border-radius:.375rem}.ba-dashboard__header{align-items:center;border-bottom:1px solid var(--ba-dashboard-border-color);display:flex;gap:20px;height:60px;justify-content:space-between}.ba-dashboard__header__logo{align-items:center;border-right:1px solid var(--ba-dashboard-border-color);box-sizing:border-box;display:flex;gap:10px;height:100%;padding:15px 24px;width:280px}.ba-dashboard__header__logo img{height:25px}.ba-dashboard__header__content{align-items:center;display:flex;gap:24px;height:100%;padding-right:32px}.ba-dashboard__header__info{align-items:center;display:flex;gap:10px}.ba-dashboard__header__info__avatar{border-radius:100%;height:46px;width:46px}.ba-dashboard__header__info__content{display:flex;flex-direction:column}.ba-dashboard__header__info__title{color:var(--ba-dashboard-title-color);font-size:16px;font-weight:700;line-height:1.2}.ba-dashboard__header__info__subtitle{color:var(--ba-dashboard-body-color);font-size:14px;font-weight:500;line-height:1.6}.ba-dashboard__header__action{align-items:center;display:flex;gap:12px}.ba-dashboard__header__action__wrapper{position:relative;width:100%}.ba-dashboard__header__action__btn{align-items:center;border-radius:4px;display:flex;gap:10px;height:36px;padding:0 12px;transition:all .3s ease}.ba-dashboard__header__action__btn.active,.ba-dashboard__header__action__btn:hover{background:var(--ba-dashboard-primary-color);box-shadow:var(--ba-dashboard-box-shadow);color:var(--ba-dashboard-white-color)}.ba-dashboard__header__action__btn.active svg path,.ba-dashboard__header__action__btn:hover svg path{fill:var(--ba-dashboard-white-color)}.ba-dashboard__header__action__dropdown{background-color:var(--ba-dashboard-section-bg-color);border-radius:6px;box-shadow:var(--ba-dashboard-box-shadow);left:0;min-width:150px;padding:10px 0;position:absolute;top:100%}.ba-dashboard__header__action__link{align-items:center;box-sizing:border-box;color:var(--ba-dashboard-body-color);display:inline-flex;gap:6px;height:30px;padding:0 15px;width:100%}.ba-dashboard__header__action__link:not(:last-child){border-bottom:1px solid var(--ba-dashboard-border-color)}.ba-dashboard__header__action__link:hover{color:var(--ba-dashboard-primary-color)}.ba-dashboard__sidebar{background-color:var(--ba-dashboard-white-color);border-right:1px solid var(--ba-dashboard-border-color);box-sizing:border-box;min-width:280px;padding:24px;width:280px}.ba-dashboard__sidebar.sidebar-fixed{height:100dvh;left:160px;position:fixed;top:32px;z-index:100}.ba-dashboard__sidebar.sidebar-fixed~.ba-dashboard__content{padding-left:312px}.ba-dashboard__sidebar__menu{display:flex;flex-direction:column;margin:0}.ba-dashboard__sidebar__menu__link{border:2px solid transparent;border-radius:30px;box-sizing:border-box;color:var(--ba-dashboard-menu-color);cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:8px;height:52px;line-height:1.2;margin:0;padding:16px 24px}.ba-dashboard__sidebar__menu__link svg path{fill:var(--ba-dashboard-secondary-color)}.ba-dashboard__sidebar__menu__link.active,.ba-dashboard__sidebar__menu__link:hover{background-color:var(--ba-dashboard-menu-bg-color);border-color:var(--ba-dashboard-menu-border-color);font-weight:700}.wp-admin.folded .ba-dashboard__sidebar.sidebar-fixed{left:36px}.wp-admin.tools_page_boltaudit #wpbody-content{padding-bottom:0}.wp-admin.tools_page_boltaudit #wpfooter{display:none}.ba-dashboard__content__footer{align-items:center;border-top:1px solid var(--ba-dashboard-border-color);display:flex;gap:24px;justify-content:space-between;padding:16px 0 0}.ba-dashboard__content__footer__logo{height:25px}.ba-dashboard__content__footer__contact{color:var(--ba-dashboard-body-color);text-decoration:none}.ba-dashboard__content__footer__contact:hover{color:var(--ba-dashboard-primary-color)}.ba-dashboard__content{background:#f0f0f1;box-sizing:border-box;display:flex;gap:32px;padding:40px 32px}.ba-dashboard__content__wrapper{display:flex;flex-direction:column;gap:48px}.ba-dashboard__content__section{background:#fff;border:1px solid var(--ba-dashboard-section-border-color);border-radius:12px;box-shadow:var(--ba-dashboard-section-box-shadow);box-sizing:border-box;padding:32px 24px}.ba-dashboard__content__section__top{display:flex;gap:24px;justify-content:space-between;margin:0 0 20px}.ba-dashboard__content__section__toggle{color:var(--ba-dashboard-primary-color);font-size:14px;font-weight:400;line-height:1.2;padding:0}.ba-dashboard__content__section__title{color:var(--ba-dashboard-dark-color);font-size:24px;font-weight:700;line-height:1.2;margin:0 0 6px}.ba-dashboard__content__section__title--recommendation{font-size:14px;font-weight:600;margin:0 0 4px}.ba-dashboard__content__section__desc{color:var(--ba-dashboard-body-color);font-size:16px;font-weight:500;line-height:1.6;margin:0 0 20px}.ba-dashboard__content__section__desc--recommendation{font-size:12px;font-weight:400;line-height:1.6;margin:0 0 12px}.ba-dashboard__content__section__content{margin:20px 0 0}.ba-dashboard__content__section__overview{align-items:center;align-items:stretch;display:flex;flex-wrap:wrap;gap:24px}.ba-dashboard__content__section__overview__single{align-items:center;background-color:var(--ba-dashboard-section-bg-color);border-radius:8px;box-sizing:border-box;display:flex;flex:1;flex:0 0 25%;flex-direction:column;gap:4px;max-width:22.91%;padding:24px}.ba-dashboard__content__section__overview__title{color:var(--ba-dashboard-title-color);font-size:16px;font-weight:500;line-height:1.2;text-align:center}.ba-dashboard__content__section__overview__count{color:var(--ba-dashboard-dark-color);font-size:20px;font-weight:600;line-height:1.2}.ba-dashboard__content__section__data{margin-top:20px}.ba-dashboard__content__section__data table{border-collapse:collapse;width:100%}.ba-dashboard__content__section__data table th{background-color:var(--ba-dashboard-section-border-color);box-sizing:border-box;color:var(--ba-dashboard-title-color);font-size:14px;font-weight:600;height:40px;line-height:1.2;min-width:120px;padding:0 16px;text-align:center;width:auto}.ba-dashboard__content__section__data table th:first-child{border-radius:8px 0 0 0;text-align:left}.ba-dashboard__content__section__data table th:last-child{border-radius:0 8px 0 0;text-align:right;width:160px}.ba-dashboard__content__section__data table th .bs-dashboard-tooltip{margin-left:6px;top:4px}.ba-dashboard__content__section__data table tbody tr:last-child td:first-child{border-radius:0 0 0 8px}.ba-dashboard__content__section__data table tbody tr:last-child td:last-child{border-radius:0 0 8px 0}.ba-dashboard__content__section__data table td{border-bottom:1px solid var(--ba-dashboard-section-border-color);border-top:1px solid var(--ba-dashboard-section-border-color);color:var(--ba-dashboard-dark-color);font-size:14px;font-weight:500;height:40px;line-height:1.2;padding:0 16px;text-align:center}.ba-dashboard__content__section__data table td:first-child{border-left:1px solid var(--ba-dashboard-section-border-color)}.ba-dashboard__content__section__data table td:last-child{border-right:1px solid var(--ba-dashboard-section-border-color)}.ba-dashboard__content__section__data table td.plugin-name{align-items:center;display:flex;padding-bottom:5px;padding-top:5px}.ba-dashboard__content__section__data table td a{align-items:center;color:var(--ba-dashboard-primary-color);display:flex;gap:2px}.ba-dashboard__content__section__data table td a.action{justify-content:end}.ba-dashboard__content__section__data table td:first-child{text-align:left}.ba-dashboard__content__section__data table td:last-child{text-align:right}.ba-dashboard__content__section__data__post th{background:transparent!important;color:var(--ba-dashboard-dark-color)!important;font-size:16px!important;padding:0!important;text-align:left!important}.ba-dashboard__content__section__data__post th:last-child{width:auto!important}.ba-dashboard__content__section__data__post td{border:none!important;padding:0!important;text-align:left!important}.ba-dashboard__content__section__data__post tr td:not(:last-child) .data-progress-wrapper{margin-right:50px}.ba-dashboard__content__section__data__post .data-wrapper{align-items:center;display:flex;gap:10px}.ba-dashboard__content__section__data__post .data-progress-wrapper{background-color:var(--ba-dashboard-section-bg-color);border-radius:8px;display:flex;float:right;height:12px;min-width:160px;overflow:hidden;position:relative;width:100%}.ba-dashboard__content__section__data__post .data-progress-wrapper .data-progress{background-color:var(--ba-dashboard-primary-color);height:100%;left:0;position:absolute;top:0}.ba-dashboard__content__section--recommendation .ba-dashboard__content__section__content{border:1px solid var(--ba-dashboard-section-border-color);border-radius:8px;padding:24px}.ba-dashboard__content__overview__title{color:var(--ba-dashboard-dark-color);font-size:24px;font-weight:700;line-height:1.2;margin:0}.ba-dashboard__content__overview__subtitle{color:var(--ba-dashboard-title-color);font-size:16px;font-weight:500;line-height:1.2;margin:0 0 8px}.ba-dashboard__content__overview__desc{color:var(--ba-dashboard-body-color);font-size:16px;font-weight:500;line-height:1.6;margin:0 0 16px}.ba-dashboard__content__overview__intro{align-items:center;display:flex;gap:8px;margin:0 0 6px}.ba-dashboard__content__overview__badge{align-items:center;display:flex;gap:6px}.ba-dashboard__content__overview__badge__single{align-items:center;border:1px solid var(--ba-dashboard-section-border-color);border-radius:16px;color:var(--ba-dashboard-title-color);display:inline-flex;font-size:12px;font-weight:600;gap:4px;height:20px;line-height:1.2;padding:0 8px;transition:all .3s ease}.ba-dashboard__content__overview__badge__single svg path{fill:var(--ba-dashboard-title-color)}.ba-dashboard__content__overview__badge__single.active{background-color:var(--ba-dashboard-success-transparent);border-color:var(--ba-dashboard-success-transparent);color:var(--ba-dashboard-success-color)}.ba-dashboard__content__overview__badge__single.active svg path{fill:var(--ba-dashboard-success-color)}.ba-dashboard__content__overview__analysis{margin:50px 0 0}.ba-dashboard__content__sidebar{min-width:230px;width:230px}.ba-dashboard__content__sidebar__widget{display:flex;flex-direction:column;gap:24px}.ba-dashboard__content__sidebar__widget__single__title{color:var(--ba-dashboard-dark-color);font-size:16px;font-weight:700;line-height:1.2;margin:0}.ba-dashboard__content__sidebar__widget__single__subtitle{color:var(--ba-dashboard-dark-color);flex:0 0 100%;font-size:16px;font-weight:600;line-height:1.2;margin:0 0 12px}.ba-dashboard__content__sidebar__widget__single__code{align-items:center;background-color:var(--ba-dashboard-input-bg-color);border:1px solid var(--ba-dashboard-border-color);border-radius:4px;box-sizing:border-box;color:var(--ba-dashboard-input-color);display:inline-flex;gap:10px;height:40px;justify-content:space-between;margin:0 0 20px;padding:0 10px;width:100%}.ba-dashboard__content__sidebar__widget__single__code svg:hover path{fill:var(--ba-dashboard-primary-color)}.ba-dashboard__content__sidebar__widget__single__desc{color:var(--ba-dashboard-body-color);font-size:14px;font-weight:500;line-height:1.6;margin:0}.ba-dashboard__content__sidebar__widget__single__top{display:flex;gap:12px;justify-content:space-between;margin:0 0 20px}.ba-dashboard__content__sidebar__widget__single__add{color:var(--ba-dashboard-primary-color)}.ba-dashboard__content__sidebar__widget__single__add svg path{fill:var(--ba-dashboard-primary-color)}.ba-dashboard__content__sidebar__widget__single--registration .ba-dashboard__content__sidebar__widget__info__item{justify-content:space-between}.ba-dashboard__content__sidebar__widget__info{display:flex;flex-direction:column;gap:12px;margin:0}.ba-dashboard__content__sidebar__widget__info__item{align-items:center;border-bottom:1px solid var(--ba-dashboard-section-border-color);display:inline-flex;flex-wrap:wrap;font-size:12px;font-weight:500;gap:8px;line-height:1.6;margin:0;min-height:30px}.ba-dashboard__content__sidebar__widget__info__item .info-value{align-items:center;display:flex;font-weight:400;gap:6px}.ba-dashboard__content__sidebar__widget__info__item .info-value svg path{fill:var(--ba-dashboard-secondary-color)}.ba-dashboard__content__sidebar__widget__info__link,.ba-dashboard__content__sidebar__widget__info__toggle{align-items:center;color:var(--ba-dashboard-primary-color);display:flex;gap:6px;text-decoration:underline}.ba-dashboard__content__sidebar__widget__info .ba-dashboard__btn{border-radius:4px;font-size:14px;font-weight:500;height:27px;margin:0 0 12px;padding:0 12px}.ba-dashboard__btn{align-items:center;border:1px solid var(--ba-dashboard-primary-color);border-radius:24px;color:var(--ba-dashboard-primary-color);display:inline-flex;font-size:16px;font-weight:500;gap:6px;height:35px;line-height:1.2;padding:0 24px;text-decoration:none;transition:all .3s ease}.ba-dashboard__btn:hover{background-color:var(--ba-dashboard-primary-color);color:var(--ba-dashboard-white-color)}.ba-dashboard__btn--sm{border-radius:6px;padding:0 16px}.ba-dashboard__btn--primary{background-color:var(--ba-dashboard-primary-color);border-color:var(--ba-dashboard-primary-color);color:var(--ba-dashboard-white-color)}.ba-dashboard__tab{display:flex;flex-direction:column}.ba-dashboard__tab__list{display:flex;gap:24px}.ba-dashboard__tab__top{align-items:center;display:flex;gap:20px;justify-content:space-between;margin:0 0 24px}.ba-dashboard__tab__item{align-items:center;border-bottom:1px solid transparent;color:var(--ba-dashboard-title-color);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;height:40px;line-height:1.2;transition:all .3s ease}.ba-dashboard__tab__item svg path{fill:var(--ba-dashboard-title-color)}.ba-dashboard__tab__item.active{border-color:var(--ba-dashboard-primary-color)}.ba-dashboard__tab__content{display:flex;flex-direction:column;gap:24px}.ba-dashboard__tab__content__single{border-bottom:1px solid var(--ba-dashboard-section-border-color);display:flex;gap:20px;padding:11px 0}.ba-dashboard__tab__content__single__title{color:var(--ba-dashboard-dark-color);font-size:14px;font-weight:600;line-height:1.2;margin:2px 0 0;width:150px}.ba-dashboard__tab__content__single__value{color:var(--ba-dashboard-body-color);flex:1;font-size:14px;font-weight:500;line-height:1.6}.ba-dashboard__tab__content__single__value a{color:var(--ba-dashboard-primary-color)}.ba-dashboard__chart{align-items:center;border-bottom:1px solid var(--ba-dashboard-border-color);display:flex;gap:35px;padding:0 0 12px}.ba-dashboard__chart__content{width:150px}.ba-dashboard__chart__title{color:var(--ba-dashboard-body-color);font-size:16px;font-weight:600;line-height:1.2;margin:0 0 6px}.ba-dashboard__chart__count{color:var(--ba-dashboard-title-color);font-size:24px;font-weight:700;line-height:1.2;margin:0}.ba-dashboard__chart__wrapper{flex:1}.plugin-badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:500;margin-left:5px;padding:2px 6px}.plugin-badge.active{background-color:#d1f5cd;color:#2e7d32}.plugin-badge.inactive{background-color:#e0e0e0;color:#757575}.plugin-badge.community{background-color:#e0f2fe;color:#0369a1}.plugin-badge.upgrade{background-color:#fef9c3;color:#92400e}.plugin-badge.abandoned{background-color:#fee2e2;color:#991b1b}.ba-menu-page-wrapper{background:#fff;margin-left:-20px}.ba-dashboard__wrapper{display:flex}
     1:root{--ba-dashboard-primary-color:#006eff;--ba-dashboard-secondary-color:#00429b;--ba-dashboard-dark-color:#000;--ba-dashboard-white-color:#fff;--ba-dashboard-title-color:#4b5563;--ba-dashboard-body-color:#6b7280;--ba-dashboard-gray-color:#98a2b3;--ba-dashboard-menu-color:#062a5d;--ba-dashboard-input-color:#475467;--ba-dashboard-menu-border-color:#aee2ff;--ba-dashboard-menu-bg-color:#eaf8ff;--ba-dashboard-border-color:#d0d5dd;--ba-dashboard-section-border-color:#eaecf0;--ba-dashboard-section-bg-color:#eaecf0;--ba-dashboard-input-bg-color:#f2f4f7;--ba-dashboard-success-color:#00854e;--ba-dashboard-danger-color:#fb3d38;--ba-dashboard-warning-color:#ff9e2f;--ba-dashboard-info-color:#009ae5;--ba-dashboard-primary-transparent:#f2ecff;--ba-dashboard-success-transparent:#96eec2;--ba-dashboard-box-shadow:0 1px 2px 0 #1018280d;--ba-dashboard-section-box-shadow:0 2px 2px 0 #00000014;--ba-dashboard-font-family:"Inter",sans-serif}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(../fonts/Inter-Regular.85c12872.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(../fonts/Inter-Medium.da6143a9.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(../fonts/Inter-SemiBold.59404139.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(../fonts/Inter-Bold.54851dc3.woff2) format("woff2")}body{color:var(--ba-dashboard-body-color);font-family:var(--ba-dashboard-font-family);font-size:16px;font-weight:500;line-height:1.6}li,ul{margin:0;padding:0}a{text-decoration:none;transition:color .3s ease}a,button{cursor:pointer}button{background:transparent;border:none;box-shadow:none;outline:none;padding:0}img{max-width:100%}.text-primary{color:var(--ba-dashboard-primary-color)!important}.text-dark{color:var(--ba-dashboard-dark-color)!important}.text-white{color:var(--ba-dashboard-white-color)!important}.text-success{color:var(--ba-dashboard-success-color)!important}.text-warning{color:var(--ba-dashboard-warning-color)!important}.text-danger{color:var(--ba-dashboard-danger-color)!important}.text-body{color:var(--ba-dashboard-body-color)!important}.normal{font-weight:400!important}.medium{font-weight:500!important}.semi-bold{font-weight:600!important}.bold{font-weight:700!important}.uppercase{text-transform:uppercase!important}.capitalize{text-transform:capitalize!important}.text-center{text-align:center!important}html{scroll-behavior:smooth}.bs-dashboard-tooltip{align-items:center;display:inline-flex;position:relative}.bs-dashboard-tooltip:hover svg path{fill:var(--ba-dashboard-primary-color)}.bs-dashboard-tooltip:hover .bs-dashboard-tooltip-content{opacity:1;visibility:visible}.bs-dashboard-tooltip-content{background:var(--ba-dashboard-dark-color);border-radius:4px;color:var(--ba-dashboard-white-color);left:0;opacity:0;padding:3px 7px;position:absolute;top:100%;transition:all .3s ease;visibility:hidden;width:-moz-max-content;width:max-content}.bs-dashboard-tooltip-content:before{border-bottom:6px solid var(--ba-dashboard-dark-color);border-left:6px solid transparent;border-right:6px solid transparent;bottom:100%;content:"";left:4px;position:absolute}.ba-dashboard__toolbar{font-size:14px;font-weight:600;line-height:1.2}.skeleton{animation:pulse 1.5s infinite;background-color:#f3f4f6;border-radius:.375rem}.ba-dashboard__header{align-items:center;border-bottom:1px solid var(--ba-dashboard-border-color);display:flex;gap:20px;height:60px;justify-content:space-between}.ba-dashboard__header__logo{align-items:center;border-right:1px solid var(--ba-dashboard-border-color);box-sizing:border-box;display:flex;gap:10px;height:100%;padding:15px 24px;width:280px}.ba-dashboard__header__logo img{height:25px}.ba-dashboard__header__return{padding:24px}.ba-dashboard__header__return:hover svg path{fill:var(--ba-dashboard-primary-color)}.ba-dashboard__header__content{align-items:center;display:flex;gap:24px;height:100%;padding-right:32px}.ba-dashboard__header__info{align-items:center;display:flex;gap:10px}.ba-dashboard__header__info__avatar{border-radius:100%;height:46px;width:46px}.ba-dashboard__header__info__content{display:flex;flex-direction:column}.ba-dashboard__header__info__title{color:var(--ba-dashboard-title-color);font-size:16px;font-weight:700;line-height:1.2}.ba-dashboard__header__info__subtitle{color:var(--ba-dashboard-body-color);font-size:14px;font-weight:500;line-height:1.6}.ba-dashboard__header__action{align-items:center;display:flex;gap:12px}.ba-dashboard__header__action__wrapper{position:relative;width:100%}.ba-dashboard__header__action__btn{align-items:center;border-radius:4px;display:flex;gap:10px;height:36px;padding:0 12px;transition:all .3s ease}.ba-dashboard__header__action__btn.active,.ba-dashboard__header__action__btn:hover{background:var(--ba-dashboard-primary-color);box-shadow:var(--ba-dashboard-box-shadow);color:var(--ba-dashboard-white-color)}.ba-dashboard__header__action__btn.active svg path,.ba-dashboard__header__action__btn:hover svg path{fill:var(--ba-dashboard-white-color)}.ba-dashboard__header__action__dropdown{background-color:var(--ba-dashboard-section-bg-color);border-radius:6px;box-shadow:var(--ba-dashboard-box-shadow);left:0;min-width:150px;padding:10px 0;position:absolute;top:100%}.ba-dashboard__header__action__link{align-items:center;box-sizing:border-box;color:var(--ba-dashboard-body-color);display:inline-flex;gap:6px;height:30px;padding:0 15px;width:100%}.ba-dashboard__header__action__link:not(:last-child){border-bottom:1px solid var(--ba-dashboard-border-color)}.ba-dashboard__header__action__link:hover{color:var(--ba-dashboard-primary-color)}.ba-dashboard__sidebar{background-color:var(--ba-dashboard-white-color);border-right:1px solid var(--ba-dashboard-border-color);box-sizing:border-box;height:100dvh;min-width:280px;padding:24px;width:280px}.ba-dashboard__sidebar.sidebar-fixed{left:160px;position:fixed;top:32px;z-index:100}.ba-dashboard__sidebar.sidebar-fixed~.ba-dashboard__content{padding-left:280px}.ba-dashboard__sidebar__menu{display:flex;flex-direction:column;margin:0}.ba-dashboard__sidebar__menu__link{border:2px solid transparent;border-radius:30px;box-sizing:border-box;color:var(--ba-dashboard-menu-color);cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:8px;height:52px;line-height:1.2;margin:0;padding:16px 24px}.ba-dashboard__sidebar__menu__link svg path{fill:var(--ba-dashboard-secondary-color)}.ba-dashboard__sidebar__menu__link.active,.ba-dashboard__sidebar__menu__link:hover{background-color:var(--ba-dashboard-menu-bg-color);border-color:var(--ba-dashboard-menu-border-color);font-weight:700}.wp-admin.folded .ba-dashboard__sidebar.sidebar-fixed{left:36px}.wp-admin.tools_page_boltaudit #wpbody-content{padding-bottom:0}.wp-admin.tools_page_boltaudit #wpfooter{display:none}.ba-dashboard__content__footer{align-items:center;border-top:1px solid var(--ba-dashboard-border-color);display:flex;gap:24px;justify-content:space-between;padding:16px 0 0}.ba-dashboard__content__footer__logo{height:25px}.ba-dashboard__content__footer__contact{color:var(--ba-dashboard-body-color);text-decoration:none}.ba-dashboard__content__footer__contact:hover{color:var(--ba-dashboard-primary-color)}.ba-dashboard__content{background:#f0f0f1;box-sizing:border-box;display:flex;width:100%}.ba-dashboard__content__wrapper{display:flex;flex:1;flex-direction:column;gap:48px;padding:40px 32px}.ba-dashboard__content__section{background:#fff;border:1px solid var(--ba-dashboard-section-border-color);border-radius:12px;box-shadow:var(--ba-dashboard-section-box-shadow);box-sizing:border-box;padding:32px 24px}.ba-dashboard__content__section__top{display:flex;gap:24px;justify-content:space-between;margin:0 0 20px}.ba-dashboard__content__section__toggle{color:var(--ba-dashboard-primary-color);font-size:14px;font-weight:400;line-height:1.2;padding:0}.ba-dashboard__content__section__title{color:var(--ba-dashboard-dark-color);font-size:24px;font-weight:700;line-height:1.2;margin:0 0 6px}.ba-dashboard__content__section__title--recommendation{font-size:14px;font-weight:600;margin:0 0 4px}.ba-dashboard__content__section__desc{color:var(--ba-dashboard-body-color);font-size:16px;font-weight:500;line-height:1.6;margin:0 0 20px}.ba-dashboard__content__section__desc--recommendation{font-size:12px;font-weight:400;line-height:1.6;margin:0 0 12px}.ba-dashboard__content__section__content{margin:20px 0 0}.ba-dashboard__content__section__overview{align-items:center;align-items:stretch;display:flex;flex-wrap:wrap;gap:24px}.ba-dashboard__content__section__overview__single{align-items:center;background-color:var(--ba-dashboard-section-bg-color);border-radius:8px;box-sizing:border-box;display:flex;flex:1;flex:0 0 25%;flex-direction:column;gap:4px;max-width:22%;padding:24px}.ba-dashboard__content__section__overview__title{color:var(--ba-dashboard-title-color);font-size:16px;font-weight:500;line-height:1.2;text-align:center}.ba-dashboard__content__section__overview__count{color:var(--ba-dashboard-dark-color);font-size:20px;font-weight:600;line-height:1.2}.ba-dashboard__content__section__data{margin-top:20px}.ba-dashboard__content__section__data table{border-collapse:collapse;width:100%}.ba-dashboard__content__section__data table th{background-color:var(--ba-dashboard-section-border-color);box-sizing:border-box;color:var(--ba-dashboard-title-color);font-size:14px;font-weight:600;height:40px;line-height:1.2;max-width:120px;min-width:120px;padding:0 16px;text-align:center;width:auto}.ba-dashboard__content__section__data table th:first-child{border-radius:8px 0 0 0;text-align:left}.ba-dashboard__content__section__data table th:last-child{border-radius:0 8px 0 0;text-align:right;width:160px}.ba-dashboard__content__section__data table th .bs-dashboard-tooltip{margin-left:6px;top:4px}.ba-dashboard__content__section__data table tbody tr:last-child td:first-child{border-radius:0 0 0 8px}.ba-dashboard__content__section__data table tbody tr:last-child td:last-child{border-radius:0 0 8px 0}.ba-dashboard__content__section__data table td{box-sizing:border-box;height:40px;max-width:120px;word-wrap:break-word;border-bottom:1px solid var(--ba-dashboard-section-border-color);border-top:1px solid var(--ba-dashboard-section-border-color);color:var(--ba-dashboard-dark-color);font-size:14px;font-weight:500;line-height:1.6;padding:8px 16px;text-align:center}.ba-dashboard__content__section__data table td:first-child{border-left:1px solid var(--ba-dashboard-section-border-color);padding-right:0}.ba-dashboard__content__section__data table td:last-child{border-right:1px solid var(--ba-dashboard-section-border-color)}.ba-dashboard__content__section__data table td.plugin-name{align-items:center;display:flex;max-width:unset;padding-bottom:5px;padding-top:5px}.ba-dashboard__content__section__data table td a{align-items:center;color:var(--ba-dashboard-primary-color);display:flex;gap:2px}.ba-dashboard__content__section__data table td a.action{justify-content:end}.ba-dashboard__content__section__data table td a.plugin-detail-asset{display:block}.ba-dashboard__content__section__data table td:first-child{text-align:left}.ba-dashboard__content__section__data table td:last-child{text-align:right}.ba-dashboard__content__section__data__post th{background:transparent!important;color:var(--ba-dashboard-dark-color)!important;font-size:16px!important;padding:0!important;text-align:left!important}.ba-dashboard__content__section__data__post th:last-child{width:auto!important}.ba-dashboard__content__section__data__post td{border:none!important;padding:0!important;text-align:left!important}.ba-dashboard__content__section__data__post tr td:not(:last-child) .data-progress-wrapper{margin-right:50px}.ba-dashboard__content__section__data__post .data-wrapper{align-items:center;display:flex;gap:10px}.ba-dashboard__content__section__data__post .data-progress-wrapper{background-color:var(--ba-dashboard-section-bg-color);border-radius:8px;display:flex;float:right;height:12px;min-width:160px;overflow:hidden;position:relative;width:100%}.ba-dashboard__content__section__data__post .data-progress-wrapper .data-progress{background-color:var(--ba-dashboard-primary-color);height:100%;left:0;position:absolute;top:0}.ba-dashboard__content__section--recommendation .ba-dashboard__content__section__content{border:1px solid var(--ba-dashboard-section-border-color);border-radius:8px;padding:24px}.ba-dashboard__content__overview__title{color:var(--ba-dashboard-dark-color);font-size:24px;font-weight:700;line-height:1.2;margin:0}.ba-dashboard__content__overview__subtitle{color:var(--ba-dashboard-title-color);font-size:16px;font-weight:500;line-height:1.2;margin:0 0 8px}.ba-dashboard__content__overview__desc{color:var(--ba-dashboard-body-color);font-size:16px;font-weight:500;line-height:1.6;margin:0 0 16px}.ba-dashboard__content__overview__intro{align-items:center;display:flex;gap:8px;margin:0 0 6px}.ba-dashboard__content__overview__badge{align-items:center;display:flex;gap:6px}.ba-dashboard__content__overview__badge__single{align-items:center;border:1px solid var(--ba-dashboard-section-border-color);border-radius:16px;color:var(--ba-dashboard-title-color);display:inline-flex;font-size:12px;font-weight:600;gap:4px;height:20px;line-height:1.2;padding:0 8px;transition:all .3s ease}.ba-dashboard__content__overview__badge__single svg path{fill:var(--ba-dashboard-title-color)}.ba-dashboard__content__overview__badge__single.active{background-color:var(--ba-dashboard-success-transparent);border-color:var(--ba-dashboard-success-transparent);color:var(--ba-dashboard-success-color)}.ba-dashboard__content__overview__badge__single.active svg path{fill:var(--ba-dashboard-success-color)}.ba-dashboard__content__overview__analysis{margin:50px 0 0}.ba-dashboard__content__sidebar{background-color:#fff;border-left:1px solid var(--ba-dashboard-border-color);height:100%;min-height:100dvh;min-width:230px;padding:40px 24px;width:230px}.ba-dashboard__content__sidebar__widget{display:flex;flex-direction:column;gap:24px}.ba-dashboard__content__sidebar__widget__single__title{color:var(--ba-dashboard-dark-color);font-size:16px;font-weight:700;line-height:1.2;margin:0}.ba-dashboard__content__sidebar__widget__single__subtitle{color:var(--ba-dashboard-dark-color);flex:0 0 100%;font-size:16px;font-weight:600;line-height:1.2;margin:0 0 12px}.ba-dashboard__content__sidebar__widget__single__code{align-items:center;background-color:var(--ba-dashboard-input-bg-color);border:1px solid var(--ba-dashboard-border-color);border-radius:4px;box-sizing:border-box;color:var(--ba-dashboard-input-color);display:inline-flex;gap:10px;height:40px;justify-content:space-between;margin:0 0 20px;padding:0 10px;width:100%}.ba-dashboard__content__sidebar__widget__single__code svg:hover path{fill:var(--ba-dashboard-primary-color)}.ba-dashboard__content__sidebar__widget__single__desc{color:var(--ba-dashboard-body-color);font-size:14px;font-weight:500;line-height:1.6;margin:0}.ba-dashboard__content__sidebar__widget__single__top{display:flex;gap:12px;justify-content:space-between;margin:0 0 20px}.ba-dashboard__content__sidebar__widget__single__add{color:var(--ba-dashboard-primary-color)}.ba-dashboard__content__sidebar__widget__single__add svg path{fill:var(--ba-dashboard-primary-color)}.ba-dashboard__content__sidebar__widget__single--registration .ba-dashboard__content__sidebar__widget__info__item{justify-content:space-between}.ba-dashboard__content__sidebar__widget__info{display:flex;flex-direction:column;gap:12px;margin:0}.ba-dashboard__content__sidebar__widget__info__item{align-items:center;border-bottom:1px solid var(--ba-dashboard-section-border-color);display:inline-flex;flex-wrap:wrap;font-size:12px;font-weight:500;gap:8px;line-height:1.6;margin:0;padding:5px 0}.ba-dashboard__content__sidebar__widget__info__item:last-child{padding-bottom:12px}.ba-dashboard__content__sidebar__widget__info__item .info-value{align-items:center;display:flex;font-weight:400;gap:6px}.ba-dashboard__content__sidebar__widget__info__item .info-value svg path{fill:var(--ba-dashboard-secondary-color)}.ba-dashboard__content__sidebar__widget__info__link,.ba-dashboard__content__sidebar__widget__info__toggle{align-items:center;color:var(--ba-dashboard-primary-color);display:flex;gap:6px;text-decoration:underline}.ba-dashboard__content__sidebar__widget__info .ba-dashboard__btn{border-radius:4px;font-size:14px;font-weight:500;height:27px;margin:0 0 12px;padding:0 12px}.ba-dashboard__btn{align-items:center;border:1px solid var(--ba-dashboard-primary-color);border-radius:24px;color:var(--ba-dashboard-primary-color);display:inline-flex;font-size:16px;font-weight:500;gap:6px;height:35px;line-height:1.2;padding:0 24px;text-decoration:none;transition:all .3s ease}.ba-dashboard__btn:hover{background-color:var(--ba-dashboard-primary-color);color:var(--ba-dashboard-white-color)}.ba-dashboard__btn--sm{border-radius:6px;padding:0 16px}.ba-dashboard__btn--primary{background-color:var(--ba-dashboard-primary-color);border-color:var(--ba-dashboard-primary-color);color:var(--ba-dashboard-white-color)}.ba-dashboard__tab{display:flex;flex-direction:column}.ba-dashboard__tab__list{display:flex;gap:24px}.ba-dashboard__tab__top{align-items:center;display:flex;gap:20px;justify-content:space-between;margin:0 0 24px}.ba-dashboard__tab__item{align-items:center;border-bottom:1px solid transparent;color:var(--ba-dashboard-title-color);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;height:40px;line-height:1.2;transition:all .3s ease}.ba-dashboard__tab__item svg path{fill:var(--ba-dashboard-title-color)}.ba-dashboard__tab__item.active{border-color:var(--ba-dashboard-primary-color)}.ba-dashboard__tab__content{display:flex;flex-direction:column;gap:24px}.ba-dashboard__tab__content__single{border-bottom:1px solid var(--ba-dashboard-section-border-color);display:flex;gap:20px;padding:11px 0}.ba-dashboard__tab__content__single__title{color:var(--ba-dashboard-dark-color);font-size:14px;font-weight:600;line-height:1.2;margin:2px 0 0;width:150px}.ba-dashboard__tab__content__single__value{color:var(--ba-dashboard-body-color);flex:1;font-size:14px;font-weight:500;line-height:1.6}.ba-dashboard__tab__content__single__value a{color:var(--ba-dashboard-primary-color)}.ba-dashboard__chart{align-items:center;border-bottom:1px solid var(--ba-dashboard-border-color);display:flex;gap:35px;padding:0 0 12px}.ba-dashboard__chart__content{width:150px}.ba-dashboard__chart__title{color:var(--ba-dashboard-body-color);font-size:16px;font-weight:600;line-height:1.2;margin:0 0 6px}.ba-dashboard__chart__count{color:var(--ba-dashboard-title-color);font-size:24px;font-weight:700;line-height:1.2;margin:0}.ba-dashboard__chart__wrapper{flex:1}.plugin-badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:500;margin-left:5px;padding:2px 6px}.plugin-badge.active{background-color:#d1f5cd;color:#2e7d32}.plugin-badge.inactive{background-color:#e0e0e0;color:#757575}.plugin-badge.community{background-color:#e0f2fe;color:#0369a1}.plugin-badge.upgrade{background-color:#fef9c3;color:#92400e}.plugin-badge.abandoned,.plugin-badge.enqueued{background-color:#fee2e2;color:#991b1b}#wpbody-content>div{display:none!important}#wpbody-content .ba-menu-page-wrapper{background:#fff;display:block!important;margin-left:-20px}.ba-dashboard__wrapper{display:flex}
  • boltaudit/tags/0.0.5/assets/build/js/app.asset.php

    r3322989 r3334205  
    1 <?php return array('dependencies' => array('react', 'wp-api-fetch', 'wp-element', 'wp-hooks'), 'version' => '0cdcc0e8110f8c1cb224');
     1<?php return array('dependencies' => array('react', 'wp-api-fetch', 'wp-element', 'wp-hooks'), 'version' => 'f8dc5df33f26820cda31');
  • boltaudit/tags/0.0.5/assets/build/js/app.js

    r3322989 r3334205  
    1 (()=>{var e,t,n={87:e=>{"use strict";e.exports=window.wp.element},232:(e,t)=>{"use strict";Object.prototype.toString},455:e=>{"use strict";e.exports=window.wp.apiFetch},510:(e,t,n)=>{"use strict";n.d(t,{NP:()=>Dt,Ay:()=>Ut});var r=function(){return r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},r.apply(this,arguments)};function a(e,t,n){if(n||2===arguments.length)for(var r,a=0,o=t.length;a<o;a++)!r&&a in t||(r||(r=Array.prototype.slice.call(t,0,a)),r[a]=t[a]);return e.concat(r||Array.prototype.slice.call(t))}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var o=n(609),i=n.n(o),s=n(833),l=n.n(s),u="-ms-",c="-moz-",p="-webkit-",h="comm",d="rule",f="decl",m="@keyframes",g=Math.abs,v=String.fromCharCode,y=Object.assign;function w(e){return e.trim()}function b(e,t){return(e=t.exec(e))?e[0]:e}function S(e,t,n){return e.replace(t,n)}function E(e,t,n){return e.indexOf(t,n)}function x(e,t){return 0|e.charCodeAt(t)}function C(e,t,n){return e.slice(t,n)}function M(e){return e.length}function k(e){return e.length}function A(e,t){return t.push(e),e}function R(e,t){return e.filter(function(e){return!b(e,t)})}var O=1,N=1,j=0,P=0,I=0,D="";function T(e,t,n,r,a,o,i,s){return{value:e,root:t,parent:n,type:r,props:a,children:o,line:O,column:N,length:i,return:"",siblings:s}}function $(e,t){return y(T("",null,null,"",null,null,0,e.siblings),e,{length:-e.length},t)}function L(e){for(;e.root;)e=$(e.root,{children:[e]});A(e,e.siblings)}function z(){return I=P>0?x(D,--P):0,N--,10===I&&(N=1,O--),I}function _(){return I=P<j?x(D,P++):0,N++,10===I&&(N=1,O++),I}function F(){return x(D,P)}function B(){return P}function U(e,t){return C(D,e,t)}function W(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function H(e){return w(U(P-1,V(91===e?e+2:40===e?e+1:e)))}function Y(e){for(;(I=F())&&I<33;)_();return W(e)>2||W(I)>3?"":" "}function G(e,t){for(;--t&&_()&&!(I<48||I>102||I>57&&I<65||I>70&&I<97););return U(e,B()+(t<6&&32==F()&&32==_()))}function V(e){for(;_();)switch(I){case e:return P;case 34:case 39:34!==e&&39!==e&&V(I);break;case 40:41===e&&V(e);break;case 92:_()}return P}function Q(e,t){for(;_()&&e+I!==57&&(e+I!==84||47!==F()););return"/*"+U(t,P-1)+"*"+v(47===e?e:_())}function q(e){for(;!W(F());)_();return U(e,P)}function J(e,t){for(var n="",r=0;r<e.length;r++)n+=t(e[r],r,e,t)||"";return n}function Z(e,t,n,r){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case f:return e.return=e.return||e.value;case h:return"";case m:return e.return=e.value+"{"+J(e.children,r)+"}";case d:if(!M(e.value=e.props.join(",")))return""}return M(n=J(e.children,r))?e.return=e.value+"{"+n+"}":""}function K(e,t,n){switch(function(e,t){return 45^x(e,0)?(((t<<2^x(e,0))<<2^x(e,1))<<2^x(e,2))<<2^x(e,3):0}(e,t)){case 5103:return p+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return p+e+e;case 4789:return c+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return p+e+c+e+u+e+e;case 5936:switch(x(e,t+11)){case 114:return p+e+u+S(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return p+e+u+S(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return p+e+u+S(e,/[svh]\w+-[tblr]{2}/,"lr")+e}case 6828:case 4268:case 2903:return p+e+u+e+e;case 6165:return p+e+u+"flex-"+e+e;case 5187:return p+e+S(e,/(\w+).+(:[^]+)/,p+"box-$1$2"+u+"flex-$1$2")+e;case 5443:return p+e+u+"flex-item-"+S(e,/flex-|-self/g,"")+(b(e,/flex-|baseline/)?"":u+"grid-row-"+S(e,/flex-|-self/g,""))+e;case 4675:return p+e+u+"flex-line-pack"+S(e,/align-content|flex-|-self/g,"")+e;case 5548:return p+e+u+S(e,"shrink","negative")+e;case 5292:return p+e+u+S(e,"basis","preferred-size")+e;case 6060:return p+"box-"+S(e,"-grow","")+p+e+u+S(e,"grow","positive")+e;case 4554:return p+S(e,/([^-])(transform)/g,"$1"+p+"$2")+e;case 6187:return S(S(S(e,/(zoom-|grab)/,p+"$1"),/(image-set)/,p+"$1"),e,"")+e;case 5495:case 3959:return S(e,/(image-set\([^]*)/,p+"$1$`$1");case 4968:return S(S(e,/(.+:)(flex-)?(.*)/,p+"box-pack:$3"+u+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+p+e+e;case 4200:if(!b(e,/flex-|baseline/))return u+"grid-column-align"+C(e,t)+e;break;case 2592:case 3360:return u+S(e,"template-","")+e;case 4384:case 3616:return n&&n.some(function(e,n){return t=n,b(e.props,/grid-\w+-end/)})?~E(e+(n=n[t].value),"span",0)?e:u+S(e,"-start","")+e+u+"grid-row-span:"+(~E(n,"span",0)?b(n,/\d+/):+b(n,/\d+/)-+b(e,/\d+/))+";":u+S(e,"-start","")+e;case 4896:case 4128:return n&&n.some(function(e){return b(e.props,/grid-\w+-start/)})?e:u+S(S(e,"-end","-span"),"span ","")+e;case 4095:case 3583:case 4068:case 2532:return S(e,/(.+)-inline(.+)/,p+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(M(e)-1-t>6)switch(x(e,t+1)){case 109:if(45!==x(e,t+4))break;case 102:return S(e,/(.+:)(.+)-([^]+)/,"$1"+p+"$2-$3$1"+c+(108==x(e,t+3)?"$3":"$2-$3"))+e;case 115:return~E(e,"stretch",0)?K(S(e,"stretch","fill-available"),t,n)+e:e}break;case 5152:case 5920:return S(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(t,n,r,a,o,i,s){return u+n+":"+r+s+(a?u+n+"-span:"+(o?i:+i-+r)+s:"")+e});case 4949:if(121===x(e,t+6))return S(e,":",":"+p)+e;break;case 6444:switch(x(e,45===x(e,14)?18:11)){case 120:return S(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+p+(45===x(e,14)?"inline-":"")+"box$3$1"+p+"$2$3$1"+u+"$2box$3")+e;case 100:return S(e,":",":"+u)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return S(e,"scroll-","scroll-snap-")+e}return e}function X(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case f:return void(e.return=K(e.value,e.length,n));case m:return J([$(e,{value:S(e.value,"@","@"+p)})],r);case d:if(e.length)return function(e,t){return e.map(t).join("")}(n=e.props,function(t){switch(b(t,r=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":L($(e,{props:[S(t,/:(read-\w+)/,":-moz-$1")]})),L($(e,{props:[t]})),y(e,{props:R(n,r)});break;case"::placeholder":L($(e,{props:[S(t,/:(plac\w+)/,":"+p+"input-$1")]})),L($(e,{props:[S(t,/:(plac\w+)/,":-moz-$1")]})),L($(e,{props:[S(t,/:(plac\w+)/,u+"input-$1")]})),L($(e,{props:[t]})),y(e,{props:R(n,r)})}return""})}}function ee(e){return function(e){return D="",e}(te("",null,null,null,[""],e=function(e){return O=N=1,j=M(D=e),P=0,[]}(e),0,[0],e))}function te(e,t,n,r,a,o,i,s,l){for(var u=0,c=0,p=i,h=0,d=0,f=0,m=1,y=1,w=1,b=0,C="",k=a,R=o,O=r,N=C;y;)switch(f=b,b=_()){case 40:if(108!=f&&58==x(N,p-1)){-1!=E(N+=S(H(b),"&","&\f"),"&\f",g(u?s[u-1]:0))&&(w=-1);break}case 34:case 39:case 91:N+=H(b);break;case 9:case 10:case 13:case 32:N+=Y(f);break;case 92:N+=G(B()-1,7);continue;case 47:switch(F()){case 42:case 47:A(re(Q(_(),B()),t,n,l),l);break;default:N+="/"}break;case 123*m:s[u++]=M(N)*w;case 125*m:case 59:case 0:switch(b){case 0:case 125:y=0;case 59+c:-1==w&&(N=S(N,/\f/g,"")),d>0&&M(N)-p&&A(d>32?ae(N+";",r,n,p-1,l):ae(S(N," ","")+";",r,n,p-2,l),l);break;case 59:N+=";";default:if(A(O=ne(N,t,n,u,c,a,s,C,k=[],R=[],p,o),o),123===b)if(0===c)te(N,t,O,O,k,o,p,s,R);else switch(99===h&&110===x(N,3)?100:h){case 100:case 108:case 109:case 115:te(e,O,O,r&&A(ne(e,O,O,0,0,a,s,C,a,k=[],p,R),R),a,R,p,s,r?k:R);break;default:te(N,O,O,O,[""],R,0,s,R)}}u=c=d=0,m=w=1,C=N="",p=i;break;case 58:p=1+M(N),d=f;default:if(m<1)if(123==b)--m;else if(125==b&&0==m++&&125==z())continue;switch(N+=v(b),b*m){case 38:w=c>0?1:(N+="\f",-1);break;case 44:s[u++]=(M(N)-1)*w,w=1;break;case 64:45===F()&&(N+=H(_())),h=F(),c=p=M(C=N+=q(B())),b++;break;case 45:45===f&&2==M(N)&&(m=0)}}return o}function ne(e,t,n,r,a,o,i,s,l,u,c,p){for(var h=a-1,f=0===a?o:[""],m=k(f),v=0,y=0,b=0;v<r;++v)for(var E=0,x=C(e,h+1,h=g(y=i[v])),M=e;E<m;++E)(M=w(y>0?f[E]+" "+x:S(x,/&\f/g,f[E])))&&(l[b++]=M);return T(e,t,n,0===a?d:s,l,u,c,p)}function re(e,t,n,r){return T(e,t,n,h,v(I),C(e,2,-2),0,r)}function ae(e,t,n,r,a){return T(e,t,n,f,C(e,0,r),C(e,r+1,-1),r,a)}var oe={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},ie="undefined"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",se="active",le="data-styled-version",ue="6.1.19",ce="/*!sc*/\n",pe="undefined"!=typeof window&&"undefined"!=typeof document,he=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&""!==process.env.REACT_APP_SC_DISABLE_SPEEDY?"false"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&void 0!==process.env.SC_DISABLE_SPEEDY&&""!==process.env.SC_DISABLE_SPEEDY&&"false"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY),de=(new Set,Object.freeze([])),fe=Object.freeze({});var me=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),ge=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,ve=/(^-|-$)/g;function ye(e){return e.replace(ge,"-").replace(ve,"")}var we=/(a)(d)/gi,be=function(e){return String.fromCharCode(e+(e>25?39:97))};function Se(e){var t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=be(t%52)+n;return(be(t%52)+n).replace(we,"$1-$2")}var Ee,xe=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},Ce=function(e){return xe(5381,e)};function Me(e){return"string"==typeof e&&!0}var ke="function"==typeof Symbol&&Symbol.for,Ae=ke?Symbol.for("react.memo"):60115,Re=ke?Symbol.for("react.forward_ref"):60112,Oe={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},Ne={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},je={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},Pe=((Ee={})[Re]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Ee[Ae]=je,Ee);function Ie(e){return("type"in(t=e)&&t.type.$$typeof)===Ae?je:"$$typeof"in e?Pe[e.$$typeof]:Oe;var t}var De=Object.defineProperty,Te=Object.getOwnPropertyNames,$e=Object.getOwnPropertySymbols,Le=Object.getOwnPropertyDescriptor,ze=Object.getPrototypeOf,_e=Object.prototype;function Fe(e,t,n){if("string"!=typeof t){if(_e){var r=ze(t);r&&r!==_e&&Fe(e,r,n)}var a=Te(t);$e&&(a=a.concat($e(t)));for(var o=Ie(e),i=Ie(t),s=0;s<a.length;++s){var l=a[s];if(!(l in Ne||n&&n[l]||i&&l in i||o&&l in o)){var u=Le(t,l);try{De(e,l,u)}catch(e){}}}}return e}function Be(e){return"function"==typeof e}function Ue(e){return"object"==typeof e&&"styledComponentId"in e}function We(e,t){return e&&t?"".concat(e," ").concat(t):e||t||""}function He(e,t){if(0===e.length)return"";for(var n=e[0],r=1;r<e.length;r++)n+=t?t+e[r]:e[r];return n}function Ye(e){return null!==e&&"object"==typeof e&&e.constructor.name===Object.name&&!("props"in e&&e.$$typeof)}function Ge(e,t,n){if(void 0===n&&(n=!1),!n&&!Ye(e)&&!Array.isArray(e))return t;if(Array.isArray(t))for(var r=0;r<t.length;r++)e[r]=Ge(e[r],t[r]);else if(Ye(t))for(var r in t)e[r]=Ge(e[r],t[r]);return e}function Ve(e,t){Object.defineProperty(e,"toString",{value:t})}function Qe(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return new Error("An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#".concat(e," for more information.").concat(t.length>0?" Args: ".concat(t.join(", ")):""))}var qe=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},e.prototype.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,a=r;e>=a;)if((a<<=1)<0)throw Qe(16,"".concat(e));this.groupSizes=new Uint32Array(a),this.groupSizes.set(n),this.length=a;for(var o=r;o<a;o++)this.groupSizes[o]=0}for(var i=this.indexOfGroup(e+1),s=(o=0,t.length);o<s;o++)this.tag.insertRule(i,t[o])&&(this.groupSizes[e]++,i++)},e.prototype.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var a=n;a<r;a++)this.tag.deleteRule(n)}},e.prototype.getGroup=function(e){var t="";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),a=r+n,o=r;o<a;o++)t+="".concat(this.tag.getRule(o)).concat(ce);return t},e}(),Je=new Map,Ze=new Map,Ke=1,Xe=function(e){if(Je.has(e))return Je.get(e);for(;Ze.has(Ke);)Ke++;var t=Ke++;return Je.set(e,t),Ze.set(t,e),t},et=function(e,t){Ke=t+1,Je.set(e,t),Ze.set(t,e)},tt="style[".concat(ie,"][").concat(le,'="').concat(ue,'"]'),nt=new RegExp("^".concat(ie,'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)')),rt=function(e,t,n){for(var r,a=n.split(","),o=0,i=a.length;o<i;o++)(r=a[o])&&e.registerName(t,r)},at=function(e,t){for(var n,r=(null!==(n=t.textContent)&&void 0!==n?n:"").split(ce),a=[],o=0,i=r.length;o<i;o++){var s=r[o].trim();if(s){var l=s.match(nt);if(l){var u=0|parseInt(l[1],10),c=l[2];0!==u&&(et(c,u),rt(e,c,l[3]),e.getTag().insertRules(u,a)),a.length=0}else a.push(s)}}},ot=function(e){for(var t=document.querySelectorAll(tt),n=0,r=t.length;n<r;n++){var a=t[n];a&&a.getAttribute(ie)!==se&&(at(e,a),a.parentNode&&a.parentNode.removeChild(a))}};function it(){return n.nc}var st=function(e){var t=document.head,n=e||t,r=document.createElement("style"),a=function(e){var t=Array.from(e.querySelectorAll("style[".concat(ie,"]")));return t[t.length-1]}(n),o=void 0!==a?a.nextSibling:null;r.setAttribute(ie,se),r.setAttribute(le,ue);var i=it();return i&&r.setAttribute("nonce",i),n.insertBefore(r,o),r},lt=function(){function e(e){this.element=st(e),this.element.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var a=t[n];if(a.ownerNode===e)return a}throw Qe(17)}(this.element),this.length=0}return e.prototype.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},e.prototype.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},e.prototype.getRule=function(e){var t=this.sheet.cssRules[e];return t&&t.cssText?t.cssText:""},e}(),ut=function(){function e(e){this.element=st(e),this.nodes=this.element.childNodes,this.length=0}return e.prototype.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},e.prototype.getRule=function(e){return e<this.length?this.nodes[e].textContent:""},e}(),ct=function(){function e(e){this.rules=[],this.length=0}return e.prototype.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},e.prototype.deleteRule=function(e){this.rules.splice(e,1),this.length--},e.prototype.getRule=function(e){return e<this.length?this.rules[e]:""},e}(),pt=pe,ht={isServer:!pe,useCSSOMInjection:!he},dt=function(){function e(e,t,n){void 0===e&&(e=fe),void 0===t&&(t={});var a=this;this.options=r(r({},ht),e),this.gs=t,this.names=new Map(n),this.server=!!e.isServer,!this.server&&pe&&pt&&(pt=!1,ot(this)),Ve(this,function(){return function(e){for(var t=e.getTag(),n=t.length,r="",a=function(n){var a=function(e){return Ze.get(e)}(n);if(void 0===a)return"continue";var o=e.names.get(a),i=t.getGroup(n);if(void 0===o||!o.size||0===i.length)return"continue";var s="".concat(ie,".g").concat(n,'[id="').concat(a,'"]'),l="";void 0!==o&&o.forEach(function(e){e.length>0&&(l+="".concat(e,","))}),r+="".concat(i).concat(s,'{content:"').concat(l,'"}').concat(ce)},o=0;o<n;o++)a(o);return r}(a)})}return e.registerId=function(e){return Xe(e)},e.prototype.rehydrate=function(){!this.server&&pe&&ot(this)},e.prototype.reconstructWithOptions=function(t,n){return void 0===n&&(n=!0),new e(r(r({},this.options),t),this.gs,n&&this.names||void 0)},e.prototype.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},e.prototype.getTag=function(){return this.tag||(this.tag=(e=function(e){var t=e.useCSSOMInjection,n=e.target;return e.isServer?new ct(n):t?new lt(n):new ut(n)}(this.options),new qe(e)));var e},e.prototype.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},e.prototype.registerName=function(e,t){if(Xe(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},e.prototype.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(Xe(e),n)},e.prototype.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},e.prototype.clearRules=function(e){this.getTag().clearGroup(Xe(e)),this.clearNames(e)},e.prototype.clearTag=function(){this.tag=void 0},e}(),ft=/&/g,mt=/^\s*\/\/.*$/gm;function gt(e,t){return e.map(function(e){return"rule"===e.type&&(e.value="".concat(t," ").concat(e.value),e.value=e.value.replaceAll(",",",".concat(t," ")),e.props=e.props.map(function(e){return"".concat(t," ").concat(e)})),Array.isArray(e.children)&&"@keyframes"!==e.type&&(e.children=gt(e.children,t)),e})}function vt(e){var t,n,r,a=void 0===e?fe:e,o=a.options,i=void 0===o?fe:o,s=a.plugins,l=void 0===s?de:s,u=function(e,r,a){return a.startsWith(n)&&a.endsWith(n)&&a.replaceAll(n,"").length>0?".".concat(t):e},c=l.slice();c.push(function(e){e.type===d&&e.value.includes("&")&&(e.props[0]=e.props[0].replace(ft,n).replace(r,u))}),i.prefix&&c.push(X),c.push(Z);var p=function(e,a,o,s){void 0===a&&(a=""),void 0===o&&(o=""),void 0===s&&(s="&"),t=s,n=a,r=new RegExp("\\".concat(n,"\\b"),"g");var l=e.replace(mt,""),u=ee(o||a?"".concat(o," ").concat(a," { ").concat(l," }"):l);i.namespace&&(u=gt(u,i.namespace));var p,h,d,f=[];return J(u,(p=c.concat((d=function(e){return f.push(e)},function(e){e.root||(e=e.return)&&d(e)})),h=k(p),function(e,t,n,r){for(var a="",o=0;o<h;o++)a+=p[o](e,t,n,r)||"";return a})),f};return p.hash=l.length?l.reduce(function(e,t){return t.name||Qe(15),xe(e,t.name)},5381).toString():"",p}var yt=new dt,wt=vt(),bt=i().createContext({shouldForwardProp:void 0,styleSheet:yt,stylis:wt}),St=(bt.Consumer,i().createContext(void 0));function Et(){return(0,o.useContext)(bt)}function xt(e){var t=(0,o.useState)(e.stylisPlugins),n=t[0],r=t[1],a=Et().styleSheet,s=(0,o.useMemo)(function(){var t=a;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t},[e.disableCSSOMInjection,e.sheet,e.target,a]),u=(0,o.useMemo)(function(){return vt({options:{namespace:e.namespace,prefix:e.enableVendorPrefixes},plugins:n})},[e.enableVendorPrefixes,e.namespace,n]);(0,o.useEffect)(function(){l()(n,e.stylisPlugins)||r(e.stylisPlugins)},[e.stylisPlugins]);var c=(0,o.useMemo)(function(){return{shouldForwardProp:e.shouldForwardProp,styleSheet:s,stylis:u}},[e.shouldForwardProp,s,u]);return i().createElement(bt.Provider,{value:c},i().createElement(St.Provider,{value:u},e.children))}var Ct=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=wt);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,"@keyframes"))},this.name=e,this.id="sc-keyframes-".concat(e),this.rules=t,Ve(this,function(){throw Qe(12,String(n.name))})}return e.prototype.getName=function(e){return void 0===e&&(e=wt),this.name+e.hash},e}(),Mt=function(e){return e>="A"&&e<="Z"};function kt(e){for(var t="",n=0;n<e.length;n++){var r=e[n];if(1===n&&"-"===r&&"-"===e[0])return e;Mt(r)?t+="-"+r.toLowerCase():t+=r}return t.startsWith("ms-")?"-"+t:t}var At=function(e){return null==e||!1===e||""===e},Rt=function(e){var t,n,r=[];for(var o in e){var i=e[o];e.hasOwnProperty(o)&&!At(i)&&(Array.isArray(i)&&i.isCss||Be(i)?r.push("".concat(kt(o),":"),i,";"):Ye(i)?r.push.apply(r,a(a(["".concat(o," {")],Rt(i),!1),["}"],!1)):r.push("".concat(kt(o),": ").concat((t=o,null==(n=i)||"boolean"==typeof n||""===n?"":"number"!=typeof n||0===n||t in oe||t.startsWith("--")?String(n).trim():"".concat(n,"px")),";")))}return r};function Ot(e,t,n,r){return At(e)?[]:Ue(e)?[".".concat(e.styledComponentId)]:Be(e)?!Be(a=e)||a.prototype&&a.prototype.isReactComponent||!t?[e]:Ot(e(t),t,n,r):e instanceof Ct?n?(e.inject(n,r),[e.getName(r)]):[e]:Ye(e)?Rt(e):Array.isArray(e)?Array.prototype.concat.apply(de,e.map(function(e){return Ot(e,t,n,r)})):[e.toString()];var a}function Nt(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(Be(n)&&!Ue(n))return!1}return!0}var jt=Ce(ue),Pt=function(){function e(e,t,n){this.rules=e,this.staticRulesId="",this.isStatic=(void 0===n||n.isStatic)&&Nt(e),this.componentId=t,this.baseHash=xe(jt,t),this.baseStyle=n,dt.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.baseStyle?this.baseStyle.generateAndInjectStyles(e,t,n):"";if(this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(this.componentId,this.staticRulesId))r=We(r,this.staticRulesId);else{var a=He(Ot(this.rules,e,t,n)),o=Se(xe(this.baseHash,a)>>>0);if(!t.hasNameForId(this.componentId,o)){var i=n(a,".".concat(o),void 0,this.componentId);t.insertRules(this.componentId,o,i)}r=We(r,o),this.staticRulesId=o}else{for(var s=xe(this.baseHash,n.hash),l="",u=0;u<this.rules.length;u++){var c=this.rules[u];if("string"==typeof c)l+=c;else if(c){var p=He(Ot(c,e,t,n));s=xe(s,p+u),l+=p}}if(l){var h=Se(s>>>0);t.hasNameForId(this.componentId,h)||t.insertRules(this.componentId,h,n(l,".".concat(h),void 0,this.componentId)),r=We(r,h)}}return r},e}(),It=i().createContext(void 0);function Dt(e){var t=i().useContext(It),n=(0,o.useMemo)(function(){return function(e,t){if(!e)throw Qe(14);if(Be(e))return e(t);if(Array.isArray(e)||"object"!=typeof e)throw Qe(8);return t?r(r({},t),e):e}(e.theme,t)},[e.theme,t]);return e.children?i().createElement(It.Provider,{value:n},e.children):null}It.Consumer;var Tt={};function $t(e,t,n){var a=Ue(e),s=e,l=!Me(e),u=t.attrs,c=void 0===u?de:u,p=t.componentId,h=void 0===p?function(e,t){var n="string"!=typeof e?"sc":ye(e);Tt[n]=(Tt[n]||0)+1;var r="".concat(n,"-").concat(function(e){return Se(Ce(e)>>>0)}(ue+n+Tt[n]));return t?"".concat(t,"-").concat(r):r}(t.displayName,t.parentComponentId):p,d=t.displayName,f=void 0===d?function(e){return Me(e)?"styled.".concat(e):"Styled(".concat(function(e){return e.displayName||e.name||"Component"}(e),")")}(e):d,m=t.displayName&&t.componentId?"".concat(ye(t.displayName),"-").concat(t.componentId):t.componentId||h,g=a&&s.attrs?s.attrs.concat(c).filter(Boolean):c,v=t.shouldForwardProp;if(a&&s.shouldForwardProp){var y=s.shouldForwardProp;if(t.shouldForwardProp){var w=t.shouldForwardProp;v=function(e,t){return y(e,t)&&w(e,t)}}else v=y}var b=new Pt(n,m,a?s.componentStyle:void 0);function S(e,t){return function(e,t,n){var a=e.attrs,s=e.componentStyle,l=e.defaultProps,u=e.foldedComponentIds,c=e.styledComponentId,p=e.target,h=i().useContext(It),d=Et(),f=e.shouldForwardProp||d.shouldForwardProp,m=function(e,t,n){return void 0===n&&(n=fe),e.theme!==n.theme&&e.theme||t||n.theme}(t,h,l)||fe,g=function(e,t,n){for(var a,o=r(r({},t),{className:void 0,theme:n}),i=0;i<e.length;i+=1){var s=Be(a=e[i])?a(o):a;for(var l in s)o[l]="className"===l?We(o[l],s[l]):"style"===l?r(r({},o[l]),s[l]):s[l]}return t.className&&(o.className=We(o.className,t.className)),o}(a,t,m),v=g.as||p,y={};for(var w in g)void 0===g[w]||"$"===w[0]||"as"===w||"theme"===w&&g.theme===m||("forwardedAs"===w?y.as=g.forwardedAs:f&&!f(w,v)||(y[w]=g[w]));var b=function(e,t){var n=Et();return e.generateAndInjectStyles(t,n.styleSheet,n.stylis)}(s,g),S=We(u,c);return b&&(S+=" "+b),g.className&&(S+=" "+g.className),y[Me(v)&&!me.has(v)?"class":"className"]=S,n&&(y.ref=n),(0,o.createElement)(v,y)}(E,e,t)}S.displayName=f;var E=i().forwardRef(S);return E.attrs=g,E.componentStyle=b,E.displayName=f,E.shouldForwardProp=v,E.foldedComponentIds=a?We(s.foldedComponentIds,s.styledComponentId):"",E.styledComponentId=m,E.target=a?s.target:e,Object.defineProperty(E,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=a?function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=0,a=t;r<a.length;r++)Ge(e,a[r],!0);return e}({},s.defaultProps,e):e}}),Ve(E,function(){return".".concat(E.styledComponentId)}),l&&Fe(E,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),E}function Lt(e,t){for(var n=[e[0]],r=0,a=t.length;r<a;r+=1)n.push(t[r],e[r+1]);return n}new Set;var zt=function(e){return Object.assign(e,{isCss:!0})};function _t(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(Be(e)||Ye(e))return zt(Ot(Lt(de,a([e],t,!0))));var r=e;return 0===t.length&&1===r.length&&"string"==typeof r[0]?Ot(r):zt(Ot(Lt(r,t)))}function Ft(e,t,n){if(void 0===n&&(n=fe),!t)throw Qe(1,t);var o=function(r){for(var o=[],i=1;i<arguments.length;i++)o[i-1]=arguments[i];return e(t,n,_t.apply(void 0,a([r],o,!1)))};return o.attrs=function(a){return Ft(e,t,r(r({},n),{attrs:Array.prototype.concat(n.attrs,a).filter(Boolean)}))},o.withConfig=function(a){return Ft(e,t,r(r({},n),a))},o}var Bt=function(e){return Ft($t,e)},Ut=Bt;me.forEach(function(e){Ut[e]=Bt(e)}),function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=Nt(e),dt.registerId(this.componentId+1)}e.prototype.createStyles=function(e,t,n,r){var a=r(He(Ot(this.rules,t,n,r)),""),o=this.componentId+e;n.insertRules(o,o,a)},e.prototype.removeStyles=function(e,t){t.clearRules(this.componentId+e)},e.prototype.renderStyles=function(e,t,n,r){e>2&&dt.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)}}(),function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return"";var n=it(),r=He([n&&'nonce="'.concat(n,'"'),"".concat(ie,'="true"'),"".concat(le,'="').concat(ue,'"')].filter(Boolean)," ");return"<style ".concat(r,">").concat(t,"</style>")},this.getStyleTags=function(){if(e.sealed)throw Qe(2);return e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)throw Qe(2);var n=e.instance.toString();if(!n)return[];var a=((t={})[ie]="",t[le]=ue,t.dangerouslySetInnerHTML={__html:n},t),o=it();return o&&(a.nonce=o),[i().createElement("style",r({},a,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new dt({isServer:!0}),this.sealed=!1}e.prototype.collectStyles=function(e){if(this.sealed)throw Qe(2);return i().createElement(xt,{sheet:this.instance},e)},e.prototype.interleaveWithNodeStream=function(e){throw Qe(3)}}(),"__sc-".concat(ie,"__")},609:e=>{"use strict";e.exports=window.React},788:(e,t,n)=>{"use strict";n.d(t,{BV:()=>le,I9:()=>Ne,N_:()=>Pe,k2:()=>Ie,qh:()=>ie});var r=n(609),a=(n(232),"popstate");function o(e={}){return function(e,t,n,r={}){let{window:o=document.defaultView,v5Compat:s=!1}=r,p=o.history,h="POP",d=null,f=m();function m(){return(p.state||{idx:null}).idx}function g(){h="POP";let e=m(),t=null==e?null:e-f;f=e,d&&d({action:h,location:y.location,delta:t})}function v(e){return function(e,t=!1){let n="http://localhost";"undefined"!=typeof window&&(n="null"!==window.location.origin?window.location.origin:window.location.href),i(n,"No window.location.(origin|href) available to create URL");let r="string"==typeof e?e:c(e);return r=r.replace(/ $/,"%20"),!t&&r.startsWith("//")&&(r=n+r),new URL(r,n)}(e)}null==f&&(f=0,p.replaceState({...p.state,idx:f},""));let y={get action(){return h},get location(){return e(o,p)},listen(e){if(d)throw new Error("A history only accepts one active listener");return o.addEventListener(a,g),d=e,()=>{o.removeEventListener(a,g),d=null}},createHref:e=>t(o,e),createURL:v,encodeLocation(e){let t=v(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){h="PUSH";let r=u(y.location,e,t);n&&n(r,e),f=m()+1;let a=l(r,f),i=y.createHref(r);try{p.pushState(a,"",i)}catch(e){if(e instanceof DOMException&&"DataCloneError"===e.name)throw e;o.location.assign(i)}s&&d&&d({action:h,location:y.location,delta:1})},replace:function(e,t){h="REPLACE";let r=u(y.location,e,t);n&&n(r,e),f=m();let a=l(r,f),o=y.createHref(r);p.replaceState(a,"",o),s&&d&&d({action:h,location:y.location,delta:0})},go:e=>p.go(e)};return y}(function(e,t){let{pathname:n="/",search:r="",hash:a=""}=p(e.location.hash.substring(1));return n.startsWith("/")||n.startsWith(".")||(n="/"+n),u("",{pathname:n,search:r,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")},function(e,t){let n=e.document.querySelector("base"),r="";if(n&&n.getAttribute("href")){let t=e.location.href,n=t.indexOf("#");r=-1===n?t:t.slice(0,n)}return r+"#"+("string"==typeof t?t:c(t))},function(e,t){s("/"===e.pathname.charAt(0),`relative pathnames are not supported in hash history.push(${JSON.stringify(t)})`)},e)}function i(e,t){if(!1===e||null==e)throw new Error(t)}function s(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw new Error(t)}catch(e){}}}function l(e,t){return{usr:e.state,key:e.key,idx:t}}function u(e,t,n=null,r){return{pathname:"string"==typeof e?e:e.pathname,search:"",hash:"",..."string"==typeof t?p(t):t,state:n,key:t&&t.key||r||Math.random().toString(36).substring(2,10)}}function c({pathname:e="/",search:t="",hash:n=""}){return t&&"?"!==t&&(e+="?"===t.charAt(0)?t:"?"+t),n&&"#"!==n&&(e+="#"===n.charAt(0)?n:"#"+n),e}function p(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function h(e,t,n="/"){return function(e,t,n,r){let a=k(("string"==typeof t?p(t):t).pathname||"/",n);if(null==a)return null;let o=d(e);!function(e){e.sort((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)))}(o);let i=null;for(let e=0;null==i&&e<o.length;++e){let t=M(a);i=x(o[e],t,r)}return i}(e,t,n,!1)}function d(e,t=[],n=[],r=""){let a=(e,a,o)=>{let s={relativePath:void 0===o?e.path||"":o,caseSensitive:!0===e.caseSensitive,childrenIndex:a,route:e};s.relativePath.startsWith("/")&&(i(s.relativePath.startsWith(r),`Absolute route path "${s.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),s.relativePath=s.relativePath.slice(r.length));let l=N([r,s.relativePath]),u=n.concat(s);e.children&&e.children.length>0&&(i(!0!==e.index,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),d(e.children,t,u,l)),(null!=e.path||e.index)&&t.push({path:l,score:E(l,e.index),routesMeta:u})};return e.forEach((e,t)=>{if(""!==e.path&&e.path?.includes("?"))for(let n of f(e.path))a(e,t,n);else a(e,t)}),t}function f(e){let t=e.split("/");if(0===t.length)return[];let[n,...r]=t,a=n.endsWith("?"),o=n.replace(/\?$/,"");if(0===r.length)return a?[o,""]:[o];let i=f(r.join("/")),s=[];return s.push(...i.map(e=>""===e?o:[o,e].join("/"))),a&&s.push(...i),s.map(t=>e.startsWith("/")&&""===t?"/":t)}new WeakMap;var m=/^:[\w-]+$/,g=3,v=2,y=1,w=10,b=-2,S=e=>"*"===e;function E(e,t){let n=e.split("/"),r=n.length;return n.some(S)&&(r+=b),t&&(r+=v),n.filter(e=>!S(e)).reduce((e,t)=>e+(m.test(t)?g:""===t?y:w),r)}function x(e,t,n=!1){let{routesMeta:r}=e,a={},o="/",i=[];for(let e=0;e<r.length;++e){let s=r[e],l=e===r.length-1,u="/"===o?t:t.slice(o.length)||"/",c=C({path:s.relativePath,caseSensitive:s.caseSensitive,end:l},u),p=s.route;if(!c&&l&&n&&!r[r.length-1].route.index&&(c=C({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},u)),!c)return null;Object.assign(a,c.params),i.push({params:a,pathname:N([o,c.pathname]),pathnameBase:j(N([o,c.pathnameBase])),route:p}),"/"!==c.pathnameBase&&(o=N([o,c.pathnameBase]))}return i}function C(e,t){"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=function(e,t=!1,n=!0){s("*"===e||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let r=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(e,t,n)=>(r.push({paramName:t,isOptional:null!=n}),n?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),a+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":""!==e&&"/"!==e&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),r]}(e.path,e.caseSensitive,e.end),a=t.match(n);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),l=a.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:n},r)=>{if("*"===t){let e=l[r]||"";i=o.slice(0,o.length-e.length).replace(/(.)\/+$/,"$1")}const a=l[r];return e[t]=n&&!a?void 0:(a||"").replace(/%2F/g,"/"),e},{}),pathname:o,pathnameBase:i,pattern:e}}function M(e){try{return e.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(t){return s(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function k(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&"/"!==r?null:e.slice(n)||"/"}function A(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}].  Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function R(e){let t=function(e){return e.filter((e,t)=>0===t||e.route.path&&e.route.path.length>0)}(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function O(e,t,n,r=!1){let a;"string"==typeof e?a=p(e):(a={...e},i(!a.pathname||!a.pathname.includes("?"),A("?","pathname","search",a)),i(!a.pathname||!a.pathname.includes("#"),A("#","pathname","hash",a)),i(!a.search||!a.search.includes("#"),A("#","search","hash",a)));let o,s=""===e||""===a.pathname,l=s?"/":a.pathname;if(null==l)o=n;else{let e=t.length-1;if(!r&&l.startsWith("..")){let t=l.split("/");for(;".."===t[0];)t.shift(),e-=1;a.pathname=t.join("/")}o=e>=0?t[e]:"/"}let u=function(e,t="/"){let{pathname:n,search:r="",hash:a=""}="string"==typeof e?p(e):e,o=n?n.startsWith("/")?n:function(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(e=>{".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)}),n.length>1?n.join("/"):"/"}(n,t):t;return{pathname:o,search:P(r),hash:I(a)}}(a,o),c=l&&"/"!==l&&l.endsWith("/"),h=(s||"."===l)&&n.endsWith("/");return u.pathname.endsWith("/")||!c&&!h||(u.pathname+="/"),u}var N=e=>e.join("/").replace(/\/\/+/g,"/"),j=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),P=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",I=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"";function D(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}var T=["POST","PUT","PATCH","DELETE"],$=(new Set(T),["GET",...T]);new Set($),Symbol("ResetLoaderData");var L=r.createContext(null);L.displayName="DataRouter";var z=r.createContext(null);z.displayName="DataRouterState";var _=r.createContext({isTransitioning:!1});_.displayName="ViewTransition",r.createContext(new Map).displayName="Fetchers",r.createContext(null).displayName="Await";var F=r.createContext(null);F.displayName="Navigation";var B=r.createContext(null);B.displayName="Location";var U=r.createContext({outlet:null,matches:[],isDataRoute:!1});U.displayName="Route";var W=r.createContext(null);W.displayName="RouteError";var H=!0;function Y(){return null!=r.useContext(B)}function G(){return i(Y(),"useLocation() may be used only in the context of a <Router> component."),r.useContext(B).location}var V="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Q(e){r.useContext(F).static||r.useLayoutEffect(e)}function q(){let{isDataRoute:e}=r.useContext(U);return e?function(){let{router:e}=function(e){let t=r.useContext(L);return i(t,ne(e)),t}("useNavigate"),t=re("useNavigate"),n=r.useRef(!1);return Q(()=>{n.current=!0}),r.useCallback(async(r,a={})=>{s(n.current,V),n.current&&("number"==typeof r?e.navigate(r):await e.navigate(r,{fromRouteId:t,...a}))},[e,t])}():function(){i(Y(),"useNavigate() may be used only in the context of a <Router> component.");let e=r.useContext(L),{basename:t,navigator:n}=r.useContext(F),{matches:a}=r.useContext(U),{pathname:o}=G(),l=JSON.stringify(R(a)),u=r.useRef(!1);return Q(()=>{u.current=!0}),r.useCallback((r,a={})=>{if(s(u.current,V),!u.current)return;if("number"==typeof r)return void n.go(r);let i=O(r,JSON.parse(l),o,"path"===a.relative);null==e&&"/"!==t&&(i.pathname="/"===i.pathname?t:N([t,i.pathname])),(a.replace?n.replace:n.push)(i,a.state,a)},[t,n,l,o,e])}()}function J(e,{relative:t}={}){let{matches:n}=r.useContext(U),{pathname:a}=G(),o=JSON.stringify(R(n));return r.useMemo(()=>O(e,JSON.parse(o),a,"path"===t),[e,o,a,t])}function Z(e,t,n,a){i(Y(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:o}=r.useContext(F),{matches:l}=r.useContext(U),u=l[l.length-1],c=u?u.params:{},d=u?u.pathname:"/",f=u?u.pathnameBase:"/",m=u&&u.route;if(H){let e=m&&m.path||"";oe(d,!m||e.endsWith("*")||e.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${d}" (under <Route path="${e}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.\n\nPlease change the parent <Route path="${e}"> to <Route path="${"/"===e?"*":`${e}/*`}">.`)}let g,v=G();if(t){let e="string"==typeof t?p(t):t;i("/"===f||e.pathname?.startsWith(f),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${f}" but pathname "${e.pathname}" was given in the \`location\` prop.`),g=e}else g=v;let y=g.pathname||"/",w=y;if("/"!==f){let e=f.replace(/^\//,"").split("/");w="/"+y.replace(/^\//,"").split("/").slice(e.length).join("/")}let b=h(e,{pathname:w});H&&(s(m||null!=b,`No routes matched location "${g.pathname}${g.search}${g.hash}" `),s(null==b||void 0!==b[b.length-1].route.element||void 0!==b[b.length-1].route.Component||void 0!==b[b.length-1].route.lazy,`Matched leaf route at location "${g.pathname}${g.search}${g.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`));let S=function(e,t=[],n=null){if(null==e){if(!n)return null;if(n.errors)e=n.matches;else{if(0!==t.length||n.initialized||!(n.matches.length>0))return null;e=n.matches}}let a=e,o=n?.errors;if(null!=o){let e=a.findIndex(e=>e.route.id&&void 0!==o?.[e.route.id]);i(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),a=a.slice(0,Math.min(a.length,e+1))}let s=!1,l=-1;if(n)for(let e=0;e<a.length;e++){let t=a[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(l=e),t.route.id){let{loaderData:e,errors:r}=n,o=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!r||void 0===r[t.route.id]);if(t.route.lazy||o){s=!0,a=l>=0?a.slice(0,l+1):[a[0]];break}}}return a.reduceRight((e,i,u)=>{let c,p=!1,h=null,d=null;n&&(c=o&&i.route.id?o[i.route.id]:void 0,h=i.route.errorElement||X,s&&(l<0&&0===u?(oe("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),p=!0,d=null):l===u&&(p=!0,d=i.route.hydrateFallbackElement||null)));let f=t.concat(a.slice(0,u+1)),m=()=>{let t;return t=c?h:p?d:i.route.Component?r.createElement(i.route.Component,null):i.route.element?i.route.element:e,r.createElement(te,{match:i,routeContext:{outlet:e,matches:f,isDataRoute:null!=n},children:t})};return n&&(i.route.ErrorBoundary||i.route.errorElement||0===u)?r.createElement(ee,{location:n.location,revalidation:n.revalidation,component:h,error:c,children:m(),routeContext:{outlet:null,matches:f,isDataRoute:!0}}):m()},null)}(b&&b.map(e=>Object.assign({},e,{params:Object.assign({},c,e.params),pathname:N([f,o.encodeLocation?o.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?f:N([f,o.encodeLocation?o.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})),l,n,a);return t&&S?r.createElement(B.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...g},navigationType:"POP"}},S):S}function K(){let e=function(){let e=r.useContext(W),t=function(e){let t=r.useContext(z);return i(t,ne(e)),t}("useRouteError"),n=re("useRouteError");return void 0!==e?e:t.errors?.[n]}(),t=D(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,a="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:a},s={padding:"2px 4px",backgroundColor:a},l=null;return H&&(console.error("Error handled by React Router default ErrorBoundary:",e),l=r.createElement(r.Fragment,null,r.createElement("p",null,"💿 Hey developer 👋"),r.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",r.createElement("code",{style:s},"ErrorBoundary")," or"," ",r.createElement("code",{style:s},"errorElement")," prop on your route."))),r.createElement(r.Fragment,null,r.createElement("h2",null,"Unexpected Application Error!"),r.createElement("h3",{style:{fontStyle:"italic"}},t),n?r.createElement("pre",{style:o},n):null,l)}r.createContext(null);var X=r.createElement(K,null),ee=class extends r.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?r.createElement(U.Provider,{value:this.props.routeContext},r.createElement(W.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function te({routeContext:e,match:t,children:n}){let a=r.useContext(L);return a&&a.static&&a.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=t.route.id),r.createElement(U.Provider,{value:e},n)}function ne(e){return`${e} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function re(e){let t=function(e){let t=r.useContext(U);return i(t,ne(e)),t}(e),n=t.matches[t.matches.length-1];return i(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}var ae={};function oe(e,t,n){t||ae[e]||(ae[e]=!0,s(!1,n))}function ie(e){i(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function se({basename:e="/",children:t=null,location:n,navigationType:a="POP",navigator:o,static:l=!1}){i(!Y(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let u=e.replace(/^\/*/,"/"),c=r.useMemo(()=>({basename:u,navigator:o,static:l,future:{}}),[u,o,l]);"string"==typeof n&&(n=p(n));let{pathname:h="/",search:d="",hash:f="",state:m=null,key:g="default"}=n,v=r.useMemo(()=>{let e=k(h,u);return null==e?null:{location:{pathname:e,search:d,hash:f,state:m,key:g},navigationType:a}},[u,h,d,f,m,g,a]);return s(null!=v,`<Router basename="${u}"> is not able to match the URL "${h}${d}${f}" because it does not start with the basename, so the <Router> won't render anything.`),null==v?null:r.createElement(F.Provider,{value:c},r.createElement(B.Provider,{children:t,value:v}))}function le({children:e,location:t}){return Z(ue(e),t)}function ue(e,t=[]){let n=[];return r.Children.forEach(e,(e,a)=>{if(!r.isValidElement(e))return;let o=[...t,a];if(e.type===r.Fragment)return void n.push.apply(n,ue(e.props.children,o));i(e.type===ie,`[${"string"==typeof e.type?e.type:e.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),i(!e.props.index||!e.props.children,"An index route cannot have child routes.");let s={id:e.props.id||o.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,hydrateFallbackElement:e.props.hydrateFallbackElement,HydrateFallback:e.props.HydrateFallback,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:!0===e.props.hasErrorBoundary||null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(s.children=ue(e.props.children,o)),n.push(s)}),n}r.memo(function({routes:e,future:t,state:n}){return Z(e,void 0,n,t)}),r.Component;var ce="get",pe="application/x-www-form-urlencoded";function he(e){return null!=e&&"string"==typeof e.tagName}var de=null,fe=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function me(e){return null==e||fe.has(e)?e:(s(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${pe}"`),null)}function ge(e,t){if(!1===e||null==e)throw new Error(t)}function ve(e){return null!=e&&(null==e.href?"preload"===e.rel&&"string"==typeof e.imageSrcSet&&"string"==typeof e.imageSizes:"string"==typeof e.rel&&"string"==typeof e.href)}function ye(e,t,n,r,a,o){let i=(e,t)=>!n[t]||e.route.id!==n[t].route.id,s=(e,t)=>n[t].pathname!==e.pathname||n[t].route.path?.endsWith("*")&&n[t].params["*"]!==e.params["*"];return"assets"===o?t.filter((e,t)=>i(e,t)||s(e,t)):"data"===o?t.filter((t,o)=>{let l=r.routes[t.route.id];if(!l||!l.hasLoader)return!1;if(i(t,o)||s(t,o))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if("boolean"==typeof r)return r}return!0}):[]}function we(e,t,{includeHydrateFallback:n}={}){return r=e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let a=[r.module];return r.clientActionModule&&(a=a.concat(r.clientActionModule)),r.clientLoaderModule&&(a=a.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(a=a.concat(r.hydrateFallbackModule)),r.imports&&(a=a.concat(r.imports)),a}).flat(1),[...new Set(r)];var r}Object.getOwnPropertyNames(Object.prototype).sort().join("\0"),"undefined"!=typeof window?window:"undefined"!=typeof globalThis&&globalThis,Symbol("SingleFetchRedirect");function be(){let e=r.useContext(L);return ge(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Se(){let e=r.useContext(z);return ge(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}r.Component;var Ee=r.createContext(void 0);function xe(){let e=r.useContext(Ee);return ge(e,"You must render this element inside a <HydratedRouter> element"),e}function Ce(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function Me({page:e,...t}){let{router:n}=be(),a=r.useMemo(()=>h(n.routes,e,n.basename),[n.routes,e,n.basename]);return a?r.createElement(Ae,{page:e,matches:a,...t}):null}function ke(e){let{manifest:t,routeModules:n}=xe(),[a,o]=r.useState([]);return r.useEffect(()=>{let r=!1;return async function(e,t,n){return function(e,t){let n=new Set,r=new Set(t);return e.reduce((e,a)=>{if(t&&(null==(o=a)||"string"!=typeof o.page)&&"script"===a.as&&a.href&&r.has(a.href))return e;var o;let i=JSON.stringify(function(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}(a));return n.has(i)||(n.add(i),e.push({key:i,link:a})),e},[])}((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await async function(e,t){if(e.id in t)return t[e.id];try{let n=await import(e.module);return t[e.id]=n,n}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(ve).filter(e=>"stylesheet"===e.rel||"preload"===e.rel).map(e=>"stylesheet"===e.rel?{...e,rel:"prefetch",as:"style"}:{...e,rel:"prefetch"}))}(e,t,n).then(e=>{r||o(e)}),()=>{r=!0}},[e,t,n]),a}function Ae({page:e,matches:t,...n}){let a=G(),{manifest:o,routeModules:i}=xe(),{basename:s}=be(),{loaderData:l,matches:u}=Se(),c=r.useMemo(()=>ye(e,t,u,o,a,"data"),[e,t,u,o,a]),p=r.useMemo(()=>ye(e,t,u,o,a,"assets"),[e,t,u,o,a]),h=r.useMemo(()=>{if(e===a.pathname+a.search+a.hash)return[];let n=new Set,r=!1;if(t.forEach(e=>{let t=o.routes[e.route.id];t&&t.hasLoader&&(!c.some(t=>t.route.id===e.route.id)&&e.route.id in l&&i[e.route.id]?.shouldRevalidate||t.hasClientLoader?r=!0:n.add(e.route.id))}),0===n.size)return[];let u=function(e,t){let n="string"==typeof e?new URL(e,"undefined"==typeof window?"server://singlefetch/":window.location.origin):e;return"/"===n.pathname?n.pathname="_root.data":t&&"/"===k(n.pathname,t)?n.pathname=`${t.replace(/\/$/,"")}/_root.data`:n.pathname=`${n.pathname.replace(/\/$/,"")}.data`,n}(e,s);return r&&n.size>0&&u.searchParams.set("_routes",t.filter(e=>n.has(e.route.id)).map(e=>e.route.id).join(",")),[u.pathname+u.search]},[s,l,a,o,c,t,e,i]),d=r.useMemo(()=>we(p,o),[p,o]),f=ke(p);return r.createElement(r.Fragment,null,h.map(e=>r.createElement("link",{key:e,rel:"prefetch",as:"fetch",href:e,...n})),d.map(e=>r.createElement("link",{key:e,rel:"modulepreload",href:e,...n})),f.map(({key:e,link:t})=>r.createElement("link",{key:e,...t})))}Ee.displayName="FrameworkContext";function Re(...e){return t=>{e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}}var Oe="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;try{Oe&&(window.__reactRouterVersion="7.6.3")}catch(e){}function Ne({basename:e,children:t,window:n}){let a=r.useRef();null==a.current&&(a.current=o({window:n,v5Compat:!0}));let i=a.current,[s,l]=r.useState({action:i.action,location:i.location}),u=r.useCallback(e=>{r.startTransition(()=>l(e))},[l]);return r.useLayoutEffect(()=>i.listen(u),[i,u]),r.createElement(se,{basename:e,children:t,location:s.location,navigationType:s.action,navigator:i})}var je=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Pe=r.forwardRef(function({onClick:e,discover:t="render",prefetch:n="none",relative:a,reloadDocument:o,replace:l,state:u,target:p,to:h,preventScrollReset:d,viewTransition:f,...m},g){let v,{basename:y}=r.useContext(F),w="string"==typeof h&&je.test(h),b=!1;if("string"==typeof h&&w&&(v=h,Oe))try{let e=new URL(window.location.href),t=h.startsWith("//")?new URL(e.protocol+h):new URL(h),n=k(t.pathname,y);t.origin===e.origin&&null!=n?h=n+t.search+t.hash:b=!0}catch(e){s(!1,`<Link to="${h}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let S=function(e,{relative:t}={}){i(Y(),"useHref() may be used only in the context of a <Router> component.");let{basename:n,navigator:a}=r.useContext(F),{hash:o,pathname:s,search:l}=J(e,{relative:t}),u=s;return"/"!==n&&(u="/"===s?n:N([n,s])),a.createHref({pathname:u,search:l,hash:o})}(h,{relative:a}),[E,x,C]=function(e,t){let n=r.useContext(Ee),[a,o]=r.useState(!1),[i,s]=r.useState(!1),{onFocus:l,onBlur:u,onMouseEnter:c,onMouseLeave:p,onTouchStart:h}=t,d=r.useRef(null);r.useEffect(()=>{if("render"===e&&s(!0),"viewport"===e){let e=new IntersectionObserver(e=>{e.forEach(e=>{s(e.isIntersecting)})},{threshold:.5});return d.current&&e.observe(d.current),()=>{e.disconnect()}}},[e]),r.useEffect(()=>{if(a){let e=setTimeout(()=>{s(!0)},100);return()=>{clearTimeout(e)}}},[a]);let f=()=>{o(!0)},m=()=>{o(!1),s(!1)};return n?"intent"!==e?[i,d,{}]:[i,d,{onFocus:Ce(l,f),onBlur:Ce(u,m),onMouseEnter:Ce(c,f),onMouseLeave:Ce(p,m),onTouchStart:Ce(h,f)}]:[!1,d,{}]}(n,m),M=function(e,{target:t,replace:n,state:a,preventScrollReset:o,relative:i,viewTransition:s}={}){let l=q(),u=G(),p=J(e,{relative:i});return r.useCallback(r=>{if(function(e,t){return!(0!==e.button||t&&"_self"!==t||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e))}(r,t)){r.preventDefault();let t=void 0!==n?n:c(u)===c(p);l(e,{replace:t,state:a,preventScrollReset:o,relative:i,viewTransition:s})}},[u,l,p,n,a,t,e,o,i,s])}(h,{replace:l,state:u,target:p,preventScrollReset:d,relative:a,viewTransition:f}),A=r.createElement("a",{...m,...C,href:v||S,onClick:b||o?e:function(t){e&&e(t),t.defaultPrevented||M(t)},ref:Re(g,x),target:p,"data-discover":w||"render"!==t?void 0:"true"});return E&&!w?r.createElement(r.Fragment,null,A,r.createElement(Me,{page:S})):A});Pe.displayName="Link";var Ie=r.forwardRef(function({"aria-current":e="page",caseSensitive:t=!1,className:n="",end:a=!1,style:o,to:s,viewTransition:l,children:u,...c},p){let h=J(s,{relative:c.relative}),d=G(),f=r.useContext(z),{navigator:m,basename:g}=r.useContext(F),v=null!=f&&function(e,t={}){let n=r.useContext(_);i(null!=n,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`.  Did you accidentally import `RouterProvider` from `react-router`?");let{basename:a}=De("useViewTransitionState"),o=J(e,{relative:t.relative});if(!n.isTransitioning)return!1;let s=k(n.currentLocation.pathname,a)||n.currentLocation.pathname,l=k(n.nextLocation.pathname,a)||n.nextLocation.pathname;return null!=C(o.pathname,l)||null!=C(o.pathname,s)}(h)&&!0===l,y=m.encodeLocation?m.encodeLocation(h).pathname:h.pathname,w=d.pathname,b=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;t||(w=w.toLowerCase(),b=b?b.toLowerCase():null,y=y.toLowerCase()),b&&g&&(b=k(b,g)||b);const S="/"!==y&&y.endsWith("/")?y.length-1:y.length;let E,x=w===y||!a&&w.startsWith(y)&&"/"===w.charAt(S),M=null!=b&&(b===y||!a&&b.startsWith(y)&&"/"===b.charAt(y.length)),A={isActive:x,isPending:M,isTransitioning:v},R=x?e:void 0;E="function"==typeof n?n(A):[n,x?"active":null,M?"pending":null,v?"transitioning":null].filter(Boolean).join(" ");let O="function"==typeof o?o(A):o;return r.createElement(Pe,{...c,"aria-current":R,className:E,ref:p,style:O,to:s,viewTransition:l},"function"==typeof u?u(A):u)});function De(e){let t=r.useContext(L);return i(t,function(e){return`${e} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}(e)),t}Ie.displayName="NavLink",r.forwardRef(({discover:e="render",fetcherKey:t,navigate:n,reloadDocument:a,replace:o,state:s,method:l=ce,action:u,onSubmit:p,relative:h,preventScrollReset:d,viewTransition:f,...m},g)=>{let v=function(){let{router:e}=De("useSubmit"),{basename:t}=r.useContext(F),n=re("useRouteId");return r.useCallback(async(r,a={})=>{let{action:o,method:i,encType:s,formData:l,body:u}=function(e,t){let n,r,a,o,i;if(he(s=e)&&"form"===s.tagName.toLowerCase()){let i=e.getAttribute("action");r=i?k(i,t):null,n=e.getAttribute("method")||ce,a=me(e.getAttribute("enctype"))||pe,o=new FormData(e)}else if(function(e){return he(e)&&"button"===e.tagName.toLowerCase()}(e)||function(e){return he(e)&&"input"===e.tagName.toLowerCase()}(e)&&("submit"===e.type||"image"===e.type)){let i=e.form;if(null==i)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let s=e.getAttribute("formaction")||i.getAttribute("action");if(r=s?k(s,t):null,n=e.getAttribute("formmethod")||i.getAttribute("method")||ce,a=me(e.getAttribute("formenctype"))||me(i.getAttribute("enctype"))||pe,o=new FormData(i,e),!function(){if(null===de)try{new FormData(document.createElement("form"),0),de=!1}catch(e){de=!0}return de}()){let{name:t,type:n,value:r}=e;if("image"===n){let e=t?`${t}.`:"";o.append(`${e}x`,"0"),o.append(`${e}y`,"0")}else t&&o.append(t,r)}}else{if(he(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');n=ce,r=null,a=pe,i=e}var s;return o&&"text/plain"===a&&(i=o,o=void 0),{action:r,method:n.toLowerCase(),encType:a,formData:o,body:i}}(r,t);if(!1===a.navigate){let t=a.fetcherKey||$e();await e.fetch(t,n,a.action||o,{preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||i,formEncType:a.encType||s,flushSync:a.flushSync})}else await e.navigate(a.action||o,{preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||i,formEncType:a.encType||s,replace:a.replace,state:a.state,fromRouteId:n,flushSync:a.flushSync,viewTransition:a.viewTransition})},[e,t,n])}(),y=function(e,{relative:t}={}){let{basename:n}=r.useContext(F),a=r.useContext(U);i(a,"useFormAction must be used inside a RouteContext");let[o]=a.matches.slice(-1),s={...J(e||".",{relative:t})},l=G();if(null==e){s.search=l.search;let e=new URLSearchParams(s.search),t=e.getAll("index");if(t.some(e=>""===e)){e.delete("index"),t.filter(e=>e).forEach(t=>e.append("index",t));let n=e.toString();s.search=n?`?${n}`:""}}return e&&"."!==e||!o.route.index||(s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index"),"/"!==n&&(s.pathname="/"===s.pathname?n:N([n,s.pathname])),c(s)}(u,{relative:h}),w="get"===l.toLowerCase()?"get":"post",b="string"==typeof u&&je.test(u);return r.createElement("form",{ref:g,method:w,action:y,onSubmit:a?p:e=>{if(p&&p(e),e.defaultPrevented)return;e.preventDefault();let r=e.nativeEvent.submitter,a=r?.getAttribute("formmethod")||l;v(r||e.currentTarget,{fetcherKey:t,method:a,navigate:n,replace:o,state:s,relative:h,preventScrollReset:d,viewTransition:f})},...m,"data-discover":b||"render"!==e?void 0:"true"})}).displayName="Form";var Te=0,$e=()=>`__${String(++Te)}__`},833:e=>{e.exports=function(e,t,n,r){var a=n?n.call(r,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),l=0;l<o.length;l++){var u=o[l];if(!s(u))return!1;var c=e[u],p=t[u];if(!1===(a=n?n.call(r,c,p,u):void 0)||void 0===a&&c!==p)return!1}return!0}}},r={};function a(e){var t=r[e];if(void 0!==t)return t.exports;var o=r[e]={exports:{}};return n[e](o,o.exports,a),o.exports}a.m=n,a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce((t,n)=>(a.f[n](e,t),t),[])),a.u=e=>e+".js",a.miniCssF=e=>{},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="boltaudit:",a.l=(n,r,o,i)=>{if(e[n])e[n].push(r);else{var s,l;if(void 0!==o)for(var u=document.getElementsByTagName("script"),c=0;c<u.length;c++){var p=u[c];if(p.getAttribute("src")==n||p.getAttribute("data-webpack")==t+o){s=p;break}}s||(l=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,a.nc&&s.setAttribute("nonce",a.nc),s.setAttribute("data-webpack",t+o),s.src=n),e[n]=[r];var h=(t,r)=>{s.onerror=s.onload=null,clearTimeout(d);var a=e[n];if(delete e[n],s.parentNode&&s.parentNode.removeChild(s),a&&a.forEach(e=>e(r)),t)return t(r)},d=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),l&&document.head.appendChild(s)}},a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+"");var t=a.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&(!e||!/^http(s?):/.test(e));)e=n[r--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e+"../"})(),(()=>{var e={278:0};a.f.j=(t,n)=>{var r=a.o(e,t)?e[t]:void 0;if(0!==r)if(r)n.push(r[2]);else{var o=new Promise((n,a)=>r=e[t]=[n,a]);n.push(r[2]=o);var i=a.p+a.u(t),s=new Error;a.l(i,n=>{if(a.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var o=n&&("load"===n.type?"missing":n.type),i=n&&n.target&&n.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+i+")",s.name="ChunkLoadError",s.type=o,s.request=i,r[1](s)}},"chunk-"+t,t)}};var t=(t,n)=>{var r,o,[i,s,l]=n,u=0;if(i.some(t=>0!==e[t])){for(r in s)a.o(s,r)&&(a.m[r]=s[r]);l&&l(a)}for(t&&t(n);u<i.length;u++)o=i[u],a.o(e,o)&&e[o]&&e[o][0](),e[o]=0},n=globalThis.webpackChunkboltaudit=globalThis.webpackChunkboltaudit||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),a.nc=void 0,(()=>{"use strict";var e=a(609),t=a(510);const n=t.Ay.div` 
     1(()=>{var e,t,n={87:e=>{"use strict";e.exports=window.wp.element},455:e=>{"use strict";e.exports=window.wp.apiFetch},510:(e,t,n)=>{"use strict";n.d(t,{NP:()=>Dt,Ay:()=>Ut});var r=function(){return r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},r.apply(this,arguments)};function a(e,t,n){if(n||2===arguments.length)for(var r,a=0,o=t.length;a<o;a++)!r&&a in t||(r||(r=Array.prototype.slice.call(t,0,a)),r[a]=t[a]);return e.concat(r||Array.prototype.slice.call(t))}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var o=n(609),i=n.n(o),s=n(833),l=n.n(s),u="-ms-",c="-moz-",p="-webkit-",h="comm",d="rule",f="decl",m="@keyframes",g=Math.abs,v=String.fromCharCode,y=Object.assign;function w(e){return e.trim()}function b(e,t){return(e=t.exec(e))?e[0]:e}function S(e,t,n){return e.replace(t,n)}function E(e,t,n){return e.indexOf(t,n)}function x(e,t){return 0|e.charCodeAt(t)}function C(e,t,n){return e.slice(t,n)}function M(e){return e.length}function k(e){return e.length}function A(e,t){return t.push(e),e}function R(e,t){return e.filter(function(e){return!b(e,t)})}var O=1,N=1,P=0,j=0,I=0,D="";function T(e,t,n,r,a,o,i,s){return{value:e,root:t,parent:n,type:r,props:a,children:o,line:O,column:N,length:i,return:"",siblings:s}}function $(e,t){return y(T("",null,null,"",null,null,0,e.siblings),e,{length:-e.length},t)}function L(e){for(;e.root;)e=$(e.root,{children:[e]});A(e,e.siblings)}function z(){return I=j>0?x(D,--j):0,N--,10===I&&(N=1,O--),I}function _(){return I=j<P?x(D,j++):0,N++,10===I&&(N=1,O++),I}function F(){return x(D,j)}function B(){return j}function U(e,t){return C(D,e,t)}function W(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function H(e){return w(U(j-1,V(91===e?e+2:40===e?e+1:e)))}function Y(e){for(;(I=F())&&I<33;)_();return W(e)>2||W(I)>3?"":" "}function G(e,t){for(;--t&&_()&&!(I<48||I>102||I>57&&I<65||I>70&&I<97););return U(e,B()+(t<6&&32==F()&&32==_()))}function V(e){for(;_();)switch(I){case e:return j;case 34:case 39:34!==e&&39!==e&&V(I);break;case 40:41===e&&V(e);break;case 92:_()}return j}function Q(e,t){for(;_()&&e+I!==57&&(e+I!==84||47!==F()););return"/*"+U(t,j-1)+"*"+v(47===e?e:_())}function q(e){for(;!W(F());)_();return U(e,j)}function J(e,t){for(var n="",r=0;r<e.length;r++)n+=t(e[r],r,e,t)||"";return n}function Z(e,t,n,r){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case f:return e.return=e.return||e.value;case h:return"";case m:return e.return=e.value+"{"+J(e.children,r)+"}";case d:if(!M(e.value=e.props.join(",")))return""}return M(n=J(e.children,r))?e.return=e.value+"{"+n+"}":""}function K(e,t,n){switch(function(e,t){return 45^x(e,0)?(((t<<2^x(e,0))<<2^x(e,1))<<2^x(e,2))<<2^x(e,3):0}(e,t)){case 5103:return p+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return p+e+e;case 4789:return c+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return p+e+c+e+u+e+e;case 5936:switch(x(e,t+11)){case 114:return p+e+u+S(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return p+e+u+S(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return p+e+u+S(e,/[svh]\w+-[tblr]{2}/,"lr")+e}case 6828:case 4268:case 2903:return p+e+u+e+e;case 6165:return p+e+u+"flex-"+e+e;case 5187:return p+e+S(e,/(\w+).+(:[^]+)/,p+"box-$1$2"+u+"flex-$1$2")+e;case 5443:return p+e+u+"flex-item-"+S(e,/flex-|-self/g,"")+(b(e,/flex-|baseline/)?"":u+"grid-row-"+S(e,/flex-|-self/g,""))+e;case 4675:return p+e+u+"flex-line-pack"+S(e,/align-content|flex-|-self/g,"")+e;case 5548:return p+e+u+S(e,"shrink","negative")+e;case 5292:return p+e+u+S(e,"basis","preferred-size")+e;case 6060:return p+"box-"+S(e,"-grow","")+p+e+u+S(e,"grow","positive")+e;case 4554:return p+S(e,/([^-])(transform)/g,"$1"+p+"$2")+e;case 6187:return S(S(S(e,/(zoom-|grab)/,p+"$1"),/(image-set)/,p+"$1"),e,"")+e;case 5495:case 3959:return S(e,/(image-set\([^]*)/,p+"$1$`$1");case 4968:return S(S(e,/(.+:)(flex-)?(.*)/,p+"box-pack:$3"+u+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+p+e+e;case 4200:if(!b(e,/flex-|baseline/))return u+"grid-column-align"+C(e,t)+e;break;case 2592:case 3360:return u+S(e,"template-","")+e;case 4384:case 3616:return n&&n.some(function(e,n){return t=n,b(e.props,/grid-\w+-end/)})?~E(e+(n=n[t].value),"span",0)?e:u+S(e,"-start","")+e+u+"grid-row-span:"+(~E(n,"span",0)?b(n,/\d+/):+b(n,/\d+/)-+b(e,/\d+/))+";":u+S(e,"-start","")+e;case 4896:case 4128:return n&&n.some(function(e){return b(e.props,/grid-\w+-start/)})?e:u+S(S(e,"-end","-span"),"span ","")+e;case 4095:case 3583:case 4068:case 2532:return S(e,/(.+)-inline(.+)/,p+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(M(e)-1-t>6)switch(x(e,t+1)){case 109:if(45!==x(e,t+4))break;case 102:return S(e,/(.+:)(.+)-([^]+)/,"$1"+p+"$2-$3$1"+c+(108==x(e,t+3)?"$3":"$2-$3"))+e;case 115:return~E(e,"stretch",0)?K(S(e,"stretch","fill-available"),t,n)+e:e}break;case 5152:case 5920:return S(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(t,n,r,a,o,i,s){return u+n+":"+r+s+(a?u+n+"-span:"+(o?i:+i-+r)+s:"")+e});case 4949:if(121===x(e,t+6))return S(e,":",":"+p)+e;break;case 6444:switch(x(e,45===x(e,14)?18:11)){case 120:return S(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+p+(45===x(e,14)?"inline-":"")+"box$3$1"+p+"$2$3$1"+u+"$2box$3")+e;case 100:return S(e,":",":"+u)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return S(e,"scroll-","scroll-snap-")+e}return e}function X(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case f:return void(e.return=K(e.value,e.length,n));case m:return J([$(e,{value:S(e.value,"@","@"+p)})],r);case d:if(e.length)return function(e,t){return e.map(t).join("")}(n=e.props,function(t){switch(b(t,r=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":L($(e,{props:[S(t,/:(read-\w+)/,":-moz-$1")]})),L($(e,{props:[t]})),y(e,{props:R(n,r)});break;case"::placeholder":L($(e,{props:[S(t,/:(plac\w+)/,":"+p+"input-$1")]})),L($(e,{props:[S(t,/:(plac\w+)/,":-moz-$1")]})),L($(e,{props:[S(t,/:(plac\w+)/,u+"input-$1")]})),L($(e,{props:[t]})),y(e,{props:R(n,r)})}return""})}}function ee(e){return function(e){return D="",e}(te("",null,null,null,[""],e=function(e){return O=N=1,P=M(D=e),j=0,[]}(e),0,[0],e))}function te(e,t,n,r,a,o,i,s,l){for(var u=0,c=0,p=i,h=0,d=0,f=0,m=1,y=1,w=1,b=0,C="",k=a,R=o,O=r,N=C;y;)switch(f=b,b=_()){case 40:if(108!=f&&58==x(N,p-1)){-1!=E(N+=S(H(b),"&","&\f"),"&\f",g(u?s[u-1]:0))&&(w=-1);break}case 34:case 39:case 91:N+=H(b);break;case 9:case 10:case 13:case 32:N+=Y(f);break;case 92:N+=G(B()-1,7);continue;case 47:switch(F()){case 42:case 47:A(re(Q(_(),B()),t,n,l),l);break;default:N+="/"}break;case 123*m:s[u++]=M(N)*w;case 125*m:case 59:case 0:switch(b){case 0:case 125:y=0;case 59+c:-1==w&&(N=S(N,/\f/g,"")),d>0&&M(N)-p&&A(d>32?ae(N+";",r,n,p-1,l):ae(S(N," ","")+";",r,n,p-2,l),l);break;case 59:N+=";";default:if(A(O=ne(N,t,n,u,c,a,s,C,k=[],R=[],p,o),o),123===b)if(0===c)te(N,t,O,O,k,o,p,s,R);else switch(99===h&&110===x(N,3)?100:h){case 100:case 108:case 109:case 115:te(e,O,O,r&&A(ne(e,O,O,0,0,a,s,C,a,k=[],p,R),R),a,R,p,s,r?k:R);break;default:te(N,O,O,O,[""],R,0,s,R)}}u=c=d=0,m=w=1,C=N="",p=i;break;case 58:p=1+M(N),d=f;default:if(m<1)if(123==b)--m;else if(125==b&&0==m++&&125==z())continue;switch(N+=v(b),b*m){case 38:w=c>0?1:(N+="\f",-1);break;case 44:s[u++]=(M(N)-1)*w,w=1;break;case 64:45===F()&&(N+=H(_())),h=F(),c=p=M(C=N+=q(B())),b++;break;case 45:45===f&&2==M(N)&&(m=0)}}return o}function ne(e,t,n,r,a,o,i,s,l,u,c,p){for(var h=a-1,f=0===a?o:[""],m=k(f),v=0,y=0,b=0;v<r;++v)for(var E=0,x=C(e,h+1,h=g(y=i[v])),M=e;E<m;++E)(M=w(y>0?f[E]+" "+x:S(x,/&\f/g,f[E])))&&(l[b++]=M);return T(e,t,n,0===a?d:s,l,u,c,p)}function re(e,t,n,r){return T(e,t,n,h,v(I),C(e,2,-2),0,r)}function ae(e,t,n,r,a){return T(e,t,n,f,C(e,0,r),C(e,r+1,-1),r,a)}var oe={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},ie="undefined"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",se="active",le="data-styled-version",ue="6.1.19",ce="/*!sc*/\n",pe="undefined"!=typeof window&&"undefined"!=typeof document,he=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&""!==process.env.REACT_APP_SC_DISABLE_SPEEDY?"false"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&void 0!==process.env.SC_DISABLE_SPEEDY&&""!==process.env.SC_DISABLE_SPEEDY&&"false"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY),de=(new Set,Object.freeze([])),fe=Object.freeze({});var me=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),ge=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,ve=/(^-|-$)/g;function ye(e){return e.replace(ge,"-").replace(ve,"")}var we=/(a)(d)/gi,be=function(e){return String.fromCharCode(e+(e>25?39:97))};function Se(e){var t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=be(t%52)+n;return(be(t%52)+n).replace(we,"$1-$2")}var Ee,xe=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},Ce=function(e){return xe(5381,e)};function Me(e){return"string"==typeof e&&!0}var ke="function"==typeof Symbol&&Symbol.for,Ae=ke?Symbol.for("react.memo"):60115,Re=ke?Symbol.for("react.forward_ref"):60112,Oe={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},Ne={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Pe={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},je=((Ee={})[Re]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Ee[Ae]=Pe,Ee);function Ie(e){return("type"in(t=e)&&t.type.$$typeof)===Ae?Pe:"$$typeof"in e?je[e.$$typeof]:Oe;var t}var De=Object.defineProperty,Te=Object.getOwnPropertyNames,$e=Object.getOwnPropertySymbols,Le=Object.getOwnPropertyDescriptor,ze=Object.getPrototypeOf,_e=Object.prototype;function Fe(e,t,n){if("string"!=typeof t){if(_e){var r=ze(t);r&&r!==_e&&Fe(e,r,n)}var a=Te(t);$e&&(a=a.concat($e(t)));for(var o=Ie(e),i=Ie(t),s=0;s<a.length;++s){var l=a[s];if(!(l in Ne||n&&n[l]||i&&l in i||o&&l in o)){var u=Le(t,l);try{De(e,l,u)}catch(e){}}}}return e}function Be(e){return"function"==typeof e}function Ue(e){return"object"==typeof e&&"styledComponentId"in e}function We(e,t){return e&&t?"".concat(e," ").concat(t):e||t||""}function He(e,t){if(0===e.length)return"";for(var n=e[0],r=1;r<e.length;r++)n+=t?t+e[r]:e[r];return n}function Ye(e){return null!==e&&"object"==typeof e&&e.constructor.name===Object.name&&!("props"in e&&e.$$typeof)}function Ge(e,t,n){if(void 0===n&&(n=!1),!n&&!Ye(e)&&!Array.isArray(e))return t;if(Array.isArray(t))for(var r=0;r<t.length;r++)e[r]=Ge(e[r],t[r]);else if(Ye(t))for(var r in t)e[r]=Ge(e[r],t[r]);return e}function Ve(e,t){Object.defineProperty(e,"toString",{value:t})}function Qe(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return new Error("An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#".concat(e," for more information.").concat(t.length>0?" Args: ".concat(t.join(", ")):""))}var qe=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},e.prototype.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,a=r;e>=a;)if((a<<=1)<0)throw Qe(16,"".concat(e));this.groupSizes=new Uint32Array(a),this.groupSizes.set(n),this.length=a;for(var o=r;o<a;o++)this.groupSizes[o]=0}for(var i=this.indexOfGroup(e+1),s=(o=0,t.length);o<s;o++)this.tag.insertRule(i,t[o])&&(this.groupSizes[e]++,i++)},e.prototype.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var a=n;a<r;a++)this.tag.deleteRule(n)}},e.prototype.getGroup=function(e){var t="";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),a=r+n,o=r;o<a;o++)t+="".concat(this.tag.getRule(o)).concat(ce);return t},e}(),Je=new Map,Ze=new Map,Ke=1,Xe=function(e){if(Je.has(e))return Je.get(e);for(;Ze.has(Ke);)Ke++;var t=Ke++;return Je.set(e,t),Ze.set(t,e),t},et=function(e,t){Ke=t+1,Je.set(e,t),Ze.set(t,e)},tt="style[".concat(ie,"][").concat(le,'="').concat(ue,'"]'),nt=new RegExp("^".concat(ie,'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)')),rt=function(e,t,n){for(var r,a=n.split(","),o=0,i=a.length;o<i;o++)(r=a[o])&&e.registerName(t,r)},at=function(e,t){for(var n,r=(null!==(n=t.textContent)&&void 0!==n?n:"").split(ce),a=[],o=0,i=r.length;o<i;o++){var s=r[o].trim();if(s){var l=s.match(nt);if(l){var u=0|parseInt(l[1],10),c=l[2];0!==u&&(et(c,u),rt(e,c,l[3]),e.getTag().insertRules(u,a)),a.length=0}else a.push(s)}}},ot=function(e){for(var t=document.querySelectorAll(tt),n=0,r=t.length;n<r;n++){var a=t[n];a&&a.getAttribute(ie)!==se&&(at(e,a),a.parentNode&&a.parentNode.removeChild(a))}};function it(){return n.nc}var st=function(e){var t=document.head,n=e||t,r=document.createElement("style"),a=function(e){var t=Array.from(e.querySelectorAll("style[".concat(ie,"]")));return t[t.length-1]}(n),o=void 0!==a?a.nextSibling:null;r.setAttribute(ie,se),r.setAttribute(le,ue);var i=it();return i&&r.setAttribute("nonce",i),n.insertBefore(r,o),r},lt=function(){function e(e){this.element=st(e),this.element.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var a=t[n];if(a.ownerNode===e)return a}throw Qe(17)}(this.element),this.length=0}return e.prototype.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},e.prototype.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},e.prototype.getRule=function(e){var t=this.sheet.cssRules[e];return t&&t.cssText?t.cssText:""},e}(),ut=function(){function e(e){this.element=st(e),this.nodes=this.element.childNodes,this.length=0}return e.prototype.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},e.prototype.getRule=function(e){return e<this.length?this.nodes[e].textContent:""},e}(),ct=function(){function e(e){this.rules=[],this.length=0}return e.prototype.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},e.prototype.deleteRule=function(e){this.rules.splice(e,1),this.length--},e.prototype.getRule=function(e){return e<this.length?this.rules[e]:""},e}(),pt=pe,ht={isServer:!pe,useCSSOMInjection:!he},dt=function(){function e(e,t,n){void 0===e&&(e=fe),void 0===t&&(t={});var a=this;this.options=r(r({},ht),e),this.gs=t,this.names=new Map(n),this.server=!!e.isServer,!this.server&&pe&&pt&&(pt=!1,ot(this)),Ve(this,function(){return function(e){for(var t=e.getTag(),n=t.length,r="",a=function(n){var a=function(e){return Ze.get(e)}(n);if(void 0===a)return"continue";var o=e.names.get(a),i=t.getGroup(n);if(void 0===o||!o.size||0===i.length)return"continue";var s="".concat(ie,".g").concat(n,'[id="').concat(a,'"]'),l="";void 0!==o&&o.forEach(function(e){e.length>0&&(l+="".concat(e,","))}),r+="".concat(i).concat(s,'{content:"').concat(l,'"}').concat(ce)},o=0;o<n;o++)a(o);return r}(a)})}return e.registerId=function(e){return Xe(e)},e.prototype.rehydrate=function(){!this.server&&pe&&ot(this)},e.prototype.reconstructWithOptions=function(t,n){return void 0===n&&(n=!0),new e(r(r({},this.options),t),this.gs,n&&this.names||void 0)},e.prototype.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},e.prototype.getTag=function(){return this.tag||(this.tag=(e=function(e){var t=e.useCSSOMInjection,n=e.target;return e.isServer?new ct(n):t?new lt(n):new ut(n)}(this.options),new qe(e)));var e},e.prototype.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},e.prototype.registerName=function(e,t){if(Xe(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},e.prototype.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(Xe(e),n)},e.prototype.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},e.prototype.clearRules=function(e){this.getTag().clearGroup(Xe(e)),this.clearNames(e)},e.prototype.clearTag=function(){this.tag=void 0},e}(),ft=/&/g,mt=/^\s*\/\/.*$/gm;function gt(e,t){return e.map(function(e){return"rule"===e.type&&(e.value="".concat(t," ").concat(e.value),e.value=e.value.replaceAll(",",",".concat(t," ")),e.props=e.props.map(function(e){return"".concat(t," ").concat(e)})),Array.isArray(e.children)&&"@keyframes"!==e.type&&(e.children=gt(e.children,t)),e})}function vt(e){var t,n,r,a=void 0===e?fe:e,o=a.options,i=void 0===o?fe:o,s=a.plugins,l=void 0===s?de:s,u=function(e,r,a){return a.startsWith(n)&&a.endsWith(n)&&a.replaceAll(n,"").length>0?".".concat(t):e},c=l.slice();c.push(function(e){e.type===d&&e.value.includes("&")&&(e.props[0]=e.props[0].replace(ft,n).replace(r,u))}),i.prefix&&c.push(X),c.push(Z);var p=function(e,a,o,s){void 0===a&&(a=""),void 0===o&&(o=""),void 0===s&&(s="&"),t=s,n=a,r=new RegExp("\\".concat(n,"\\b"),"g");var l=e.replace(mt,""),u=ee(o||a?"".concat(o," ").concat(a," { ").concat(l," }"):l);i.namespace&&(u=gt(u,i.namespace));var p,h,d,f=[];return J(u,(p=c.concat((d=function(e){return f.push(e)},function(e){e.root||(e=e.return)&&d(e)})),h=k(p),function(e,t,n,r){for(var a="",o=0;o<h;o++)a+=p[o](e,t,n,r)||"";return a})),f};return p.hash=l.length?l.reduce(function(e,t){return t.name||Qe(15),xe(e,t.name)},5381).toString():"",p}var yt=new dt,wt=vt(),bt=i().createContext({shouldForwardProp:void 0,styleSheet:yt,stylis:wt}),St=(bt.Consumer,i().createContext(void 0));function Et(){return(0,o.useContext)(bt)}function xt(e){var t=(0,o.useState)(e.stylisPlugins),n=t[0],r=t[1],a=Et().styleSheet,s=(0,o.useMemo)(function(){var t=a;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t},[e.disableCSSOMInjection,e.sheet,e.target,a]),u=(0,o.useMemo)(function(){return vt({options:{namespace:e.namespace,prefix:e.enableVendorPrefixes},plugins:n})},[e.enableVendorPrefixes,e.namespace,n]);(0,o.useEffect)(function(){l()(n,e.stylisPlugins)||r(e.stylisPlugins)},[e.stylisPlugins]);var c=(0,o.useMemo)(function(){return{shouldForwardProp:e.shouldForwardProp,styleSheet:s,stylis:u}},[e.shouldForwardProp,s,u]);return i().createElement(bt.Provider,{value:c},i().createElement(St.Provider,{value:u},e.children))}var Ct=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=wt);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,"@keyframes"))},this.name=e,this.id="sc-keyframes-".concat(e),this.rules=t,Ve(this,function(){throw Qe(12,String(n.name))})}return e.prototype.getName=function(e){return void 0===e&&(e=wt),this.name+e.hash},e}(),Mt=function(e){return e>="A"&&e<="Z"};function kt(e){for(var t="",n=0;n<e.length;n++){var r=e[n];if(1===n&&"-"===r&&"-"===e[0])return e;Mt(r)?t+="-"+r.toLowerCase():t+=r}return t.startsWith("ms-")?"-"+t:t}var At=function(e){return null==e||!1===e||""===e},Rt=function(e){var t,n,r=[];for(var o in e){var i=e[o];e.hasOwnProperty(o)&&!At(i)&&(Array.isArray(i)&&i.isCss||Be(i)?r.push("".concat(kt(o),":"),i,";"):Ye(i)?r.push.apply(r,a(a(["".concat(o," {")],Rt(i),!1),["}"],!1)):r.push("".concat(kt(o),": ").concat((t=o,null==(n=i)||"boolean"==typeof n||""===n?"":"number"!=typeof n||0===n||t in oe||t.startsWith("--")?String(n).trim():"".concat(n,"px")),";")))}return r};function Ot(e,t,n,r){return At(e)?[]:Ue(e)?[".".concat(e.styledComponentId)]:Be(e)?!Be(a=e)||a.prototype&&a.prototype.isReactComponent||!t?[e]:Ot(e(t),t,n,r):e instanceof Ct?n?(e.inject(n,r),[e.getName(r)]):[e]:Ye(e)?Rt(e):Array.isArray(e)?Array.prototype.concat.apply(de,e.map(function(e){return Ot(e,t,n,r)})):[e.toString()];var a}function Nt(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(Be(n)&&!Ue(n))return!1}return!0}var Pt=Ce(ue),jt=function(){function e(e,t,n){this.rules=e,this.staticRulesId="",this.isStatic=(void 0===n||n.isStatic)&&Nt(e),this.componentId=t,this.baseHash=xe(Pt,t),this.baseStyle=n,dt.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.baseStyle?this.baseStyle.generateAndInjectStyles(e,t,n):"";if(this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(this.componentId,this.staticRulesId))r=We(r,this.staticRulesId);else{var a=He(Ot(this.rules,e,t,n)),o=Se(xe(this.baseHash,a)>>>0);if(!t.hasNameForId(this.componentId,o)){var i=n(a,".".concat(o),void 0,this.componentId);t.insertRules(this.componentId,o,i)}r=We(r,o),this.staticRulesId=o}else{for(var s=xe(this.baseHash,n.hash),l="",u=0;u<this.rules.length;u++){var c=this.rules[u];if("string"==typeof c)l+=c;else if(c){var p=He(Ot(c,e,t,n));s=xe(s,p+u),l+=p}}if(l){var h=Se(s>>>0);t.hasNameForId(this.componentId,h)||t.insertRules(this.componentId,h,n(l,".".concat(h),void 0,this.componentId)),r=We(r,h)}}return r},e}(),It=i().createContext(void 0);function Dt(e){var t=i().useContext(It),n=(0,o.useMemo)(function(){return function(e,t){if(!e)throw Qe(14);if(Be(e))return e(t);if(Array.isArray(e)||"object"!=typeof e)throw Qe(8);return t?r(r({},t),e):e}(e.theme,t)},[e.theme,t]);return e.children?i().createElement(It.Provider,{value:n},e.children):null}It.Consumer;var Tt={};function $t(e,t,n){var a=Ue(e),s=e,l=!Me(e),u=t.attrs,c=void 0===u?de:u,p=t.componentId,h=void 0===p?function(e,t){var n="string"!=typeof e?"sc":ye(e);Tt[n]=(Tt[n]||0)+1;var r="".concat(n,"-").concat(function(e){return Se(Ce(e)>>>0)}(ue+n+Tt[n]));return t?"".concat(t,"-").concat(r):r}(t.displayName,t.parentComponentId):p,d=t.displayName,f=void 0===d?function(e){return Me(e)?"styled.".concat(e):"Styled(".concat(function(e){return e.displayName||e.name||"Component"}(e),")")}(e):d,m=t.displayName&&t.componentId?"".concat(ye(t.displayName),"-").concat(t.componentId):t.componentId||h,g=a&&s.attrs?s.attrs.concat(c).filter(Boolean):c,v=t.shouldForwardProp;if(a&&s.shouldForwardProp){var y=s.shouldForwardProp;if(t.shouldForwardProp){var w=t.shouldForwardProp;v=function(e,t){return y(e,t)&&w(e,t)}}else v=y}var b=new jt(n,m,a?s.componentStyle:void 0);function S(e,t){return function(e,t,n){var a=e.attrs,s=e.componentStyle,l=e.defaultProps,u=e.foldedComponentIds,c=e.styledComponentId,p=e.target,h=i().useContext(It),d=Et(),f=e.shouldForwardProp||d.shouldForwardProp,m=function(e,t,n){return void 0===n&&(n=fe),e.theme!==n.theme&&e.theme||t||n.theme}(t,h,l)||fe,g=function(e,t,n){for(var a,o=r(r({},t),{className:void 0,theme:n}),i=0;i<e.length;i+=1){var s=Be(a=e[i])?a(o):a;for(var l in s)o[l]="className"===l?We(o[l],s[l]):"style"===l?r(r({},o[l]),s[l]):s[l]}return t.className&&(o.className=We(o.className,t.className)),o}(a,t,m),v=g.as||p,y={};for(var w in g)void 0===g[w]||"$"===w[0]||"as"===w||"theme"===w&&g.theme===m||("forwardedAs"===w?y.as=g.forwardedAs:f&&!f(w,v)||(y[w]=g[w]));var b=function(e,t){var n=Et();return e.generateAndInjectStyles(t,n.styleSheet,n.stylis)}(s,g),S=We(u,c);return b&&(S+=" "+b),g.className&&(S+=" "+g.className),y[Me(v)&&!me.has(v)?"class":"className"]=S,n&&(y.ref=n),(0,o.createElement)(v,y)}(E,e,t)}S.displayName=f;var E=i().forwardRef(S);return E.attrs=g,E.componentStyle=b,E.displayName=f,E.shouldForwardProp=v,E.foldedComponentIds=a?We(s.foldedComponentIds,s.styledComponentId):"",E.styledComponentId=m,E.target=a?s.target:e,Object.defineProperty(E,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=a?function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=0,a=t;r<a.length;r++)Ge(e,a[r],!0);return e}({},s.defaultProps,e):e}}),Ve(E,function(){return".".concat(E.styledComponentId)}),l&&Fe(E,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),E}function Lt(e,t){for(var n=[e[0]],r=0,a=t.length;r<a;r+=1)n.push(t[r],e[r+1]);return n}new Set;var zt=function(e){return Object.assign(e,{isCss:!0})};function _t(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(Be(e)||Ye(e))return zt(Ot(Lt(de,a([e],t,!0))));var r=e;return 0===t.length&&1===r.length&&"string"==typeof r[0]?Ot(r):zt(Ot(Lt(r,t)))}function Ft(e,t,n){if(void 0===n&&(n=fe),!t)throw Qe(1,t);var o=function(r){for(var o=[],i=1;i<arguments.length;i++)o[i-1]=arguments[i];return e(t,n,_t.apply(void 0,a([r],o,!1)))};return o.attrs=function(a){return Ft(e,t,r(r({},n),{attrs:Array.prototype.concat(n.attrs,a).filter(Boolean)}))},o.withConfig=function(a){return Ft(e,t,r(r({},n),a))},o}var Bt=function(e){return Ft($t,e)},Ut=Bt;me.forEach(function(e){Ut[e]=Bt(e)}),function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=Nt(e),dt.registerId(this.componentId+1)}e.prototype.createStyles=function(e,t,n,r){var a=r(He(Ot(this.rules,t,n,r)),""),o=this.componentId+e;n.insertRules(o,o,a)},e.prototype.removeStyles=function(e,t){t.clearRules(this.componentId+e)},e.prototype.renderStyles=function(e,t,n,r){e>2&&dt.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)}}(),function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return"";var n=it(),r=He([n&&'nonce="'.concat(n,'"'),"".concat(ie,'="true"'),"".concat(le,'="').concat(ue,'"')].filter(Boolean)," ");return"<style ".concat(r,">").concat(t,"</style>")},this.getStyleTags=function(){if(e.sealed)throw Qe(2);return e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)throw Qe(2);var n=e.instance.toString();if(!n)return[];var a=((t={})[ie]="",t[le]=ue,t.dangerouslySetInnerHTML={__html:n},t),o=it();return o&&(a.nonce=o),[i().createElement("style",r({},a,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new dt({isServer:!0}),this.sealed=!1}e.prototype.collectStyles=function(e){if(this.sealed)throw Qe(2);return i().createElement(xt,{sheet:this.instance},e)},e.prototype.interleaveWithNodeStream=function(e){throw Qe(3)}}(),"__sc-".concat(ie,"__")},609:e=>{"use strict";e.exports=window.React},833:e=>{e.exports=function(e,t,n,r){var a=n?n.call(r,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),l=0;l<o.length;l++){var u=o[l];if(!s(u))return!1;var c=e[u],p=t[u];if(!1===(a=n?n.call(r,c,p,u):void 0)||void 0===a&&c!==p)return!1}return!0}},920:(e,t,n)=>{"use strict";n.d(t,{BV:()=>ue,I9:()=>Pe,N_:()=>Ie,Zp:()=>q,g:()=>J,k2:()=>De,qh:()=>se});var r=n(609),a="popstate";function o(e={}){return function(e,t,n,r={}){let{window:o=document.defaultView,v5Compat:s=!1}=r,p=o.history,h="POP",d=null,f=m();function m(){return(p.state||{idx:null}).idx}function g(){h="POP";let e=m(),t=null==e?null:e-f;f=e,d&&d({action:h,location:y.location,delta:t})}function v(e){return function(e,t=!1){let n="http://localhost";"undefined"!=typeof window&&(n="null"!==window.location.origin?window.location.origin:window.location.href),i(n,"No window.location.(origin|href) available to create URL");let r="string"==typeof e?e:c(e);return r=r.replace(/ $/,"%20"),!t&&r.startsWith("//")&&(r=n+r),new URL(r,n)}(e)}null==f&&(f=0,p.replaceState({...p.state,idx:f},""));let y={get action(){return h},get location(){return e(o,p)},listen(e){if(d)throw new Error("A history only accepts one active listener");return o.addEventListener(a,g),d=e,()=>{o.removeEventListener(a,g),d=null}},createHref:e=>t(o,e),createURL:v,encodeLocation(e){let t=v(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){h="PUSH";let r=u(y.location,e,t);n&&n(r,e),f=m()+1;let a=l(r,f),i=y.createHref(r);try{p.pushState(a,"",i)}catch(e){if(e instanceof DOMException&&"DataCloneError"===e.name)throw e;o.location.assign(i)}s&&d&&d({action:h,location:y.location,delta:1})},replace:function(e,t){h="REPLACE";let r=u(y.location,e,t);n&&n(r,e),f=m();let a=l(r,f),o=y.createHref(r);p.replaceState(a,"",o),s&&d&&d({action:h,location:y.location,delta:0})},go:e=>p.go(e)};return y}(function(e,t){let{pathname:n="/",search:r="",hash:a=""}=p(e.location.hash.substring(1));return n.startsWith("/")||n.startsWith(".")||(n="/"+n),u("",{pathname:n,search:r,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")},function(e,t){let n=e.document.querySelector("base"),r="";if(n&&n.getAttribute("href")){let t=e.location.href,n=t.indexOf("#");r=-1===n?t:t.slice(0,n)}return r+"#"+("string"==typeof t?t:c(t))},function(e,t){s("/"===e.pathname.charAt(0),`relative pathnames are not supported in hash history.push(${JSON.stringify(t)})`)},e)}function i(e,t){if(!1===e||null==e)throw new Error(t)}function s(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw new Error(t)}catch(e){}}}function l(e,t){return{usr:e.state,key:e.key,idx:t}}function u(e,t,n=null,r){return{pathname:"string"==typeof e?e:e.pathname,search:"",hash:"",..."string"==typeof t?p(t):t,state:n,key:t&&t.key||r||Math.random().toString(36).substring(2,10)}}function c({pathname:e="/",search:t="",hash:n=""}){return t&&"?"!==t&&(e+="?"===t.charAt(0)?t:"?"+t),n&&"#"!==n&&(e+="#"===n.charAt(0)?n:"#"+n),e}function p(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function h(e,t,n="/"){return function(e,t,n,r){let a=k(("string"==typeof t?p(t):t).pathname||"/",n);if(null==a)return null;let o=d(e);!function(e){e.sort((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)))}(o);let i=null;for(let e=0;null==i&&e<o.length;++e){let t=M(a);i=x(o[e],t,r)}return i}(e,t,n,!1)}function d(e,t=[],n=[],r=""){let a=(e,a,o)=>{let s={relativePath:void 0===o?e.path||"":o,caseSensitive:!0===e.caseSensitive,childrenIndex:a,route:e};s.relativePath.startsWith("/")&&(i(s.relativePath.startsWith(r),`Absolute route path "${s.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),s.relativePath=s.relativePath.slice(r.length));let l=N([r,s.relativePath]),u=n.concat(s);e.children&&e.children.length>0&&(i(!0!==e.index,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),d(e.children,t,u,l)),(null!=e.path||e.index)&&t.push({path:l,score:E(l,e.index),routesMeta:u})};return e.forEach((e,t)=>{if(""!==e.path&&e.path?.includes("?"))for(let n of f(e.path))a(e,t,n);else a(e,t)}),t}function f(e){let t=e.split("/");if(0===t.length)return[];let[n,...r]=t,a=n.endsWith("?"),o=n.replace(/\?$/,"");if(0===r.length)return a?[o,""]:[o];let i=f(r.join("/")),s=[];return s.push(...i.map(e=>""===e?o:[o,e].join("/"))),a&&s.push(...i),s.map(t=>e.startsWith("/")&&""===t?"/":t)}new WeakMap;var m=/^:[\w-]+$/,g=3,v=2,y=1,w=10,b=-2,S=e=>"*"===e;function E(e,t){let n=e.split("/"),r=n.length;return n.some(S)&&(r+=b),t&&(r+=v),n.filter(e=>!S(e)).reduce((e,t)=>e+(m.test(t)?g:""===t?y:w),r)}function x(e,t,n=!1){let{routesMeta:r}=e,a={},o="/",i=[];for(let e=0;e<r.length;++e){let s=r[e],l=e===r.length-1,u="/"===o?t:t.slice(o.length)||"/",c=C({path:s.relativePath,caseSensitive:s.caseSensitive,end:l},u),p=s.route;if(!c&&l&&n&&!r[r.length-1].route.index&&(c=C({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},u)),!c)return null;Object.assign(a,c.params),i.push({params:a,pathname:N([o,c.pathname]),pathnameBase:P(N([o,c.pathnameBase])),route:p}),"/"!==c.pathnameBase&&(o=N([o,c.pathnameBase]))}return i}function C(e,t){"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=function(e,t=!1,n=!0){s("*"===e||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let r=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(e,t,n)=>(r.push({paramName:t,isOptional:null!=n}),n?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),a+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":""!==e&&"/"!==e&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),r]}(e.path,e.caseSensitive,e.end),a=t.match(n);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),l=a.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:n},r)=>{if("*"===t){let e=l[r]||"";i=o.slice(0,o.length-e.length).replace(/(.)\/+$/,"$1")}const a=l[r];return e[t]=n&&!a?void 0:(a||"").replace(/%2F/g,"/"),e},{}),pathname:o,pathnameBase:i,pattern:e}}function M(e){try{return e.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(t){return s(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function k(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&"/"!==r?null:e.slice(n)||"/"}function A(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}].  Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function R(e){let t=function(e){return e.filter((e,t)=>0===t||e.route.path&&e.route.path.length>0)}(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function O(e,t,n,r=!1){let a;"string"==typeof e?a=p(e):(a={...e},i(!a.pathname||!a.pathname.includes("?"),A("?","pathname","search",a)),i(!a.pathname||!a.pathname.includes("#"),A("#","pathname","hash",a)),i(!a.search||!a.search.includes("#"),A("#","search","hash",a)));let o,s=""===e||""===a.pathname,l=s?"/":a.pathname;if(null==l)o=n;else{let e=t.length-1;if(!r&&l.startsWith("..")){let t=l.split("/");for(;".."===t[0];)t.shift(),e-=1;a.pathname=t.join("/")}o=e>=0?t[e]:"/"}let u=function(e,t="/"){let{pathname:n,search:r="",hash:a=""}="string"==typeof e?p(e):e,o=n?n.startsWith("/")?n:function(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(e=>{".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)}),n.length>1?n.join("/"):"/"}(n,t):t;return{pathname:o,search:j(r),hash:I(a)}}(a,o),c=l&&"/"!==l&&l.endsWith("/"),h=(s||"."===l)&&n.endsWith("/");return u.pathname.endsWith("/")||!c&&!h||(u.pathname+="/"),u}var N=e=>e.join("/").replace(/\/\/+/g,"/"),P=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),j=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",I=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"";function D(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}var T=["POST","PUT","PATCH","DELETE"],$=(new Set(T),["GET",...T]);new Set($),Symbol("ResetLoaderData");var L=r.createContext(null);L.displayName="DataRouter";var z=r.createContext(null);z.displayName="DataRouterState";r.createContext(!1);var _=r.createContext({isTransitioning:!1});_.displayName="ViewTransition",r.createContext(new Map).displayName="Fetchers",r.createContext(null).displayName="Await";var F=r.createContext(null);F.displayName="Navigation";var B=r.createContext(null);B.displayName="Location";var U=r.createContext({outlet:null,matches:[],isDataRoute:!1});U.displayName="Route";var W=r.createContext(null);W.displayName="RouteError";var H=!0;function Y(){return null!=r.useContext(B)}function G(){return i(Y(),"useLocation() may be used only in the context of a <Router> component."),r.useContext(B).location}var V="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Q(e){r.useContext(F).static||r.useLayoutEffect(e)}function q(){let{isDataRoute:e}=r.useContext(U);return e?function(){let{router:e}=function(e){let t=r.useContext(L);return i(t,re(e)),t}("useNavigate"),t=ae("useNavigate"),n=r.useRef(!1);return Q(()=>{n.current=!0}),r.useCallback(async(r,a={})=>{s(n.current,V),n.current&&("number"==typeof r?e.navigate(r):await e.navigate(r,{fromRouteId:t,...a}))},[e,t])}():function(){i(Y(),"useNavigate() may be used only in the context of a <Router> component.");let e=r.useContext(L),{basename:t,navigator:n}=r.useContext(F),{matches:a}=r.useContext(U),{pathname:o}=G(),l=JSON.stringify(R(a)),u=r.useRef(!1);return Q(()=>{u.current=!0}),r.useCallback((r,a={})=>{if(s(u.current,V),!u.current)return;if("number"==typeof r)return void n.go(r);let i=O(r,JSON.parse(l),o,"path"===a.relative);null==e&&"/"!==t&&(i.pathname="/"===i.pathname?t:N([t,i.pathname])),(a.replace?n.replace:n.push)(i,a.state,a)},[t,n,l,o,e])}()}function J(){let{matches:e}=r.useContext(U),t=e[e.length-1];return t?t.params:{}}function Z(e,{relative:t}={}){let{matches:n}=r.useContext(U),{pathname:a}=G(),o=JSON.stringify(R(n));return r.useMemo(()=>O(e,JSON.parse(o),a,"path"===t),[e,o,a,t])}function K(e,t,n,a){i(Y(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:o}=r.useContext(F),{matches:l}=r.useContext(U),u=l[l.length-1],c=u?u.params:{},d=u?u.pathname:"/",f=u?u.pathnameBase:"/",m=u&&u.route;if(H){let e=m&&m.path||"";ie(d,!m||e.endsWith("*")||e.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${d}" (under <Route path="${e}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.\n\nPlease change the parent <Route path="${e}"> to <Route path="${"/"===e?"*":`${e}/*`}">.`)}let g,v=G();if(t){let e="string"==typeof t?p(t):t;i("/"===f||e.pathname?.startsWith(f),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${f}" but pathname "${e.pathname}" was given in the \`location\` prop.`),g=e}else g=v;let y=g.pathname||"/",w=y;if("/"!==f){let e=f.replace(/^\//,"").split("/");w="/"+y.replace(/^\//,"").split("/").slice(e.length).join("/")}let b=h(e,{pathname:w});H&&(s(m||null!=b,`No routes matched location "${g.pathname}${g.search}${g.hash}" `),s(null==b||void 0!==b[b.length-1].route.element||void 0!==b[b.length-1].route.Component||void 0!==b[b.length-1].route.lazy,`Matched leaf route at location "${g.pathname}${g.search}${g.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`));let S=function(e,t=[],n=null){if(null==e){if(!n)return null;if(n.errors)e=n.matches;else{if(0!==t.length||n.initialized||!(n.matches.length>0))return null;e=n.matches}}let a=e,o=n?.errors;if(null!=o){let e=a.findIndex(e=>e.route.id&&void 0!==o?.[e.route.id]);i(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),a=a.slice(0,Math.min(a.length,e+1))}let s=!1,l=-1;if(n)for(let e=0;e<a.length;e++){let t=a[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(l=e),t.route.id){let{loaderData:e,errors:r}=n,o=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!r||void 0===r[t.route.id]);if(t.route.lazy||o){s=!0,a=l>=0?a.slice(0,l+1):[a[0]];break}}}return a.reduceRight((e,i,u)=>{let c,p=!1,h=null,d=null;n&&(c=o&&i.route.id?o[i.route.id]:void 0,h=i.route.errorElement||ee,s&&(l<0&&0===u?(ie("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),p=!0,d=null):l===u&&(p=!0,d=i.route.hydrateFallbackElement||null)));let f=t.concat(a.slice(0,u+1)),m=()=>{let t;return t=c?h:p?d:i.route.Component?r.createElement(i.route.Component,null):i.route.element?i.route.element:e,r.createElement(ne,{match:i,routeContext:{outlet:e,matches:f,isDataRoute:null!=n},children:t})};return n&&(i.route.ErrorBoundary||i.route.errorElement||0===u)?r.createElement(te,{location:n.location,revalidation:n.revalidation,component:h,error:c,children:m(),routeContext:{outlet:null,matches:f,isDataRoute:!0}}):m()},null)}(b&&b.map(e=>Object.assign({},e,{params:Object.assign({},c,e.params),pathname:N([f,o.encodeLocation?o.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?f:N([f,o.encodeLocation?o.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})),l,n,a);return t&&S?r.createElement(B.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...g},navigationType:"POP"}},S):S}function X(){let e=function(){let e=r.useContext(W),t=function(e){let t=r.useContext(z);return i(t,re(e)),t}("useRouteError"),n=ae("useRouteError");return void 0!==e?e:t.errors?.[n]}(),t=D(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,a="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:a},s={padding:"2px 4px",backgroundColor:a},l=null;return H&&(console.error("Error handled by React Router default ErrorBoundary:",e),l=r.createElement(r.Fragment,null,r.createElement("p",null,"💿 Hey developer 👋"),r.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",r.createElement("code",{style:s},"ErrorBoundary")," or"," ",r.createElement("code",{style:s},"errorElement")," prop on your route."))),r.createElement(r.Fragment,null,r.createElement("h2",null,"Unexpected Application Error!"),r.createElement("h3",{style:{fontStyle:"italic"}},t),n?r.createElement("pre",{style:o},n):null,l)}r.createContext(null);var ee=r.createElement(X,null),te=class extends r.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?r.createElement(U.Provider,{value:this.props.routeContext},r.createElement(W.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function ne({routeContext:e,match:t,children:n}){let a=r.useContext(L);return a&&a.static&&a.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=t.route.id),r.createElement(U.Provider,{value:e},n)}function re(e){return`${e} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function ae(e){let t=function(e){let t=r.useContext(U);return i(t,re(e)),t}(e),n=t.matches[t.matches.length-1];return i(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}var oe={};function ie(e,t,n){t||oe[e]||(oe[e]=!0,s(!1,n))}function se(e){i(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function le({basename:e="/",children:t=null,location:n,navigationType:a="POP",navigator:o,static:l=!1}){i(!Y(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let u=e.replace(/^\/*/,"/"),c=r.useMemo(()=>({basename:u,navigator:o,static:l,future:{}}),[u,o,l]);"string"==typeof n&&(n=p(n));let{pathname:h="/",search:d="",hash:f="",state:m=null,key:g="default"}=n,v=r.useMemo(()=>{let e=k(h,u);return null==e?null:{location:{pathname:e,search:d,hash:f,state:m,key:g},navigationType:a}},[u,h,d,f,m,g,a]);return s(null!=v,`<Router basename="${u}"> is not able to match the URL "${h}${d}${f}" because it does not start with the basename, so the <Router> won't render anything.`),null==v?null:r.createElement(F.Provider,{value:c},r.createElement(B.Provider,{children:t,value:v}))}function ue({children:e,location:t}){return K(ce(e),t)}function ce(e,t=[]){let n=[];return r.Children.forEach(e,(e,a)=>{if(!r.isValidElement(e))return;let o=[...t,a];if(e.type===r.Fragment)return void n.push.apply(n,ce(e.props.children,o));i(e.type===se,`[${"string"==typeof e.type?e.type:e.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),i(!e.props.index||!e.props.children,"An index route cannot have child routes.");let s={id:e.props.id||o.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,hydrateFallbackElement:e.props.hydrateFallbackElement,HydrateFallback:e.props.HydrateFallback,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:!0===e.props.hasErrorBoundary||null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(s.children=ce(e.props.children,o)),n.push(s)}),n}r.memo(function({routes:e,future:t,state:n}){return K(e,void 0,n,t)}),r.Component;var pe="get",he="application/x-www-form-urlencoded";function de(e){return null!=e&&"string"==typeof e.tagName}var fe=null,me=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function ge(e){return null==e||me.has(e)?e:(s(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${he}"`),null)}function ve(e,t){if(!1===e||null==e)throw new Error(t)}function ye(e){return null!=e&&(null==e.href?"preload"===e.rel&&"string"==typeof e.imageSrcSet&&"string"==typeof e.imageSizes:"string"==typeof e.rel&&"string"==typeof e.href)}function we(e,t,n,r,a,o){let i=(e,t)=>!n[t]||e.route.id!==n[t].route.id,s=(e,t)=>n[t].pathname!==e.pathname||n[t].route.path?.endsWith("*")&&n[t].params["*"]!==e.params["*"];return"assets"===o?t.filter((e,t)=>i(e,t)||s(e,t)):"data"===o?t.filter((t,o)=>{let l=r.routes[t.route.id];if(!l||!l.hasLoader)return!1;if(i(t,o)||s(t,o))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if("boolean"==typeof r)return r}return!0}):[]}function be(e,t,{includeHydrateFallback:n}={}){return r=e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let a=[r.module];return r.clientActionModule&&(a=a.concat(r.clientActionModule)),r.clientLoaderModule&&(a=a.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(a=a.concat(r.hydrateFallbackModule)),r.imports&&(a=a.concat(r.imports)),a}).flat(1),[...new Set(r)];var r}function Se(){let e=r.useContext(L);return ve(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Ee(){let e=r.useContext(z);return ve(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}Object.getOwnPropertyNames(Object.prototype).sort().join("\0"),"undefined"!=typeof window?window:"undefined"!=typeof globalThis&&globalThis,Symbol("SingleFetchRedirect");var xe=r.createContext(void 0);function Ce(){let e=r.useContext(xe);return ve(e,"You must render this element inside a <HydratedRouter> element"),e}function Me(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function ke({page:e,...t}){let{router:n}=Se(),a=r.useMemo(()=>h(n.routes,e,n.basename),[n.routes,e,n.basename]);return a?r.createElement(Re,{page:e,matches:a,...t}):null}function Ae(e){let{manifest:t,routeModules:n}=Ce(),[a,o]=r.useState([]);return r.useEffect(()=>{let r=!1;return async function(e,t,n){return function(e,t){let n=new Set,r=new Set(t);return e.reduce((e,a)=>{if(t&&(null==(o=a)||"string"!=typeof o.page)&&"script"===a.as&&a.href&&r.has(a.href))return e;var o;let i=JSON.stringify(function(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}(a));return n.has(i)||(n.add(i),e.push({key:i,link:a})),e},[])}((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await async function(e,t){if(e.id in t)return t[e.id];try{let n=await import(e.module);return t[e.id]=n,n}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(ye).filter(e=>"stylesheet"===e.rel||"preload"===e.rel).map(e=>"stylesheet"===e.rel?{...e,rel:"prefetch",as:"style"}:{...e,rel:"prefetch"}))}(e,t,n).then(e=>{r||o(e)}),()=>{r=!0}},[e,t,n]),a}function Re({page:e,matches:t,...n}){let a=G(),{manifest:o,routeModules:i}=Ce(),{basename:s}=Se(),{loaderData:l,matches:u}=Ee(),c=r.useMemo(()=>we(e,t,u,o,a,"data"),[e,t,u,o,a]),p=r.useMemo(()=>we(e,t,u,o,a,"assets"),[e,t,u,o,a]),h=r.useMemo(()=>{if(e===a.pathname+a.search+a.hash)return[];let n=new Set,r=!1;if(t.forEach(e=>{let t=o.routes[e.route.id];t&&t.hasLoader&&(!c.some(t=>t.route.id===e.route.id)&&e.route.id in l&&i[e.route.id]?.shouldRevalidate||t.hasClientLoader?r=!0:n.add(e.route.id))}),0===n.size)return[];let u=function(e,t,n){let r="string"==typeof e?new URL(e,"undefined"==typeof window?"server://singlefetch/":window.location.origin):e;return"/"===r.pathname?r.pathname=`_root.${n}`:t&&"/"===k(r.pathname,t)?r.pathname=`${t.replace(/\/$/,"")}/_root.${n}`:r.pathname=`${r.pathname.replace(/\/$/,"")}.${n}`,r}(e,s,"data");return r&&n.size>0&&u.searchParams.set("_routes",t.filter(e=>n.has(e.route.id)).map(e=>e.route.id).join(",")),[u.pathname+u.search]},[s,l,a,o,c,t,e,i]),d=r.useMemo(()=>be(p,o),[p,o]),f=Ae(p);return r.createElement(r.Fragment,null,h.map(e=>r.createElement("link",{key:e,rel:"prefetch",as:"fetch",href:e,...n})),d.map(e=>r.createElement("link",{key:e,rel:"modulepreload",href:e,...n})),f.map(({key:e,link:t})=>r.createElement("link",{key:e,...t})))}xe.displayName="FrameworkContext";function Oe(...e){return t=>{e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}}r.Component;var Ne="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;try{Ne&&(window.__reactRouterVersion="7.7.1")}catch(e){}function Pe({basename:e,children:t,window:n}){let a=r.useRef();null==a.current&&(a.current=o({window:n,v5Compat:!0}));let i=a.current,[s,l]=r.useState({action:i.action,location:i.location}),u=r.useCallback(e=>{r.startTransition(()=>l(e))},[l]);return r.useLayoutEffect(()=>i.listen(u),[i,u]),r.createElement(le,{basename:e,children:t,location:s.location,navigationType:s.action,navigator:i})}var je=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ie=r.forwardRef(function({onClick:e,discover:t="render",prefetch:n="none",relative:a,reloadDocument:o,replace:l,state:u,target:p,to:h,preventScrollReset:d,viewTransition:f,...m},g){let v,{basename:y}=r.useContext(F),w="string"==typeof h&&je.test(h),b=!1;if("string"==typeof h&&w&&(v=h,Ne))try{let e=new URL(window.location.href),t=h.startsWith("//")?new URL(e.protocol+h):new URL(h),n=k(t.pathname,y);t.origin===e.origin&&null!=n?h=n+t.search+t.hash:b=!0}catch(e){s(!1,`<Link to="${h}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let S=function(e,{relative:t}={}){i(Y(),"useHref() may be used only in the context of a <Router> component.");let{basename:n,navigator:a}=r.useContext(F),{hash:o,pathname:s,search:l}=Z(e,{relative:t}),u=s;return"/"!==n&&(u="/"===s?n:N([n,s])),a.createHref({pathname:u,search:l,hash:o})}(h,{relative:a}),[E,x,C]=function(e,t){let n=r.useContext(xe),[a,o]=r.useState(!1),[i,s]=r.useState(!1),{onFocus:l,onBlur:u,onMouseEnter:c,onMouseLeave:p,onTouchStart:h}=t,d=r.useRef(null);r.useEffect(()=>{if("render"===e&&s(!0),"viewport"===e){let e=new IntersectionObserver(e=>{e.forEach(e=>{s(e.isIntersecting)})},{threshold:.5});return d.current&&e.observe(d.current),()=>{e.disconnect()}}},[e]),r.useEffect(()=>{if(a){let e=setTimeout(()=>{s(!0)},100);return()=>{clearTimeout(e)}}},[a]);let f=()=>{o(!0)},m=()=>{o(!1),s(!1)};return n?"intent"!==e?[i,d,{}]:[i,d,{onFocus:Me(l,f),onBlur:Me(u,m),onMouseEnter:Me(c,f),onMouseLeave:Me(p,m),onTouchStart:Me(h,f)}]:[!1,d,{}]}(n,m),M=function(e,{target:t,replace:n,state:a,preventScrollReset:o,relative:i,viewTransition:s}={}){let l=q(),u=G(),p=Z(e,{relative:i});return r.useCallback(r=>{if(function(e,t){return!(0!==e.button||t&&"_self"!==t||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e))}(r,t)){r.preventDefault();let t=void 0!==n?n:c(u)===c(p);l(e,{replace:t,state:a,preventScrollReset:o,relative:i,viewTransition:s})}},[u,l,p,n,a,t,e,o,i,s])}(h,{replace:l,state:u,target:p,preventScrollReset:d,relative:a,viewTransition:f}),A=r.createElement("a",{...m,...C,href:v||S,onClick:b||o?e:function(t){e&&e(t),t.defaultPrevented||M(t)},ref:Oe(g,x),target:p,"data-discover":w||"render"!==t?void 0:"true"});return E&&!w?r.createElement(r.Fragment,null,A,r.createElement(ke,{page:S})):A});Ie.displayName="Link";var De=r.forwardRef(function({"aria-current":e="page",caseSensitive:t=!1,className:n="",end:a=!1,style:o,to:s,viewTransition:l,children:u,...c},p){let h=Z(s,{relative:c.relative}),d=G(),f=r.useContext(z),{navigator:m,basename:g}=r.useContext(F),v=null!=f&&function(e,{relative:t}={}){let n=r.useContext(_);i(null!=n,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`.  Did you accidentally import `RouterProvider` from `react-router`?");let{basename:a}=Te("useViewTransitionState"),o=Z(e,{relative:t});if(!n.isTransitioning)return!1;let s=k(n.currentLocation.pathname,a)||n.currentLocation.pathname,l=k(n.nextLocation.pathname,a)||n.nextLocation.pathname;return null!=C(o.pathname,l)||null!=C(o.pathname,s)}(h)&&!0===l,y=m.encodeLocation?m.encodeLocation(h).pathname:h.pathname,w=d.pathname,b=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;t||(w=w.toLowerCase(),b=b?b.toLowerCase():null,y=y.toLowerCase()),b&&g&&(b=k(b,g)||b);const S="/"!==y&&y.endsWith("/")?y.length-1:y.length;let E,x=w===y||!a&&w.startsWith(y)&&"/"===w.charAt(S),M=null!=b&&(b===y||!a&&b.startsWith(y)&&"/"===b.charAt(y.length)),A={isActive:x,isPending:M,isTransitioning:v},R=x?e:void 0;E="function"==typeof n?n(A):[n,x?"active":null,M?"pending":null,v?"transitioning":null].filter(Boolean).join(" ");let O="function"==typeof o?o(A):o;return r.createElement(Ie,{...c,"aria-current":R,className:E,ref:p,style:O,to:s,viewTransition:l},"function"==typeof u?u(A):u)});function Te(e){let t=r.useContext(L);return i(t,function(e){return`${e} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}(e)),t}De.displayName="NavLink",r.forwardRef(({discover:e="render",fetcherKey:t,navigate:n,reloadDocument:a,replace:o,state:s,method:l=pe,action:u,onSubmit:p,relative:h,preventScrollReset:d,viewTransition:f,...m},g)=>{let v=function(){let{router:e}=Te("useSubmit"),{basename:t}=r.useContext(F),n=ae("useRouteId");return r.useCallback(async(r,a={})=>{let{action:o,method:i,encType:s,formData:l,body:u}=function(e,t){let n,r,a,o,i;if(de(s=e)&&"form"===s.tagName.toLowerCase()){let i=e.getAttribute("action");r=i?k(i,t):null,n=e.getAttribute("method")||pe,a=ge(e.getAttribute("enctype"))||he,o=new FormData(e)}else if(function(e){return de(e)&&"button"===e.tagName.toLowerCase()}(e)||function(e){return de(e)&&"input"===e.tagName.toLowerCase()}(e)&&("submit"===e.type||"image"===e.type)){let i=e.form;if(null==i)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let s=e.getAttribute("formaction")||i.getAttribute("action");if(r=s?k(s,t):null,n=e.getAttribute("formmethod")||i.getAttribute("method")||pe,a=ge(e.getAttribute("formenctype"))||ge(i.getAttribute("enctype"))||he,o=new FormData(i,e),!function(){if(null===fe)try{new FormData(document.createElement("form"),0),fe=!1}catch(e){fe=!0}return fe}()){let{name:t,type:n,value:r}=e;if("image"===n){let e=t?`${t}.`:"";o.append(`${e}x`,"0"),o.append(`${e}y`,"0")}else t&&o.append(t,r)}}else{if(de(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');n=pe,r=null,a=he,i=e}var s;return o&&"text/plain"===a&&(i=o,o=void 0),{action:r,method:n.toLowerCase(),encType:a,formData:o,body:i}}(r,t);if(!1===a.navigate){let t=a.fetcherKey||Le();await e.fetch(t,n,a.action||o,{preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||i,formEncType:a.encType||s,flushSync:a.flushSync})}else await e.navigate(a.action||o,{preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||i,formEncType:a.encType||s,replace:a.replace,state:a.state,fromRouteId:n,flushSync:a.flushSync,viewTransition:a.viewTransition})},[e,t,n])}(),y=function(e,{relative:t}={}){let{basename:n}=r.useContext(F),a=r.useContext(U);i(a,"useFormAction must be used inside a RouteContext");let[o]=a.matches.slice(-1),s={...Z(e||".",{relative:t})},l=G();if(null==e){s.search=l.search;let e=new URLSearchParams(s.search),t=e.getAll("index");if(t.some(e=>""===e)){e.delete("index"),t.filter(e=>e).forEach(t=>e.append("index",t));let n=e.toString();s.search=n?`?${n}`:""}}return e&&"."!==e||!o.route.index||(s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index"),"/"!==n&&(s.pathname="/"===s.pathname?n:N([n,s.pathname])),c(s)}(u,{relative:h}),w="get"===l.toLowerCase()?"get":"post",b="string"==typeof u&&je.test(u);return r.createElement("form",{ref:g,method:w,action:y,onSubmit:a?p:e=>{if(p&&p(e),e.defaultPrevented)return;e.preventDefault();let r=e.nativeEvent.submitter,a=r?.getAttribute("formmethod")||l;v(r||e.currentTarget,{fetcherKey:t,method:a,navigate:n,replace:o,state:s,relative:h,preventScrollReset:d,viewTransition:f})},...m,"data-discover":b||"render"!==e?void 0:"true"})}).displayName="Form";var $e=0,Le=()=>`__${String(++$e)}__`}},r={};function a(e){var t=r[e];if(void 0!==t)return t.exports;var o=r[e]={exports:{}};return n[e](o,o.exports,a),o.exports}a.m=n,a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce((t,n)=>(a.f[n](e,t),t),[])),a.u=e=>e+".js",a.miniCssF=e=>{},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="boltaudit:",a.l=(n,r,o,i)=>{if(e[n])e[n].push(r);else{var s,l;if(void 0!==o)for(var u=document.getElementsByTagName("script"),c=0;c<u.length;c++){var p=u[c];if(p.getAttribute("src")==n||p.getAttribute("data-webpack")==t+o){s=p;break}}s||(l=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,a.nc&&s.setAttribute("nonce",a.nc),s.setAttribute("data-webpack",t+o),s.src=n),e[n]=[r];var h=(t,r)=>{s.onerror=s.onload=null,clearTimeout(d);var a=e[n];if(delete e[n],s.parentNode&&s.parentNode.removeChild(s),a&&a.forEach(e=>e(r)),t)return t(r)},d=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),l&&document.head.appendChild(s)}},a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+"");var t=a.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&(!e||!/^http(s?):/.test(e));)e=n[r--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e+"../"})(),(()=>{var e={278:0};a.f.j=(t,n)=>{var r=a.o(e,t)?e[t]:void 0;if(0!==r)if(r)n.push(r[2]);else{var o=new Promise((n,a)=>r=e[t]=[n,a]);n.push(r[2]=o);var i=a.p+a.u(t),s=new Error;a.l(i,n=>{if(a.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var o=n&&("load"===n.type?"missing":n.type),i=n&&n.target&&n.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+i+")",s.name="ChunkLoadError",s.type=o,s.request=i,r[1](s)}},"chunk-"+t,t)}};var t=(t,n)=>{var r,o,[i,s,l]=n,u=0;if(i.some(t=>0!==e[t])){for(r in s)a.o(s,r)&&(a.m[r]=s[r]);l&&l(a)}for(t&&t(n);u<i.length;u++)o=i[u],a.o(e,o)&&e[o]&&e[o][0](),e[o]=0},n=globalThis.webpackChunkboltaudit=globalThis.webpackChunkboltaudit||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),a.nc=void 0,(()=>{"use strict";var e=a(609),t=a(510);const n=t.Ay.div` 
    22    height: 100dvh;
    33    display: flex;
     
    3232    }
    3333
    34 `,r=({style:t})=>{const r={minHeight:"500px"};return t=t?{...r,...t}:r,(0,e.createElement)(n,{style:t,className:"ba-preloader"},(0,e.createElement)("img",{src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzgiIGhlaWdodD0iMjMiIHZpZXdCb3g9IjAgMCAzOCAyMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM3LjExOTkgNC4wNzAwMUMzNy4xMTk5IDEuODIwMDEgMzUuMjk5OSAwIDMzLjA0OTkgMEgyMS40NDk5TDE5LjQ2OTkgMy42NjAwM0gzMC43NDk5QzMxLjM3OTkgMy42NjAwMyAzMS44OTk5IDQuMTcgMzEuODk5OSA0LjgxVjUuNDMwMDVDMzEuODk5OSA2LjgwMDA1IDMwLjc4OTkgNy45MDAwMiAyOS40Mjk5IDcuOTAwMDJIMjUuOTQ5OUwyMi45MTk5IDExLjVIMjguODU5OUMyOS41Mjk5IDExLjUgMzAuMDc5OSAxMi4wNSAzMC4wNzk5IDEyLjcyVjE1QzMwLjA3OTkgMTYuMzIgMjkuMDA5OSAxNy4zOCAyNy42OTk5IDE3LjM4SDE3Ljk3OTlMMTUuMTY5OSAyMC43MkgyNy4yNzk5QzMxLjQ4OTkgMjAuNzIgMzQuOTA5OSAxNy4zIDM0LjkwOTkgMTMuMDlDMzQuOTA5OSAxMS4zMiAzMy41Nzk5IDkuODkwMDUgMzEuODY5OSA5LjY4MDA1QzM0LjgwOTkgOS40OTAwNSAzNy4xMzk5IDcuMDYwMDEgMzcuMTM5OSA0LjA3MDAxSDM3LjExOTlaIiBmaWxsPSIjMEUwRTBFIi8+CjxwYXRoIGQ9Ik0yNS4wOSA3Ljg4SDIwLjkxTDIzLjUgNC4zNjAwNUgxOC4zMUwyMC43IDBMNi45MiAyLjUzMDAzSDE4LjUzTDE3Ljg4IDMuMjgwMDNMMTEuOSA0LjUxMDAxSDE2LjgzTDE1Ljg2IDUuNjNMMCA3LjkwMDAySDEzLjkySDE4LjA1TDE2Ljg5IDkuNjYwMDNMNy4zMSAxMS4wNEwxNS43MSAxMS40NkwxNS4xMyAxMi4zNUgxNy43OEwxNS4zIDE3LjI1TDcuODggMTguMjQwMUwxNC41NSAxOC43MUwxMi4zOCAyMi45OTAxTDI1LjA5IDcuODhaIiBmaWxsPSIjRTA1RjFCIi8+Cjwvc3ZnPgo=",alt:"Logo",className:"ba-preloader__logo"}),(0,e.createElement)("p",null,"BoltAudit is running, gathering information."))};var o=a(87);const i=window.wp.hooks;var s=a(788);const l=(0,o.lazy)(()=>Promise.all([a.e(494),a.e(434)]).then(a.bind(a,434)));function u(){const[n,a]=(0,o.useState)("ltr"),[u,c]=(0,o.useState)(!1),p={direction:n};setTimeout(()=>{c(!0)},3e3);const h=(0,i.applyFilters)("ba_dashboard_routes",[{path:"/*",element:(0,e.createElement)(l,null)}]),d={maxHeight:"unset"};return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(s.I9,null,(0,e.createElement)(o.Suspense,{fallback:(0,e.createElement)(r,{style:d})},u?(0,e.createElement)(t.NP,{theme:p},(0,e.createElement)(s.BV,null,h.map((t,n)=>(0,e.createElement)(s.qh,{key:n,path:t.path,element:t.element})))):(0,e.createElement)(r,{type:"full",style:d}))))}document.addEventListener("DOMContentLoaded",function(){const t=document.querySelector("#ba-dashboard-app");t&&function(t){o.createRoot?(0,o.createRoot)(t).render((0,e.createElement)("div",null,(0,e.createElement)(o.Suspense,{fallback:(0,e.createElement)(r,null)},(0,e.createElement)(u,null)))):render((0,e.createElement)("div",null,(0,e.createElement)(o.Suspense,{fallback:(0,e.createElement)(r,null)},(0,e.createElement)(u,null))),t)}(t)})})()})();
     34`,r=({style:t})=>{const r={minHeight:"500px"};return t=t?{...r,...t}:r,(0,e.createElement)(n,{style:t,className:"ba-preloader"},(0,e.createElement)("img",{src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzgiIGhlaWdodD0iMjMiIHZpZXdCb3g9IjAgMCAzOCAyMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM3LjExOTkgNC4wNzAwMUMzNy4xMTk5IDEuODIwMDEgMzUuMjk5OSAwIDMzLjA0OTkgMEgyMS40NDk5TDE5LjQ2OTkgMy42NjAwM0gzMC43NDk5QzMxLjM3OTkgMy42NjAwMyAzMS44OTk5IDQuMTcgMzEuODk5OSA0LjgxVjUuNDMwMDVDMzEuODk5OSA2LjgwMDA1IDMwLjc4OTkgNy45MDAwMiAyOS40Mjk5IDcuOTAwMDJIMjUuOTQ5OUwyMi45MTk5IDExLjVIMjguODU5OUMyOS41Mjk5IDExLjUgMzAuMDc5OSAxMi4wNSAzMC4wNzk5IDEyLjcyVjE1QzMwLjA3OTkgMTYuMzIgMjkuMDA5OSAxNy4zOCAyNy42OTk5IDE3LjM4SDE3Ljk3OTlMMTUuMTY5OSAyMC43MkgyNy4yNzk5QzMxLjQ4OTkgMjAuNzIgMzQuOTA5OSAxNy4zIDM0LjkwOTkgMTMuMDlDMzQuOTA5OSAxMS4zMiAzMy41Nzk5IDkuODkwMDUgMzEuODY5OSA5LjY4MDA1QzM0LjgwOTkgOS40OTAwNSAzNy4xMzk5IDcuMDYwMDEgMzcuMTM5OSA0LjA3MDAxSDM3LjExOTlaIiBmaWxsPSIjMEUwRTBFIi8+CjxwYXRoIGQ9Ik0yNS4wOSA3Ljg4SDIwLjkxTDIzLjUgNC4zNjAwNUgxOC4zMUwyMC43IDBMNi45MiAyLjUzMDAzSDE4LjUzTDE3Ljg4IDMuMjgwMDNMMTEuOSA0LjUxMDAxSDE2LjgzTDE1Ljg2IDUuNjNMMCA3LjkwMDAySDEzLjkySDE4LjA1TDE2Ljg5IDkuNjYwMDNMNy4zMSAxMS4wNEwxNS43MSAxMS40NkwxNS4xMyAxMi4zNUgxNy43OEwxNS4zIDE3LjI1TDcuODggMTguMjQwMUwxNC41NSAxOC43MUwxMi4zOCAyMi45OTAxTDI1LjA5IDcuODhaIiBmaWxsPSIjRTA1RjFCIi8+Cjwvc3ZnPgo=",alt:"Logo",className:"ba-preloader__logo"}),(0,e.createElement)("p",null,"BoltAudit is running, gathering information."))};var o=a(87);const i=window.wp.hooks;var s=a(920);const l=(0,o.lazy)(()=>Promise.all([a.e(494),a.e(310)]).then(a.bind(a,310))),u=(0,o.lazy)(()=>Promise.all([a.e(494),a.e(148)]).then(a.bind(a,148)));function c(){const[n,a]=(0,o.useState)("ltr"),[c,p]=(0,o.useState)(!1),h={direction:n};setTimeout(()=>{p(!0)},3e3);const d=(0,i.applyFilters)("ba_dashboard_routes",[{path:"/*",element:(0,e.createElement)(l,null)},{path:"/plugin/:slug",element:(0,e.createElement)(u,null)}]),f={maxHeight:"unset"};return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(s.I9,null,(0,e.createElement)(o.Suspense,{fallback:(0,e.createElement)(r,{style:f})},c?(0,e.createElement)(t.NP,{theme:h},(0,e.createElement)(s.BV,null,d.map((t,n)=>(0,e.createElement)(s.qh,{key:n,path:t.path,element:t.element})))):(0,e.createElement)(r,{type:"full",style:f}))))}document.addEventListener("DOMContentLoaded",function(){const t=document.querySelector("#ba-dashboard-app");t&&function(t){o.createRoot?(0,o.createRoot)(t).render((0,e.createElement)("div",null,(0,e.createElement)(o.Suspense,{fallback:(0,e.createElement)(r,null)},(0,e.createElement)(c,null)))):render((0,e.createElement)("div",null,(0,e.createElement)(o.Suspense,{fallback:(0,e.createElement)(r,null)},(0,e.createElement)(c,null))),t)}(t)})})()})();
  • boltaudit/tags/0.0.5/boltaudit.php

    r3329062 r3334205  
    88 * Plugin Name:       BoltAudit – Performance Audit Advisor
    99 * Description:       Get a clear, no-risk performance review of your WordPress site. BoltAudit scans for common slowdowns and gives smart, easy-to-follow suggestions — without touching your site or installing bloat.
    10  * Version:           0.0.4
     10 * Version:           0.0.5
    1111 * Requires at least: 6.0
    1212 * Requires PHP:      7.4
  • boltaudit/tags/0.0.5/database/Migrations/CreateDB.php

    r3326963 r3334205  
    2525        `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
    2626        `option_key` VARCHAR(191) NOT NULL,
    27         `context` NOT NULL DEFAULT,
     27        `context` VARCHAR(191) NOT NULL DEFAULT '',
    2828        `data` JSON DEFAULT NULL,
    2929        `created` DATE NOT NULL,
  • boltaudit/tags/0.0.5/readme.txt

    r3329062 r3334205  
    44Requires at least: 5.8
    55Tested up to: 6.8
    6 Stable tag: 0.0.4
     6Stable tag: 0.0.5
    77Requires PHP: 7.4
    88License: GPLv2 or later
     
    2525== Features ==
    2626
    27 - Detect unused and abandoned plugins 
     27- Detect unused, outdated, or abandoned plugins 
    2828- Full Plugin Audit section: inactive, outdated, abandoned detection 
    29 - Visual impact report per plugin (load time, DB usage, asset weight) 
     29- Plugin-level metrics: action/filter hook counts, cron job schedules, database query counts 
    3030- Breaks down post types, metadata, revisions, and orphaned content 
    3131- Analyzes option tables, autoloaded data, transients, and more 
     
    6969== Changelog ==
    7070
     71
     72= 0.0.5 – 2025-07-25 = 
     73* Added asset impact metrics: script/style file size and load duration 
     74* Enhanced SinglePluginRepository caching for faster repeated audits 
     75* UI improvements for metrics breakdown
     76* Bug fixes and performance optimizations 
     77
    7178= 0.0.4 – 2025-07-16 = 
    7279* Added Site Details section
     
    9097== Upgrade Notice ==
    9198
    92 = 0.0.3 = 
    93 Plugin Audit section and risk warnings have been added. Environment and database reports are more detailed, and the UI has been optimized for speed.
    94 
    95 = 0.0.2 = 
    96 Database Overview now displays detailed table and autoload metrics. Metadata analysis has been improved.
    97 
    98 = 0.0.1 = 
    99 First beta release with basic environment and post-type reporting.
     99= 0.0.5 = 
     100New asset impact and plugin-level metrics have been added for deeper insights. Caching and UI have been further optimized.
  • boltaudit/tags/0.0.5/routes/rest/api.php

    r3326963 r3334205  
    11<?php
    22
     3use BoltAudit\App\Http\Controllers\PluginController;
    34use BoltAudit\App\Http\Controllers\ReportController;
    45use BoltAudit\WpMVC\Routing\Route;
    56
    6 Route::post( 'reports/{type}', [ReportController::class, 'index'], ['admin'] );
     7Route::post( 'reports/{type}', [ReportController::class, 'index'] );
     8Route::post( 'plugin/{slug}', [PluginController::class, 'index'] );
  • boltaudit/trunk/app/Repositories/EnvironmentRepository.php

    r3321850 r3334205  
    33namespace BoltAudit\App\Repositories;
    44
     5defined( 'ABSPATH' ) || exit;
     6
    57class EnvironmentRepository {
     8    public static function get_php_version() {
     9        return phpversion();
     10    }
    611
    7     public static function get_php_version() {
    8         return phpversion();
    9     }
     12    public static function get_php_sapi() {
     13        return php_sapi_name();
     14    }
    1015
    11     public static function get_php_sapi() {
    12         return php_sapi_name();
    13     }
     16    public static function get_php_user() {
     17        return get_current_user();
     18    }
    1419
    15     public static function get_php_user() {
    16         return get_current_user();
    17     }
     20    public static function get_php_ini_values() {
     21        return [
     22            'max_execution_time'  => ini_get( 'max_execution_time' ),
     23            'memory_limit'        => ini_get( 'memory_limit' ),
     24            'upload_max_filesize' => ini_get( 'upload_max_filesize' ),
     25            'post_max_size'       => ini_get( 'post_max_size' ),
     26            'display_errors'      => ini_get( 'display_errors' ),
     27            'log_errors'          => ini_get( 'log_errors' ),
     28        ];
     29    }
    1830
    19     public static function get_php_ini_values() {
    20         return [
    21             'max_execution_time'  => ini_get( 'max_execution_time' ),
    22             'memory_limit'        => ini_get( 'memory_limit' ),
    23             'upload_max_filesize' => ini_get( 'upload_max_filesize' ),
    24             'post_max_size'       => ini_get( 'post_max_size' ),
    25             'display_errors'      => ini_get( 'display_errors' ),
    26             'log_errors'          => ini_get( 'log_errors' ),
    27         ];
    28     }
     31    public static function get_php_extensions() {
     32        $extensions = get_loaded_extensions();
     33        sort( $extensions );
    2934
    30     public static function get_php_extensions() {
    31         $extensions = get_loaded_extensions();
    32         sort( $extensions );
     35        return $extensions;
     36    }
    3337
    34         return $extensions;
    35     }
     38    public static function get_php_error_reporting() {
     39        return error_reporting();
     40    }
    3641
    37     public static function get_php_error_reporting() {
    38         return error_reporting();
    39     }
     42    public static function get_server_software() {
     43            return isset( $_SERVER['SERVER_SOFTWARE'] )
     44                    ? sanitize_text_field( wp_unslash( $_SERVER['SERVER_SOFTWARE'] ) )
     45                    : null;
     46    }
    4047
    41     public static function get_server_software() {
    42         return $_SERVER['SERVER_SOFTWARE'] ?? null;
    43     }
     48    public static function get_server_address() {
     49            return isset( $_SERVER['SERVER_ADDR'] )
     50                    ? sanitize_text_field( wp_unslash( $_SERVER['SERVER_ADDR'] ) )
     51                    : null;
     52    }
    4453
    45     public static function get_server_address() {
    46         return $_SERVER['SERVER_ADDR'] ?? null;
    47     }
     54    public static function get_server_os() {
     55        return function_exists( 'php_uname' ) ? php_uname( 's' ) . ' ' . php_uname( 'r' ) : null;
     56    }
    4857
    49     public static function get_server_os() {
    50         return function_exists( 'php_uname' ) ? php_uname( 's' ) . ' ' . php_uname( 'r' ) : null;
    51     }
     58    public static function get_server_host() {
     59        return function_exists( 'php_uname' ) ? php_uname( 'n' ) : null;
     60    }
    5261
    53     public static function get_server_host() {
    54         return function_exists( 'php_uname' ) ? php_uname( 'n' ) : null;
    55     }
     62    public static function get_server_arch() {
     63        return function_exists( 'php_uname' ) ? php_uname( 'm' ) : null;
     64    }
    5665
    57     public static function get_server_arch() {
    58         return function_exists( 'php_uname' ) ? php_uname( 'm' ) : null;
    59     }
     66    public static function get_wordpress_version() {
     67        global $wp_version;
    6068
    61     public static function get_wordpress_version() {
    62         global $wp_version;
     69        return $wp_version ?? null;
     70    }
    6371
    64         return $wp_version ?? null;
    65     }
     72    public static function get_wordpress_constants() {
     73        return [
     74            'WP_DEBUG'            => defined( 'WP_DEBUG' ) ? WP_DEBUG : null,
     75            'WP_DEBUG_DISPLAY'    => defined( 'WP_DEBUG_DISPLAY' ) ? WP_DEBUG_DISPLAY : null,
     76            'WP_DEBUG_LOG'        => defined( 'WP_DEBUG_LOG' ) ? WP_DEBUG_LOG : null,
     77            'SCRIPT_DEBUG'        => defined( 'SCRIPT_DEBUG' ) ? SCRIPT_DEBUG : null,
     78            'WP_CACHE'            => defined( 'WP_CACHE' ) ? WP_CACHE : null,
     79            'CONCATENATE_SCRIPTS' => defined( 'CONCATENATE_SCRIPTS' ) ? constant( 'CONCATENATE_SCRIPTS' ) : null,
     80            'COMPRESS_SCRIPTS'    => defined( 'COMPRESS_SCRIPTS' ) ? constant( 'COMPRESS_SCRIPTS' ) : null,
     81            'COMPRESS_CSS'        => defined( 'COMPRESS_CSS' ) ? constant( 'COMPRESS_CSS' ) : null,
     82        ];
     83    }
    6684
    67     public static function get_wordpress_constants() {
    68         return [
    69             'WP_DEBUG'            => defined( 'WP_DEBUG' ) ? WP_DEBUG : null,
    70             'WP_DEBUG_DISPLAY'    => defined( 'WP_DEBUG_DISPLAY' ) ? WP_DEBUG_DISPLAY : null,
    71             'WP_DEBUG_LOG'        => defined( 'WP_DEBUG_LOG' ) ? WP_DEBUG_LOG : null,
    72             'SCRIPT_DEBUG'        => defined( 'SCRIPT_DEBUG' ) ? SCRIPT_DEBUG : null,
    73             'WP_CACHE'            => defined( 'WP_CACHE' ) ? WP_CACHE : null,
    74             'CONCATENATE_SCRIPTS' => defined( 'CONCATENATE_SCRIPTS' ) ? constant( 'CONCATENATE_SCRIPTS' ) : null,
    75             'COMPRESS_SCRIPTS'    => defined( 'COMPRESS_SCRIPTS' ) ? constant( 'COMPRESS_SCRIPTS' ) : null,
    76             'COMPRESS_CSS'        => defined( 'COMPRESS_CSS' ) ? constant( 'COMPRESS_CSS' ) : null,
    77         ];
    78     }
     85    public static function get_environment_type() {
     86        return function_exists( 'wp_get_environment_type' ) ? wp_get_environment_type() : 'production';
     87    }
    7988
    80     public static function get_environment_type() {
    81         return function_exists( 'wp_get_environment_type' ) ? wp_get_environment_type() : 'production';
    82     }
     89    public static function get_development_mode() {
     90        return function_exists( 'wp_get_development_mode' ) ? wp_get_development_mode() : null;
     91    }
    8392
    84     public static function get_development_mode() {
    85         return function_exists( 'wp_get_development_mode' ) ? wp_get_development_mode() : null;
    86     }
     93    public static function get_database_info() {
     94        global $wpdb;
    8795
    88     public static function get_database_info() {
    89         global $wpdb;
     96        if ( ! $wpdb ) {
     97            return [];
     98        }
    9099
    91         if ( ! $wpdb ) {
    92             return [];
    93         }
     100        $server_version = $wpdb->get_var( 'SELECT VERSION()' );
    94101
    95         $server_version = $wpdb->get_var( 'SELECT VERSION()' );
     102        return [
     103            'database_name'  => $wpdb->dbname,
     104            'database_user'  => $wpdb->dbuser,
     105            'database_host'  => $wpdb->dbhost,
     106            'server_version' => $server_version,
     107        ];
     108    }
    96109
    97         return [
    98             'database_name'  => $wpdb->dbname,
    99             'database_user'  => $wpdb->dbuser,
    100             'database_host'  => $wpdb->dbhost,
    101             'server_version' => $server_version,
    102         ];
    103     }
    104 
    105     public static function get_all() {
    106         return [
    107             'php'       => [
    108                 'version'         => self::get_php_version(),
    109                 'sapi'            => self::get_php_sapi(),
    110                 'user'            => self::get_php_user(),
    111                 'ini_values'      => self::get_php_ini_values(),
    112                 'extensions'      => self::get_php_extensions(),
    113                 'error_reporting' => self::get_php_error_reporting(),
    114             ],
    115             'server'    => [
    116                 'software' => self::get_server_software(),
    117                 'address'  => self::get_server_address(),
    118                 'os'       => self::get_server_os(),
    119                 'host'     => self::get_server_host(),
    120                 'arch'     => self::get_server_arch(),
    121             ],
    122             'wordpress' => [
    123                 'version'          => self::get_wordpress_version(),
    124                 'constants'        => self::get_wordpress_constants(),
    125                 'environment_type' => self::get_environment_type(),
    126                 'development_mode' => self::get_development_mode(),
    127             ],
    128             'database'  => self::get_database_info(),
    129         ];
    130     }
     110    public static function get_all() {
     111        return [
     112            'php'       => [
     113                'version'         => self::get_php_version(),
     114                'sapi'            => self::get_php_sapi(),
     115                'user'            => self::get_php_user(),
     116                'ini_values'      => self::get_php_ini_values(),
     117                'extensions'      => self::get_php_extensions(),
     118                'error_reporting' => self::get_php_error_reporting(),
     119            ],
     120            'server'    => [
     121                'software' => self::get_server_software(),
     122                'address'  => self::get_server_address(),
     123                'os'       => self::get_server_os(),
     124                'host'     => self::get_server_host(),
     125                'arch'     => self::get_server_arch(),
     126            ],
     127            'wordpress' => [
     128                'version'          => self::get_wordpress_version(),
     129                'constants'        => self::get_wordpress_constants(),
     130                'environment_type' => self::get_environment_type(),
     131                'development_mode' => self::get_development_mode(),
     132            ],
     133            'database'  => self::get_database_info(),
     134        ];
     135    }
    131136}
  • boltaudit/trunk/app/Repositories/PluginsRepository.php

    r3329062 r3334205  
    11<?php
     2namespace BoltAudit\App\Repositories;
    23
    3 namespace BoltAudit\App\Repositories;
     4defined( 'ABSPATH' ) || exit;
    45
    56use BoltAudit\App\Repositories\OptionsRepository;
    67
    78class PluginsRepository {
    8 
    99    protected static $cached_plugins_data = null;
    1010
     
    2222        }
    2323
    24         $all_plugins    = get_plugins();
    25         $plugin_updates = get_plugin_updates();
    26         $plugins_data   = [];
    27         $active_plugins = get_option( 'active_plugins', [] );
     24        $all_plugins  = get_plugins();
     25        $plugins_data = [];
    2826
    2927        foreach ( $all_plugins as $plugin_file => $plugin_data ) {
    30             $slug         = dirname( $plugin_file );
    31             $version      = $plugin_data['Version'] ?? 'unknown';
    32             $option_key   = "plugin_data_{$slug}_v{$version}";
    33             $cached_entry = OptionsRepository::get_option( $option_key, 'plugins_cache' );
    34 
    35             if ( $cached_entry && ! empty( $cached_entry['data'] ) ) {
    36                 $plugins_data[] = json_decode( $cached_entry['data'], true );
    37                 continue;
    38             }
    39 
    40             $wp_org_info  = self::fetch_wp_org_info( $slug );
    41             $is_wp_repo   = ! empty( $wp_org_info ) && ! is_wp_error( $wp_org_info );
    42             $last_updated = $is_wp_repo ? ( $wp_org_info->last_updated ?? null ) : null;
    43             $is_abandoned = $last_updated ? self::is_abandoned( $last_updated ) : null;
    44 
    45             $data = [
    46                 'name'          => $plugin_data['Name'] ?? '',
    47                 'slug'          => $slug,
    48                 'plugin_file'   => $plugin_file,
    49                 'needs_upgrade' => isset( $plugin_updates[$plugin_file] ),
    50                 'is_wp_repo'    => $is_wp_repo,
    51                 'is_active'     => in_array( $plugin_file, $active_plugins ),
    52                 'last_updated'  => $last_updated,
    53                 'is_abandoned'  => $is_abandoned,
    54                 'version'       => $version,
    55             ];
    56 
    57             OptionsRepository::create_option( $option_key, 'plugins_cache', $data );
    58             $plugins_data[] = $data;
     28            $plugins_data[] = SinglePluginRepository::get_basic_plugin_data( $plugin_file, $plugin_data );
    5929        }
    6030
     
    6232
    6333        return $plugins_data;
    64     }
    65 
    66     protected static function is_wp_org_plugin( $plugin ) {
    67         foreach ( ['PluginURI', 'AuthorURI'] as $key ) {
    68             if ( ! empty( $plugin[$key] ) && strpos( $plugin[$key], 'wordpress.org' ) !== false ) {
    69                 return true;
    70             }
    71         }
    72 
    73         return false;
    74     }
    75 
    76     protected static function fetch_wp_org_info( $slug ) {
    77         if ( ! function_exists( 'plugins_api' ) ) {
    78             require_once ABSPATH . 'wp-admin/includes/plugin-install.php';
    79         }
    80 
    81         $info = plugins_api( 'plugin_information', ['slug' => $slug, 'fields' => ['last_updated' => true]] );
    82         if ( is_wp_error( $info ) ) {
    83             return;
    84         }
    85 
    86         return $info;
    87     }
    88 
    89     protected static function is_abandoned( $last_updated ) {
    90         $then = strtotime( $last_updated );
    91         if ( ! $then ) {
    92             return false;
    93         }
    94 
    95         return ( time() - $then ) > YEAR_IN_SECONDS;
    9634    }
    9735
     
    11149        $suggestions = [];
    11250
    113         $abandoned_plugins = array_filter( $plugins, function ( $plugin ) {
    114             return true === $plugin['is_abandoned'];
    115         } );
     51        $abandoned_plugins = array_filter(
     52            $plugins, function ( $plugin ) {
     53                return true === $plugin['is_abandoned'];
     54            }
     55        );
    11656
    117         $plugins_needing_update = array_filter( $plugins, function ( $plugin ) {
    118             return true === $plugin['needs_upgrade'];
    119         } );
     57        $plugins_needing_update = array_filter(
     58            $plugins, function ( $plugin ) {
     59                return true === $plugin['needs_upgrade'];
     60            }
     61        );
    12062
    12163        $total_plugins    = $counts['total'] ?? count( $plugins );
     
    182124        }
    183125
    184         $all_plugins    = get_plugins();
    185         $plugin_updates = get_plugin_updates();
    186         $active_plugins = get_option( 'active_plugins', [] );
    187 
    188         $offset  = ( $page - 1 ) * $per_page;
    189         $slice   = array_slice( $all_plugins, $offset, $per_page, true );
    190         $plugins = [];
     126        $all_plugins  = get_plugins();
     127        $offset       = ( $page - 1 ) * $per_page;
     128        $slice        = array_slice( $all_plugins, $offset, $per_page, true );
     129        $plugins_data = [];
    191130
    192131        foreach ( $slice as $plugin_file => $plugin_data ) {
    193             $slug         = dirname( $plugin_file );
    194             $version      = $plugin_data['Version'] ?? 'unknown';
    195             $option_key   = "plugin_data_{$slug}_v{$version}";
    196             $cached_entry = OptionsRepository::get_option( $option_key, 'plugins_cache' );
    197 
    198             if ( $cached_entry && ! empty( $cached_entry['data'] ) ) {
    199                 $plugins[] = json_decode( $cached_entry['data'], true );
    200                 continue;
    201             }
    202 
    203             $wp_org_info  = self::fetch_wp_org_info( $slug );
    204             $is_wp_repo   = ! empty( $wp_org_info ) && ! is_wp_error( $wp_org_info );
    205             $last_updated = $is_wp_repo ? ( $wp_org_info->last_updated ?? null ) : null;
    206             $is_abandoned = $last_updated ? self::is_abandoned( $last_updated ) : null;
    207 
    208             $data = [
    209                 'name'          => $plugin_data['Name'] ?? '',
    210                 'slug'          => $slug,
    211                 'plugin_file'   => $plugin_file,
    212                 'needs_upgrade' => isset( $plugin_updates[$plugin_file] ),
    213                 'is_wp_repo'    => $is_wp_repo,
    214                 'is_active'     => in_array( $plugin_file, $active_plugins ),
    215                 'last_updated'  => $last_updated,
    216                 'is_abandoned'  => $is_abandoned,
    217                 'version'       => $version,
    218             ];
    219 
    220             OptionsRepository::create_option( $option_key, 'plugins_cache', $data );
    221             $plugins[] = $data;
     132            $plugins_data[] = SinglePluginRepository::get_basic_plugin_data( $plugin_file, $plugin_data );
    222133        }
    223134
    224135        return [
    225             'plugins'       => $plugins,
     136            'plugins'       => $plugins_data,
    226137            'total_plugins' => count( $all_plugins ),
    227138        ];
     
    238149        $inactive       = $total - $active;
    239150
    240         $cached    = OptionsRepository::get_all_options( 'plugins_cache' );
     151        $cached    = OptionsRepository::get_all_options( 'plugin_basic_cache' );
    241152        $abandoned = 0;
    242153        foreach ( $cached as $entry ) {
  • boltaudit/trunk/assets/build/38.js

    r3322989 r3334205  
    1 "use strict";(globalThis.webpackChunkboltaudit=globalThis.webpackChunkboltaudit||[]).push([[38],{38:(e,a,_)=>{_.r(a),_.d(a,{default:()=>n});var t=_(609),i=_(494),c=_(788);const s="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuNSAyLjI1QzcuNzc2MTQgMi4yNSA4IDIuNDczODYgOCAyLjc1VjdIMTIuMjVDMTIuNTI2MSA3IDEyLjc1IDcuMjIzODYgMTIuNzUgNy41QzEyLjc1IDcuNzc2MTQgMTIuNTI2MSA4IDEyLjI1IDhIOFYxMi4yNUM4IDEyLjUyNjEgNy43NzYxNCAxMi43NSA3LjUgMTIuNzVDNy4yMjM4NiAxMi43NSA3IDEyLjUyNjEgNyAxMi4yNVY4SDIuNzVDMi40NzM4NiA4IDIuMjUgNy43NzYxNCAyLjI1IDcuNUMyLjI1IDcuMjIzODYgMi40NzM4NiA3IDIuNzUgN0g3VjIuNzVDNyAyLjQ3Mzg2IDcuMjIzODYgMi4yNSA3LjUgMi4yNVoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=";function n(){return(0,t.createElement)("div",{className:"ba-dashboard__content__sidebar__widget__single"},(0,t.createElement)("div",{className:"ba-dashboard__content__sidebar__widget__single__top"},(0,t.createElement)("h4",{className:"ba-dashboard__content__sidebar__widget__single__title"},"Switch Page"),(0,t.createElement)("button",{className:"ba-dashboard__content__sidebar__widget__single__add"},(0,t.createElement)(i.A,{src:s,width:20,height:20}))),(0,t.createElement)("div",{className:"ba-dashboard__content__sidebar__widget__single__content"},(0,t.createElement)("ul",{className:"ba-dashboard__content__sidebar__widget__info"},(0,t.createElement)("li",{className:"ba-dashboard__content__sidebar__widget__info__item"},(0,t.createElement)(c.k2,{activeclassname:"active",to:"/shop",className:"ba-dashboard__content__sidebar__widget__info__link"},"Shop")),(0,t.createElement)("li",{className:"ba-dashboard__content__sidebar__widget__info__item"},(0,t.createElement)(c.k2,{activeclassname:"active",to:"/cart",className:"ba-dashboard__content__sidebar__widget__info__link"},"Cart")),(0,t.createElement)("li",{className:"ba-dashboard__content__sidebar__widget__info__item"},(0,t.createElement)(c.k2,{activeclassname:"active",to:"/checkout",className:"ba-dashboard__content__sidebar__widget__info__link"},"Checkout")))))}}}]);
     1"use strict";(globalThis.webpackChunkboltaudit=globalThis.webpackChunkboltaudit||[]).push([[38],{38:(e,a,_)=>{_.r(a),_.d(a,{default:()=>n});var t=_(609),i=_(494),c=_(920);const s="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuNSAyLjI1QzcuNzc2MTQgMi4yNSA4IDIuNDczODYgOCAyLjc1VjdIMTIuMjVDMTIuNTI2MSA3IDEyLjc1IDcuMjIzODYgMTIuNzUgNy41QzEyLjc1IDcuNzc2MTQgMTIuNTI2MSA4IDEyLjI1IDhIOFYxMi4yNUM4IDEyLjUyNjEgNy43NzYxNCAxMi43NSA3LjUgMTIuNzVDNy4yMjM4NiAxMi43NSA3IDEyLjUyNjEgNyAxMi4yNVY4SDIuNzVDMi40NzM4NiA4IDIuMjUgNy43NzYxNCAyLjI1IDcuNUMyLjI1IDcuMjIzODYgMi40NzM4NiA3IDIuNzUgN0g3VjIuNzVDNyAyLjQ3Mzg2IDcuMjIzODYgMi4yNSA3LjUgMi4yNVoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=";function n(){return(0,t.createElement)("div",{className:"ba-dashboard__content__sidebar__widget__single"},(0,t.createElement)("div",{className:"ba-dashboard__content__sidebar__widget__single__top"},(0,t.createElement)("h4",{className:"ba-dashboard__content__sidebar__widget__single__title"},"Switch Page"),(0,t.createElement)("button",{className:"ba-dashboard__content__sidebar__widget__single__add"},(0,t.createElement)(i.A,{src:s,width:20,height:20}))),(0,t.createElement)("div",{className:"ba-dashboard__content__sidebar__widget__single__content"},(0,t.createElement)("ul",{className:"ba-dashboard__content__sidebar__widget__info"},(0,t.createElement)("li",{className:"ba-dashboard__content__sidebar__widget__info__item"},(0,t.createElement)(c.k2,{activeclassname:"active",to:"/shop",className:"ba-dashboard__content__sidebar__widget__info__link"},"Shop")),(0,t.createElement)("li",{className:"ba-dashboard__content__sidebar__widget__info__item"},(0,t.createElement)(c.k2,{activeclassname:"active",to:"/cart",className:"ba-dashboard__content__sidebar__widget__info__link"},"Cart")),(0,t.createElement)("li",{className:"ba-dashboard__content__sidebar__widget__info__item"},(0,t.createElement)(c.k2,{activeclassname:"active",to:"/checkout",className:"ba-dashboard__content__sidebar__widget__info__link"},"Checkout")))))}}}]);
  • boltaudit/trunk/assets/build/452.js

    r3329062 r3334205  
    1 "use strict";(globalThis.webpackChunkboltaudit=globalThis.webpackChunkboltaudit||[]).push([[452],{326:(e,a,t)=>{t.d(a,{A:()=>n}),t(609);const n="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxNyAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTExLjQ1NzMgOS43MDg1SDIuODMzMzdWOC4yOTE4M0gxMS40NTczTDcuNDkwNjcgNC4zMjUxNkw4LjUwMDA0IDMuMzMzNUwxNC4xNjY3IDkuMDAwMTZMOC41MDAwNCAxNC42NjY4TDcuNDkwNjcgMTMuNjc1MkwxMS40NTczIDkuNzA4NVoiIGZpbGw9IiMwMDZFRkYiLz4KPC9zdmc+Cg=="},403:(e,a,t)=>{t.d(a,{A:()=>n}),t(609);const n="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuNDk5MDIgMC44NzY5NTNDMTEuMTU2NCAwLjg3Njk1MyAxNC4xMjE3IDMuODQxNjkgMTQuMTIyMSA3LjQ5OTAyQzE0LjEyMjEgMTEuMTU2NyAxMS4xNTY3IDE0LjEyMjEgNy40OTkwMiAxNC4xMjIxQzMuODQxNjkgMTQuMTIxNyAwLjg3Njk1MyAxMS4xNTY0IDAuODc2OTUzIDcuNDk5MDJDMC44NzczNjQgMy44NDE5NCAzLjg0MTk0IDAuODc3MzY0IDcuNDk5MDIgMC44NzY5NTNaTTcuNDk5MDIgMS44MjYxN0M0LjM2NjYxIDEuODI2NTggMS44MjY1OCA0LjM2NjYxIDEuODI2MTcgNy40OTkwMkMxLjgyNjE3IDEwLjYzMTggNC4zNjYzNiAxMy4xNzE1IDcuNDk5MDIgMTMuMTcxOUMxMC42MzIgMTMuMTcxOSAxMy4xNzE5IDEwLjYzMiAxMy4xNzE5IDcuNDk5MDJDMTMuMTcxNSA0LjM2NjM2IDEwLjYzMTggMS44MjYxNyA3LjQ5OTAyIDEuODI2MTdaTTcuNjAwNTkgNi4wMDk3N0M3LjgyODUgNi4wNTYzMiA3Ljk5OTk4IDYuMjU4MzMgOCA2LjVWMTBIOVYxMUg2VjEwSDdWN0g2VjZINy41TDcuNjAwNTkgNi4wMDk3N1pNNy41IDMuNzVDNy45MTQxMSAzLjc1MDExIDguMjQ5OTcgNC4wODU4OCA4LjI1IDQuNUM4LjI1IDQuOTE0MTUgNy45MTQxMiA1LjI0OTg5IDcuNSA1LjI1QzcuMDg1NzkgNS4yNSA2Ljc1IDQuOTE0MjEgNi43NSA0LjVDNi43NTAwMyA0LjA4NTgxIDcuMDg1OCAzLjc1IDcuNSAzLjc1WiIgZmlsbD0iYmxhY2siLz4KPC9zdmc+Cg=="},452:(e,a,t)=>{t.r(a),t.d(a,{default:()=>d});var n=t(609),c=t(160),s=t(773),l=t(494),i=t(87),_=t(12),o=t(326),N=t(403);function d(){const[e,a]=(0,i.useState)([]),[t,d]=(0,i.useState)(null),[M,u]=(0,i.useState)(null),[r,g]=(0,i.useState)(1),[m,D]=(0,i.useState)(!0);(0,i.useEffect)(()=>{let e=!1;return async function(t){var n,c;const s=await(0,_.A)("boltaudit/reports/plugins",{page:t,per_page:10});s&&!e&&(a(e=>[...e,...s.plugins]),d(null!==(n=s?.counts)&&void 0!==n?n:1),u(null!==(c=s?.total_plugins)&&void 0!==c?c:1),10*t<s.total_plugins?g(t+1):D(!1))}(r),()=>{e=!0}},[r]);const b=(0,i.useMemo)(()=>null===M?null:{plugins:e,counts:t||{total:M,active:0,inactive:0,abandoned:0}},[e,t,M]);return b?(0,n.createElement)("div",{id:"ba-dashboard__plugins",className:"ba-dashboard__content__section"},(0,n.createElement)("h4",{className:"ba-dashboard__content__section__title"},"Plugin Audit"),(0,n.createElement)("p",{className:"ba-dashboard__content__section__desc"},"Get a quick overview of your site’s plugins—what’s active, inactive, outdated, or abandoned.",(0,n.createElement)("br",null),"Spot bloat, reduce risks, and keep your stack lean by identifying what’s helping and what’s just hanging around."),(0,n.createElement)("div",{className:"ba-dashboard__content__section__content"},(0,n.createElement)("div",{className:"ba-dashboard__content__section__overview equal-height"},(0,n.createElement)("div",{className:"ba-dashboard__content__section__overview__single"},(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__title"},"Total"),(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__count"},(0,n.createElement)(s.A,{target:b?.counts.total}))),(0,n.createElement)("div",{className:"ba-dashboard__content__section__overview__single"},(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__title"},"Active"),(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__count"},(0,n.createElement)(s.A,{target:b?.counts.active}))),(0,n.createElement)("div",{className:"ba-dashboard__content__section__overview__single"},(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__title"},"Inactive"),(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__count"},(0,n.createElement)(s.A,{target:b?.counts.inactive}))),(0,n.createElement)("div",{className:"ba-dashboard__content__section__overview__single"},(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__title"},"Abandoned"),(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__count"},(0,n.createElement)(s.A,{target:b?.counts.abandoned})))),(0,n.createElement)("div",{className:"ba-dashboard__content__section__data"},(0,n.createElement)("table",null,(0,n.createElement)("thead",null,(0,n.createElement)("tr",null,(0,n.createElement)("th",null,"Name"),(0,n.createElement)("th",null,"Details",(0,n.createElement)("span",{className:"bs-dashboard-tooltip"},(0,n.createElement)(l.A,{src:N.A,width:16,height:16}),(0,n.createElement)("span",{className:"bs-dashboard-tooltip-content"},"Upcoming"))))),(0,n.createElement)("tbody",null,b?.plugins.map((e,a)=>(0,n.createElement)("tr",{key:a},(0,n.createElement)("td",{className:"plugin-name"},e.name,(0,n.createElement)("div",{className:"flex gap-1 mt-1 flex-wrap"},e.is_active?(0,n.createElement)("span",{className:"plugin-badge active"},"Active"):(0,n.createElement)("span",{className:"plugin-badge inactive"},"Inctive"),e.needs_upgrade&&(0,n.createElement)("span",{className:"plugin-badge upgrade"},"Outdated"),e.is_abandoned&&(0,n.createElement)("span",{className:"plugin-badge abandoned"},"Abandoned"))),(0,n.createElement)("td",null,(0,n.createElement)("a",{href:"#",className:"action"},"Check"," ",(0,n.createElement)(l.A,{src:o.A,width:16,height:16})))))))))):(0,n.createElement)(c.A,null)}}}]);
     1"use strict";(globalThis.webpackChunkboltaudit=globalThis.webpackChunkboltaudit||[]).push([[452],{326:(e,a,t)=>{t.d(a,{A:()=>n}),t(609);const n="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxNyAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTExLjQ1NzMgOS43MDg1SDIuODMzMzdWOC4yOTE4M0gxMS40NTczTDcuNDkwNjcgNC4zMjUxNkw4LjUwMDA0IDMuMzMzNUwxNC4xNjY3IDkuMDAwMTZMOC41MDAwNCAxNC42NjY4TDcuNDkwNjcgMTMuNjc1MkwxMS40NTczIDkuNzA4NVoiIGZpbGw9IiMwMDZFRkYiLz4KPC9zdmc+Cg=="},403:(e,a,t)=>{t.d(a,{A:()=>n}),t(609);const n="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuNDk5MDIgMC44NzY5NTNDMTEuMTU2NCAwLjg3Njk1MyAxNC4xMjE3IDMuODQxNjkgMTQuMTIyMSA3LjQ5OTAyQzE0LjEyMjEgMTEuMTU2NyAxMS4xNTY3IDE0LjEyMjEgNy40OTkwMiAxNC4xMjIxQzMuODQxNjkgMTQuMTIxNyAwLjg3Njk1MyAxMS4xNTY0IDAuODc2OTUzIDcuNDk5MDJDMC44NzczNjQgMy44NDE5NCAzLjg0MTk0IDAuODc3MzY0IDcuNDk5MDIgMC44NzY5NTNaTTcuNDk5MDIgMS44MjYxN0M0LjM2NjYxIDEuODI2NTggMS44MjY1OCA0LjM2NjYxIDEuODI2MTcgNy40OTkwMkMxLjgyNjE3IDEwLjYzMTggNC4zNjYzNiAxMy4xNzE1IDcuNDk5MDIgMTMuMTcxOUMxMC42MzIgMTMuMTcxOSAxMy4xNzE5IDEwLjYzMiAxMy4xNzE5IDcuNDk5MDJDMTMuMTcxNSA0LjM2NjM2IDEwLjYzMTggMS44MjYxNyA3LjQ5OTAyIDEuODI2MTdaTTcuNjAwNTkgNi4wMDk3N0M3LjgyODUgNi4wNTYzMiA3Ljk5OTk4IDYuMjU4MzMgOCA2LjVWMTBIOVYxMUg2VjEwSDdWN0g2VjZINy41TDcuNjAwNTkgNi4wMDk3N1pNNy41IDMuNzVDNy45MTQxMSAzLjc1MDExIDguMjQ5OTcgNC4wODU4OCA4LjI1IDQuNUM4LjI1IDQuOTE0MTUgNy45MTQxMiA1LjI0OTg5IDcuNSA1LjI1QzcuMDg1NzkgNS4yNSA2Ljc1IDQuOTE0MjEgNi43NSA0LjVDNi43NTAwMyA0LjA4NTgxIDcuMDg1OCAzLjc1IDcuNSAzLjc1WiIgZmlsbD0iYmxhY2siLz4KPC9zdmc+Cg=="},452:(e,a,t)=>{t.r(a),t.d(a,{default:()=>N});var n=t(609),c=t(160),s=(t(773),t(87)),l=t(494),i=t(12),_=t(326),o=(t(403),t(920));function N(){const[e,a]=(0,s.useState)([]),[t,N]=(0,s.useState)(null),[M,u]=(0,s.useState)(null),[d,g]=(0,s.useState)(1),[r,m]=(0,s.useState)(!0);(0,s.useEffect)(()=>{let e=!1;return async function(t){var n,c;const s=await(0,i.A)("boltaudit/reports/plugins",{page:t,per_page:10});s&&!e&&(a(e=>[...e,...s.plugins]),N(null!==(n=s?.counts)&&void 0!==n?n:1),u(null!==(c=s?.total_plugins)&&void 0!==c?c:1),10*t<s.total_plugins?g(t+1):m(!1))}(d),()=>{e=!0}},[d]);const D=(0,s.useMemo)(()=>null===M?null:{plugins:e,counts:t||{total:M,active:0,inactive:0,abandoned:0}},[e,t,M]);return(0,n.createElement)("div",{id:"ba-dashboard__plugins",className:"ba-dashboard__content__section"},(0,n.createElement)("h4",{className:"ba-dashboard__content__section__title"},"Plugin Audit"),(0,n.createElement)("p",{className:"ba-dashboard__content__section__desc"},"Get a quick overview of your site’s plugins—what’s active, inactive, outdated, or abandoned.",(0,n.createElement)("br",null),"Spot bloat, reduce risks, and keep your stack lean by identifying what’s helping and what’s just hanging around."),(0,n.createElement)("div",{className:"ba-dashboard__content__section__content"},D?(0,n.createElement)("div",{className:"ba-dashboard__content__section__overview equal-height"},(0,n.createElement)("div",{className:"ba-dashboard__content__section__overview__single"},(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__title"},"Total"),(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__count"},D?.counts.total)),(0,n.createElement)("div",{className:"ba-dashboard__content__section__overview__single"},(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__title"},"Active"),(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__count"},D?.counts.active)),(0,n.createElement)("div",{className:"ba-dashboard__content__section__overview__single"},(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__title"},"Inactive"),(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__count"},D?.counts.inactive)),(0,n.createElement)("div",{className:"ba-dashboard__content__section__overview__single"},(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__title"},"Abandoned"),(0,n.createElement)("span",{className:"ba-dashboard__content__section__overview__count"},D?.counts.abandoned))):(0,n.createElement)(c.A,null),(0,n.createElement)("div",{className:"ba-dashboard__content__section__data"},D?(0,n.createElement)("table",null,(0,n.createElement)("thead",null,(0,n.createElement)("tr",null,(0,n.createElement)("th",null,"Name"),(0,n.createElement)("th",null,"Details"))),(0,n.createElement)("tbody",null,D?.plugins.map((e,a)=>(0,n.createElement)("tr",{key:a},(0,n.createElement)("td",{className:"plugin-name"},e.name,(0,n.createElement)("div",{className:"flex gap-1 mt-1 flex-wrap"},e.is_active?(0,n.createElement)("span",{className:"plugin-badge active"},"Active"):(0,n.createElement)("span",{className:"plugin-badge inactive"},"Inctive"),e.needs_upgrade&&(0,n.createElement)("span",{className:"plugin-badge upgrade"},"Outdated"),e.is_abandoned&&(0,n.createElement)("span",{className:"plugin-badge abandoned"},"Abandoned"))),(0,n.createElement)("td",null,e.is_active?(0,n.createElement)(o.N_,{to:`/plugin/${e.slug}`,className:"action"},"Check"," ",(0,n.createElement)(l.A,{src:_.A,width:16,height:16})):(0,n.createElement)("span",null,"-")))))):(0,n.createElement)(c.A,null))))}}}]);
  • boltaudit/trunk/assets/build/863.js

    r3322989 r3334205  
    1 "use strict";(globalThis.webpackChunkboltaudit=globalThis.webpackChunkboltaudit||[]).push([[863],{863:(e,a,t)=>{t.r(a),t.d(a,{default:()=>r});var n=t(609),s=t(12),o=t(87);function r(){const[e,a]=(0,o.useState)({}),[t,r]=(0,o.useState)(null);(0,o.useEffect)(()=>{(0,s.A)("boltaudit/reports/environment").then(e=>{a(e);const t=Object.keys(e)[0];r(t)})},[]);const _=function(e){const a={};for(const t in e){const n=e[t];if("object"!=typeof n||Array.isArray(n)||null===n)a[t]=n;else for(const e in n)a[e]=n[e]}return a}(e[t]);return(0,n.createElement)("div",{id:"ba-dashboard__environment",className:"ba-dashboard__content__section"},(0,n.createElement)("h4",{className:"ba-dashboard__content__section__title"},"Environment & Configuration Snapshot"),(0,n.createElement)("p",{className:"ba-dashboard__content__section__desc"},"Get a full snapshot of your server and WordPress setup—PHP version, memory limits, upload size, and more. ",(0,n.createElement)("br",null),"Useful for finding misconfigurations that affect performance or plugin compatibility."),(0,n.createElement)("div",{className:"ba-dashboard__content__section__content"},(0,n.createElement)("div",{className:"ba-dashboard__content__section__data"},(0,n.createElement)("div",{className:"ba-dashboard__tab"},(0,n.createElement)("ul",{className:"ba-dashboard__tab__list"},Object.keys(e).map(e=>(0,n.createElement)("li",{key:e,className:"ba-dashboard__tab__item "+(t===e?"active":""),onClick:()=>r(e)},"wordpress"===e?"WordPress":"php"===e?"PHP":e.charAt(0).toUpperCase()+e.slice(1)))),(0,n.createElement)("div",{className:"ba-dashboard__tab__content"},(0,n.createElement)("div",{className:"ba-dashboard__tab__content__wrap"},Object.entries(_).map(([e,a])=>(0,n.createElement)("div",{key:e,className:"ba-dashboard__tab__content__single"},(0,n.createElement)("span",{className:"ba-dashboard__tab__content__single__title"},e.replace(/_/g," ")),(0,n.createElement)("span",{className:"ba-dashboard__tab__content__single__value"},Array.isArray(a)?a.join(", "):null===a?"null":"boolean"==typeof a?a.toString():a)))))))))}}}]);
     1"use strict";(globalThis.webpackChunkboltaudit=globalThis.webpackChunkboltaudit||[]).push([[863],{863:(e,a,t)=>{t.r(a),t.d(a,{default:()=>c});var n=t(609),s=t(160),o=t(12),r=t(87);function c(){const[e,a]=(0,r.useState)({}),[t,c]=(0,r.useState)(null);(0,r.useEffect)(()=>{(0,o.A)("boltaudit/reports/environment").then(e=>{a(e);const t=Object.keys(e)[0];c(t)})},[]);const l=function(e){const a={};for(const t in e){const n=e[t];if("object"!=typeof n||Array.isArray(n)||null===n)a[t]=n;else for(const e in n)a[e]=n[e]}return a}(e[t]);return(0,n.createElement)("div",{id:"ba-dashboard__environment",className:"ba-dashboard__content__section"},(0,n.createElement)("h4",{className:"ba-dashboard__content__section__title"},"Environment & Configuration Snapshot"),(0,n.createElement)("p",{className:"ba-dashboard__content__section__desc"},"Get a full snapshot of your server and WordPress setup—PHP version, memory limits, upload size, and more. ",(0,n.createElement)("br",null),"Useful for finding misconfigurations that affect performance or plugin compatibility."),(0,n.createElement)("div",{className:"ba-dashboard__content__section__content"},(0,n.createElement)("div",{className:"ba-dashboard__content__section__data"},e?(0,n.createElement)("div",{className:"ba-dashboard__tab"},(0,n.createElement)("ul",{className:"ba-dashboard__tab__list"},Object.keys(e).map(e=>(0,n.createElement)("li",{key:e,className:"ba-dashboard__tab__item "+(t===e?"active":""),onClick:()=>c(e)},"wordpress"===e?"WordPress":"php"===e?"PHP":e.charAt(0).toUpperCase()+e.slice(1)))),(0,n.createElement)("div",{className:"ba-dashboard__tab__content"},(0,n.createElement)("div",{className:"ba-dashboard__tab__content__wrap"},Object.entries(l).length>0?Object.entries(l).map(([e,a])=>(0,n.createElement)("div",{key:e,className:"ba-dashboard__tab__content__single"},(0,n.createElement)("span",{className:"ba-dashboard__tab__content__single__title"},e.replace(/_/g," ")),(0,n.createElement)("span",{className:"ba-dashboard__tab__content__single__value"},Array.isArray(a)?a.join(", "):null===a?"null":"boolean"==typeof a?a.toString():a))):(0,n.createElement)(s.A,null)))):(0,n.createElement)(s.A,null))))}}}]);
  • boltaudit/trunk/assets/build/css/app.asset.php

    r3329062 r3334205  
    1 <?php return array('dependencies' => array(), 'version' => 'd1e86c7f38945946e356');
     1<?php return array('dependencies' => array(), 'version' => '2403ade0de2de0a6d97f');
  • boltaudit/trunk/assets/build/css/app.css

    r3329062 r3334205  
    1 :root{--ba-dashboard-primary-color:#006eff;--ba-dashboard-secondary-color:#00429b;--ba-dashboard-dark-color:#000;--ba-dashboard-white-color:#fff;--ba-dashboard-title-color:#4b5563;--ba-dashboard-body-color:#6b7280;--ba-dashboard-gray-color:#98a2b3;--ba-dashboard-menu-color:#062a5d;--ba-dashboard-input-color:#475467;--ba-dashboard-menu-border-color:#aee2ff;--ba-dashboard-menu-bg-color:#eaf8ff;--ba-dashboard-border-color:#d0d5dd;--ba-dashboard-section-border-color:#eaecf0;--ba-dashboard-section-bg-color:#eaecf0;--ba-dashboard-input-bg-color:#f2f4f7;--ba-dashboard-success-color:#00854e;--ba-dashboard-danger-color:#fb3d38;--ba-dashboard-warning-color:#ff9e2f;--ba-dashboard-info-color:#009ae5;--ba-dashboard-primary-transparent:#f2ecff;--ba-dashboard-success-transparent:#96eec2;--ba-dashboard-box-shadow:0 1px 2px 0 #1018280d;--ba-dashboard-section-box-shadow:0 2px 2px 0 #00000014;--ba-dashboard-font-family:"Inter",sans-serif}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(../fonts/Inter-Regular.85c12872.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(../fonts/Inter-Medium.da6143a9.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(../fonts/Inter-SemiBold.59404139.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(../fonts/Inter-Bold.54851dc3.woff2) format("woff2")}body{color:var(--ba-dashboard-body-color);font-family:var(--ba-dashboard-font-family);font-size:16px;font-weight:500;line-height:1.6}li,ul{margin:0;padding:0}a{text-decoration:none;transition:color .3s ease}a,button{cursor:pointer}button{background:transparent;border:none;box-shadow:none;outline:none;padding:0}img{max-width:100%}.text-primary{color:var(--ba-dashboard-primary-color)!important}.text-dark{color:var(--ba-dashboard-dark-color)!important}.text-white{color:var(--ba-dashboard-white-color)!important}.text-success{color:var(--ba-dashboard-success-color)!important}.text-warning{color:var(--ba-dashboard-warning-color)!important}.text-danger{color:var(--ba-dashboard-danger-color)!important}.text-body{color:var(--ba-dashboard-body-color)!important}.normal{font-weight:400!important}.medium{font-weight:500!important}.semi-bold{font-weight:600!important}.bold{font-weight:700!important}.uppercase{text-transform:uppercase!important}.capitalize{text-transform:capitalize!important}.text-center{text-align:center!important}html{scroll-behavior:smooth}.bs-dashboard-tooltip{position:relative}.bs-dashboard-tooltip:hover svg path{fill:var(--ba-dashboard-primary-color)}.bs-dashboard-tooltip:hover .bs-dashboard-tooltip-content{opacity:1;visibility:visible}.bs-dashboard-tooltip-content{background:var(--ba-dashboard-dark-color);border-radius:4px;color:var(--ba-dashboard-white-color);left:0;opacity:0;padding:3px 7px;position:absolute;top:100%;transition:all .3s ease;visibility:hidden;width:-moz-max-content;width:max-content}.bs-dashboard-tooltip-content:before{border-bottom:6px solid var(--ba-dashboard-dark-color);border-left:6px solid transparent;border-right:6px solid transparent;bottom:100%;content:"";left:4px;position:absolute}.ba-dashboard__toolbar{font-size:14px;font-weight:600;line-height:1.2}.skeleton{animation:pulse 1.5s infinite;background-color:#f3f4f6;border-radius:.375rem}.ba-dashboard__header{align-items:center;border-bottom:1px solid var(--ba-dashboard-border-color);display:flex;gap:20px;height:60px;justify-content:space-between}.ba-dashboard__header__logo{align-items:center;border-right:1px solid var(--ba-dashboard-border-color);box-sizing:border-box;display:flex;gap:10px;height:100%;padding:15px 24px;width:280px}.ba-dashboard__header__logo img{height:25px}.ba-dashboard__header__content{align-items:center;display:flex;gap:24px;height:100%;padding-right:32px}.ba-dashboard__header__info{align-items:center;display:flex;gap:10px}.ba-dashboard__header__info__avatar{border-radius:100%;height:46px;width:46px}.ba-dashboard__header__info__content{display:flex;flex-direction:column}.ba-dashboard__header__info__title{color:var(--ba-dashboard-title-color);font-size:16px;font-weight:700;line-height:1.2}.ba-dashboard__header__info__subtitle{color:var(--ba-dashboard-body-color);font-size:14px;font-weight:500;line-height:1.6}.ba-dashboard__header__action{align-items:center;display:flex;gap:12px}.ba-dashboard__header__action__wrapper{position:relative;width:100%}.ba-dashboard__header__action__btn{align-items:center;border-radius:4px;display:flex;gap:10px;height:36px;padding:0 12px;transition:all .3s ease}.ba-dashboard__header__action__btn.active,.ba-dashboard__header__action__btn:hover{background:var(--ba-dashboard-primary-color);box-shadow:var(--ba-dashboard-box-shadow);color:var(--ba-dashboard-white-color)}.ba-dashboard__header__action__btn.active svg path,.ba-dashboard__header__action__btn:hover svg path{fill:var(--ba-dashboard-white-color)}.ba-dashboard__header__action__dropdown{background-color:var(--ba-dashboard-section-bg-color);border-radius:6px;box-shadow:var(--ba-dashboard-box-shadow);left:0;min-width:150px;padding:10px 0;position:absolute;top:100%}.ba-dashboard__header__action__link{align-items:center;box-sizing:border-box;color:var(--ba-dashboard-body-color);display:inline-flex;gap:6px;height:30px;padding:0 15px;width:100%}.ba-dashboard__header__action__link:not(:last-child){border-bottom:1px solid var(--ba-dashboard-border-color)}.ba-dashboard__header__action__link:hover{color:var(--ba-dashboard-primary-color)}.ba-dashboard__sidebar{background-color:var(--ba-dashboard-white-color);border-right:1px solid var(--ba-dashboard-border-color);box-sizing:border-box;min-width:280px;padding:24px;width:280px}.ba-dashboard__sidebar.sidebar-fixed{height:100dvh;left:160px;position:fixed;top:32px;z-index:100}.ba-dashboard__sidebar.sidebar-fixed~.ba-dashboard__content{padding-left:312px}.ba-dashboard__sidebar__menu{display:flex;flex-direction:column;margin:0}.ba-dashboard__sidebar__menu__link{border:2px solid transparent;border-radius:30px;box-sizing:border-box;color:var(--ba-dashboard-menu-color);cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:8px;height:52px;line-height:1.2;margin:0;padding:16px 24px}.ba-dashboard__sidebar__menu__link svg path{fill:var(--ba-dashboard-secondary-color)}.ba-dashboard__sidebar__menu__link.active,.ba-dashboard__sidebar__menu__link:hover{background-color:var(--ba-dashboard-menu-bg-color);border-color:var(--ba-dashboard-menu-border-color);font-weight:700}.wp-admin.folded .ba-dashboard__sidebar.sidebar-fixed{left:36px}.wp-admin.tools_page_boltaudit #wpbody-content{padding-bottom:0}.wp-admin.tools_page_boltaudit #wpfooter{display:none}.ba-dashboard__content__footer{align-items:center;border-top:1px solid var(--ba-dashboard-border-color);display:flex;gap:24px;justify-content:space-between;padding:16px 0 0}.ba-dashboard__content__footer__logo{height:25px}.ba-dashboard__content__footer__contact{color:var(--ba-dashboard-body-color);text-decoration:none}.ba-dashboard__content__footer__contact:hover{color:var(--ba-dashboard-primary-color)}.ba-dashboard__content{background:#f0f0f1;box-sizing:border-box;display:flex;gap:32px;padding:40px 32px}.ba-dashboard__content__wrapper{display:flex;flex-direction:column;gap:48px}.ba-dashboard__content__section{background:#fff;border:1px solid var(--ba-dashboard-section-border-color);border-radius:12px;box-shadow:var(--ba-dashboard-section-box-shadow);box-sizing:border-box;padding:32px 24px}.ba-dashboard__content__section__top{display:flex;gap:24px;justify-content:space-between;margin:0 0 20px}.ba-dashboard__content__section__toggle{color:var(--ba-dashboard-primary-color);font-size:14px;font-weight:400;line-height:1.2;padding:0}.ba-dashboard__content__section__title{color:var(--ba-dashboard-dark-color);font-size:24px;font-weight:700;line-height:1.2;margin:0 0 6px}.ba-dashboard__content__section__title--recommendation{font-size:14px;font-weight:600;margin:0 0 4px}.ba-dashboard__content__section__desc{color:var(--ba-dashboard-body-color);font-size:16px;font-weight:500;line-height:1.6;margin:0 0 20px}.ba-dashboard__content__section__desc--recommendation{font-size:12px;font-weight:400;line-height:1.6;margin:0 0 12px}.ba-dashboard__content__section__content{margin:20px 0 0}.ba-dashboard__content__section__overview{align-items:center;align-items:stretch;display:flex;flex-wrap:wrap;gap:24px}.ba-dashboard__content__section__overview__single{align-items:center;background-color:var(--ba-dashboard-section-bg-color);border-radius:8px;box-sizing:border-box;display:flex;flex:1;flex:0 0 25%;flex-direction:column;gap:4px;max-width:22.91%;padding:24px}.ba-dashboard__content__section__overview__title{color:var(--ba-dashboard-title-color);font-size:16px;font-weight:500;line-height:1.2;text-align:center}.ba-dashboard__content__section__overview__count{color:var(--ba-dashboard-dark-color);font-size:20px;font-weight:600;line-height:1.2}.ba-dashboard__content__section__data{margin-top:20px}.ba-dashboard__content__section__data table{border-collapse:collapse;width:100%}.ba-dashboard__content__section__data table th{background-color:var(--ba-dashboard-section-border-color);box-sizing:border-box;color:var(--ba-dashboard-title-color);font-size:14px;font-weight:600;height:40px;line-height:1.2;min-width:120px;padding:0 16px;text-align:center;width:auto}.ba-dashboard__content__section__data table th:first-child{border-radius:8px 0 0 0;text-align:left}.ba-dashboard__content__section__data table th:last-child{border-radius:0 8px 0 0;text-align:right;width:160px}.ba-dashboard__content__section__data table th .bs-dashboard-tooltip{margin-left:6px;top:4px}.ba-dashboard__content__section__data table tbody tr:last-child td:first-child{border-radius:0 0 0 8px}.ba-dashboard__content__section__data table tbody tr:last-child td:last-child{border-radius:0 0 8px 0}.ba-dashboard__content__section__data table td{border-bottom:1px solid var(--ba-dashboard-section-border-color);border-top:1px solid var(--ba-dashboard-section-border-color);color:var(--ba-dashboard-dark-color);font-size:14px;font-weight:500;height:40px;line-height:1.2;padding:0 16px;text-align:center}.ba-dashboard__content__section__data table td:first-child{border-left:1px solid var(--ba-dashboard-section-border-color)}.ba-dashboard__content__section__data table td:last-child{border-right:1px solid var(--ba-dashboard-section-border-color)}.ba-dashboard__content__section__data table td.plugin-name{align-items:center;display:flex;padding-bottom:5px;padding-top:5px}.ba-dashboard__content__section__data table td a{align-items:center;color:var(--ba-dashboard-primary-color);display:flex;gap:2px}.ba-dashboard__content__section__data table td a.action{justify-content:end}.ba-dashboard__content__section__data table td:first-child{text-align:left}.ba-dashboard__content__section__data table td:last-child{text-align:right}.ba-dashboard__content__section__data__post th{background:transparent!important;color:var(--ba-dashboard-dark-color)!important;font-size:16px!important;padding:0!important;text-align:left!important}.ba-dashboard__content__section__data__post th:last-child{width:auto!important}.ba-dashboard__content__section__data__post td{border:none!important;padding:0!important;text-align:left!important}.ba-dashboard__content__section__data__post tr td:not(:last-child) .data-progress-wrapper{margin-right:50px}.ba-dashboard__content__section__data__post .data-wrapper{align-items:center;display:flex;gap:10px}.ba-dashboard__content__section__data__post .data-progress-wrapper{background-color:var(--ba-dashboard-section-bg-color);border-radius:8px;display:flex;float:right;height:12px;min-width:160px;overflow:hidden;position:relative;width:100%}.ba-dashboard__content__section__data__post .data-progress-wrapper .data-progress{background-color:var(--ba-dashboard-primary-color);height:100%;left:0;position:absolute;top:0}.ba-dashboard__content__section--recommendation .ba-dashboard__content__section__content{border:1px solid var(--ba-dashboard-section-border-color);border-radius:8px;padding:24px}.ba-dashboard__content__overview__title{color:var(--ba-dashboard-dark-color);font-size:24px;font-weight:700;line-height:1.2;margin:0}.ba-dashboard__content__overview__subtitle{color:var(--ba-dashboard-title-color);font-size:16px;font-weight:500;line-height:1.2;margin:0 0 8px}.ba-dashboard__content__overview__desc{color:var(--ba-dashboard-body-color);font-size:16px;font-weight:500;line-height:1.6;margin:0 0 16px}.ba-dashboard__content__overview__intro{align-items:center;display:flex;gap:8px;margin:0 0 6px}.ba-dashboard__content__overview__badge{align-items:center;display:flex;gap:6px}.ba-dashboard__content__overview__badge__single{align-items:center;border:1px solid var(--ba-dashboard-section-border-color);border-radius:16px;color:var(--ba-dashboard-title-color);display:inline-flex;font-size:12px;font-weight:600;gap:4px;height:20px;line-height:1.2;padding:0 8px;transition:all .3s ease}.ba-dashboard__content__overview__badge__single svg path{fill:var(--ba-dashboard-title-color)}.ba-dashboard__content__overview__badge__single.active{background-color:var(--ba-dashboard-success-transparent);border-color:var(--ba-dashboard-success-transparent);color:var(--ba-dashboard-success-color)}.ba-dashboard__content__overview__badge__single.active svg path{fill:var(--ba-dashboard-success-color)}.ba-dashboard__content__overview__analysis{margin:50px 0 0}.ba-dashboard__content__sidebar{min-width:230px;width:230px}.ba-dashboard__content__sidebar__widget{display:flex;flex-direction:column;gap:24px}.ba-dashboard__content__sidebar__widget__single__title{color:var(--ba-dashboard-dark-color);font-size:16px;font-weight:700;line-height:1.2;margin:0}.ba-dashboard__content__sidebar__widget__single__subtitle{color:var(--ba-dashboard-dark-color);flex:0 0 100%;font-size:16px;font-weight:600;line-height:1.2;margin:0 0 12px}.ba-dashboard__content__sidebar__widget__single__code{align-items:center;background-color:var(--ba-dashboard-input-bg-color);border:1px solid var(--ba-dashboard-border-color);border-radius:4px;box-sizing:border-box;color:var(--ba-dashboard-input-color);display:inline-flex;gap:10px;height:40px;justify-content:space-between;margin:0 0 20px;padding:0 10px;width:100%}.ba-dashboard__content__sidebar__widget__single__code svg:hover path{fill:var(--ba-dashboard-primary-color)}.ba-dashboard__content__sidebar__widget__single__desc{color:var(--ba-dashboard-body-color);font-size:14px;font-weight:500;line-height:1.6;margin:0}.ba-dashboard__content__sidebar__widget__single__top{display:flex;gap:12px;justify-content:space-between;margin:0 0 20px}.ba-dashboard__content__sidebar__widget__single__add{color:var(--ba-dashboard-primary-color)}.ba-dashboard__content__sidebar__widget__single__add svg path{fill:var(--ba-dashboard-primary-color)}.ba-dashboard__content__sidebar__widget__single--registration .ba-dashboard__content__sidebar__widget__info__item{justify-content:space-between}.ba-dashboard__content__sidebar__widget__info{display:flex;flex-direction:column;gap:12px;margin:0}.ba-dashboard__content__sidebar__widget__info__item{align-items:center;border-bottom:1px solid var(--ba-dashboard-section-border-color);display:inline-flex;flex-wrap:wrap;font-size:12px;font-weight:500;gap:8px;line-height:1.6;margin:0;min-height:30px}.ba-dashboard__content__sidebar__widget__info__item .info-value{align-items:center;display:flex;font-weight:400;gap:6px}.ba-dashboard__content__sidebar__widget__info__item .info-value svg path{fill:var(--ba-dashboard-secondary-color)}.ba-dashboard__content__sidebar__widget__info__link,.ba-dashboard__content__sidebar__widget__info__toggle{align-items:center;color:var(--ba-dashboard-primary-color);display:flex;gap:6px;text-decoration:underline}.ba-dashboard__content__sidebar__widget__info .ba-dashboard__btn{border-radius:4px;font-size:14px;font-weight:500;height:27px;margin:0 0 12px;padding:0 12px}.ba-dashboard__btn{align-items:center;border:1px solid var(--ba-dashboard-primary-color);border-radius:24px;color:var(--ba-dashboard-primary-color);display:inline-flex;font-size:16px;font-weight:500;gap:6px;height:35px;line-height:1.2;padding:0 24px;text-decoration:none;transition:all .3s ease}.ba-dashboard__btn:hover{background-color:var(--ba-dashboard-primary-color);color:var(--ba-dashboard-white-color)}.ba-dashboard__btn--sm{border-radius:6px;padding:0 16px}.ba-dashboard__btn--primary{background-color:var(--ba-dashboard-primary-color);border-color:var(--ba-dashboard-primary-color);color:var(--ba-dashboard-white-color)}.ba-dashboard__tab{display:flex;flex-direction:column}.ba-dashboard__tab__list{display:flex;gap:24px}.ba-dashboard__tab__top{align-items:center;display:flex;gap:20px;justify-content:space-between;margin:0 0 24px}.ba-dashboard__tab__item{align-items:center;border-bottom:1px solid transparent;color:var(--ba-dashboard-title-color);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;height:40px;line-height:1.2;transition:all .3s ease}.ba-dashboard__tab__item svg path{fill:var(--ba-dashboard-title-color)}.ba-dashboard__tab__item.active{border-color:var(--ba-dashboard-primary-color)}.ba-dashboard__tab__content{display:flex;flex-direction:column;gap:24px}.ba-dashboard__tab__content__single{border-bottom:1px solid var(--ba-dashboard-section-border-color);display:flex;gap:20px;padding:11px 0}.ba-dashboard__tab__content__single__title{color:var(--ba-dashboard-dark-color);font-size:14px;font-weight:600;line-height:1.2;margin:2px 0 0;width:150px}.ba-dashboard__tab__content__single__value{color:var(--ba-dashboard-body-color);flex:1;font-size:14px;font-weight:500;line-height:1.6}.ba-dashboard__tab__content__single__value a{color:var(--ba-dashboard-primary-color)}.ba-dashboard__chart{align-items:center;border-bottom:1px solid var(--ba-dashboard-border-color);display:flex;gap:35px;padding:0 0 12px}.ba-dashboard__chart__content{width:150px}.ba-dashboard__chart__title{color:var(--ba-dashboard-body-color);font-size:16px;font-weight:600;line-height:1.2;margin:0 0 6px}.ba-dashboard__chart__count{color:var(--ba-dashboard-title-color);font-size:24px;font-weight:700;line-height:1.2;margin:0}.ba-dashboard__chart__wrapper{flex:1}.plugin-badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:500;margin-left:5px;padding:2px 6px}.plugin-badge.active{background-color:#d1f5cd;color:#2e7d32}.plugin-badge.inactive{background-color:#e0e0e0;color:#757575}.plugin-badge.community{background-color:#e0f2fe;color:#0369a1}.plugin-badge.upgrade{background-color:#fef9c3;color:#92400e}.plugin-badge.abandoned{background-color:#fee2e2;color:#991b1b}.ba-menu-page-wrapper{background:#fff;margin-left:-20px}.ba-dashboard__wrapper{display:flex}
     1:root{--ba-dashboard-primary-color:#006eff;--ba-dashboard-secondary-color:#00429b;--ba-dashboard-dark-color:#000;--ba-dashboard-white-color:#fff;--ba-dashboard-title-color:#4b5563;--ba-dashboard-body-color:#6b7280;--ba-dashboard-gray-color:#98a2b3;--ba-dashboard-menu-color:#062a5d;--ba-dashboard-input-color:#475467;--ba-dashboard-menu-border-color:#aee2ff;--ba-dashboard-menu-bg-color:#eaf8ff;--ba-dashboard-border-color:#d0d5dd;--ba-dashboard-section-border-color:#eaecf0;--ba-dashboard-section-bg-color:#eaecf0;--ba-dashboard-input-bg-color:#f2f4f7;--ba-dashboard-success-color:#00854e;--ba-dashboard-danger-color:#fb3d38;--ba-dashboard-warning-color:#ff9e2f;--ba-dashboard-info-color:#009ae5;--ba-dashboard-primary-transparent:#f2ecff;--ba-dashboard-success-transparent:#96eec2;--ba-dashboard-box-shadow:0 1px 2px 0 #1018280d;--ba-dashboard-section-box-shadow:0 2px 2px 0 #00000014;--ba-dashboard-font-family:"Inter",sans-serif}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(../fonts/Inter-Regular.85c12872.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(../fonts/Inter-Medium.da6143a9.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(../fonts/Inter-SemiBold.59404139.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(../fonts/Inter-Bold.54851dc3.woff2) format("woff2")}body{color:var(--ba-dashboard-body-color);font-family:var(--ba-dashboard-font-family);font-size:16px;font-weight:500;line-height:1.6}li,ul{margin:0;padding:0}a{text-decoration:none;transition:color .3s ease}a,button{cursor:pointer}button{background:transparent;border:none;box-shadow:none;outline:none;padding:0}img{max-width:100%}.text-primary{color:var(--ba-dashboard-primary-color)!important}.text-dark{color:var(--ba-dashboard-dark-color)!important}.text-white{color:var(--ba-dashboard-white-color)!important}.text-success{color:var(--ba-dashboard-success-color)!important}.text-warning{color:var(--ba-dashboard-warning-color)!important}.text-danger{color:var(--ba-dashboard-danger-color)!important}.text-body{color:var(--ba-dashboard-body-color)!important}.normal{font-weight:400!important}.medium{font-weight:500!important}.semi-bold{font-weight:600!important}.bold{font-weight:700!important}.uppercase{text-transform:uppercase!important}.capitalize{text-transform:capitalize!important}.text-center{text-align:center!important}html{scroll-behavior:smooth}.bs-dashboard-tooltip{align-items:center;display:inline-flex;position:relative}.bs-dashboard-tooltip:hover svg path{fill:var(--ba-dashboard-primary-color)}.bs-dashboard-tooltip:hover .bs-dashboard-tooltip-content{opacity:1;visibility:visible}.bs-dashboard-tooltip-content{background:var(--ba-dashboard-dark-color);border-radius:4px;color:var(--ba-dashboard-white-color);left:0;opacity:0;padding:3px 7px;position:absolute;top:100%;transition:all .3s ease;visibility:hidden;width:-moz-max-content;width:max-content}.bs-dashboard-tooltip-content:before{border-bottom:6px solid var(--ba-dashboard-dark-color);border-left:6px solid transparent;border-right:6px solid transparent;bottom:100%;content:"";left:4px;position:absolute}.ba-dashboard__toolbar{font-size:14px;font-weight:600;line-height:1.2}.skeleton{animation:pulse 1.5s infinite;background-color:#f3f4f6;border-radius:.375rem}.ba-dashboard__header{align-items:center;border-bottom:1px solid var(--ba-dashboard-border-color);display:flex;gap:20px;height:60px;justify-content:space-between}.ba-dashboard__header__logo{align-items:center;border-right:1px solid var(--ba-dashboard-border-color);box-sizing:border-box;display:flex;gap:10px;height:100%;padding:15px 24px;width:280px}.ba-dashboard__header__logo img{height:25px}.ba-dashboard__header__return{padding:24px}.ba-dashboard__header__return:hover svg path{fill:var(--ba-dashboard-primary-color)}.ba-dashboard__header__content{align-items:center;display:flex;gap:24px;height:100%;padding-right:32px}.ba-dashboard__header__info{align-items:center;display:flex;gap:10px}.ba-dashboard__header__info__avatar{border-radius:100%;height:46px;width:46px}.ba-dashboard__header__info__content{display:flex;flex-direction:column}.ba-dashboard__header__info__title{color:var(--ba-dashboard-title-color);font-size:16px;font-weight:700;line-height:1.2}.ba-dashboard__header__info__subtitle{color:var(--ba-dashboard-body-color);font-size:14px;font-weight:500;line-height:1.6}.ba-dashboard__header__action{align-items:center;display:flex;gap:12px}.ba-dashboard__header__action__wrapper{position:relative;width:100%}.ba-dashboard__header__action__btn{align-items:center;border-radius:4px;display:flex;gap:10px;height:36px;padding:0 12px;transition:all .3s ease}.ba-dashboard__header__action__btn.active,.ba-dashboard__header__action__btn:hover{background:var(--ba-dashboard-primary-color);box-shadow:var(--ba-dashboard-box-shadow);color:var(--ba-dashboard-white-color)}.ba-dashboard__header__action__btn.active svg path,.ba-dashboard__header__action__btn:hover svg path{fill:var(--ba-dashboard-white-color)}.ba-dashboard__header__action__dropdown{background-color:var(--ba-dashboard-section-bg-color);border-radius:6px;box-shadow:var(--ba-dashboard-box-shadow);left:0;min-width:150px;padding:10px 0;position:absolute;top:100%}.ba-dashboard__header__action__link{align-items:center;box-sizing:border-box;color:var(--ba-dashboard-body-color);display:inline-flex;gap:6px;height:30px;padding:0 15px;width:100%}.ba-dashboard__header__action__link:not(:last-child){border-bottom:1px solid var(--ba-dashboard-border-color)}.ba-dashboard__header__action__link:hover{color:var(--ba-dashboard-primary-color)}.ba-dashboard__sidebar{background-color:var(--ba-dashboard-white-color);border-right:1px solid var(--ba-dashboard-border-color);box-sizing:border-box;height:100dvh;min-width:280px;padding:24px;width:280px}.ba-dashboard__sidebar.sidebar-fixed{left:160px;position:fixed;top:32px;z-index:100}.ba-dashboard__sidebar.sidebar-fixed~.ba-dashboard__content{padding-left:280px}.ba-dashboard__sidebar__menu{display:flex;flex-direction:column;margin:0}.ba-dashboard__sidebar__menu__link{border:2px solid transparent;border-radius:30px;box-sizing:border-box;color:var(--ba-dashboard-menu-color);cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:8px;height:52px;line-height:1.2;margin:0;padding:16px 24px}.ba-dashboard__sidebar__menu__link svg path{fill:var(--ba-dashboard-secondary-color)}.ba-dashboard__sidebar__menu__link.active,.ba-dashboard__sidebar__menu__link:hover{background-color:var(--ba-dashboard-menu-bg-color);border-color:var(--ba-dashboard-menu-border-color);font-weight:700}.wp-admin.folded .ba-dashboard__sidebar.sidebar-fixed{left:36px}.wp-admin.tools_page_boltaudit #wpbody-content{padding-bottom:0}.wp-admin.tools_page_boltaudit #wpfooter{display:none}.ba-dashboard__content__footer{align-items:center;border-top:1px solid var(--ba-dashboard-border-color);display:flex;gap:24px;justify-content:space-between;padding:16px 0 0}.ba-dashboard__content__footer__logo{height:25px}.ba-dashboard__content__footer__contact{color:var(--ba-dashboard-body-color);text-decoration:none}.ba-dashboard__content__footer__contact:hover{color:var(--ba-dashboard-primary-color)}.ba-dashboard__content{background:#f0f0f1;box-sizing:border-box;display:flex;width:100%}.ba-dashboard__content__wrapper{display:flex;flex:1;flex-direction:column;gap:48px;padding:40px 32px}.ba-dashboard__content__section{background:#fff;border:1px solid var(--ba-dashboard-section-border-color);border-radius:12px;box-shadow:var(--ba-dashboard-section-box-shadow);box-sizing:border-box;padding:32px 24px}.ba-dashboard__content__section__top{display:flex;gap:24px;justify-content:space-between;margin:0 0 20px}.ba-dashboard__content__section__toggle{color:var(--ba-dashboard-primary-color);font-size:14px;font-weight:400;line-height:1.2;padding:0}.ba-dashboard__content__section__title{color:var(--ba-dashboard-dark-color);font-size:24px;font-weight:700;line-height:1.2;margin:0 0 6px}.ba-dashboard__content__section__title--recommendation{font-size:14px;font-weight:600;margin:0 0 4px}.ba-dashboard__content__section__desc{color:var(--ba-dashboard-body-color);font-size:16px;font-weight:500;line-height:1.6;margin:0 0 20px}.ba-dashboard__content__section__desc--recommendation{font-size:12px;font-weight:400;line-height:1.6;margin:0 0 12px}.ba-dashboard__content__section__content{margin:20px 0 0}.ba-dashboard__content__section__overview{align-items:center;align-items:stretch;display:flex;flex-wrap:wrap;gap:24px}.ba-dashboard__content__section__overview__single{align-items:center;background-color:var(--ba-dashboard-section-bg-color);border-radius:8px;box-sizing:border-box;display:flex;flex:1;flex:0 0 25%;flex-direction:column;gap:4px;max-width:22%;padding:24px}.ba-dashboard__content__section__overview__title{color:var(--ba-dashboard-title-color);font-size:16px;font-weight:500;line-height:1.2;text-align:center}.ba-dashboard__content__section__overview__count{color:var(--ba-dashboard-dark-color);font-size:20px;font-weight:600;line-height:1.2}.ba-dashboard__content__section__data{margin-top:20px}.ba-dashboard__content__section__data table{border-collapse:collapse;width:100%}.ba-dashboard__content__section__data table th{background-color:var(--ba-dashboard-section-border-color);box-sizing:border-box;color:var(--ba-dashboard-title-color);font-size:14px;font-weight:600;height:40px;line-height:1.2;max-width:120px;min-width:120px;padding:0 16px;text-align:center;width:auto}.ba-dashboard__content__section__data table th:first-child{border-radius:8px 0 0 0;text-align:left}.ba-dashboard__content__section__data table th:last-child{border-radius:0 8px 0 0;text-align:right;width:160px}.ba-dashboard__content__section__data table th .bs-dashboard-tooltip{margin-left:6px;top:4px}.ba-dashboard__content__section__data table tbody tr:last-child td:first-child{border-radius:0 0 0 8px}.ba-dashboard__content__section__data table tbody tr:last-child td:last-child{border-radius:0 0 8px 0}.ba-dashboard__content__section__data table td{box-sizing:border-box;height:40px;max-width:120px;word-wrap:break-word;border-bottom:1px solid var(--ba-dashboard-section-border-color);border-top:1px solid var(--ba-dashboard-section-border-color);color:var(--ba-dashboard-dark-color);font-size:14px;font-weight:500;line-height:1.6;padding:8px 16px;text-align:center}.ba-dashboard__content__section__data table td:first-child{border-left:1px solid var(--ba-dashboard-section-border-color);padding-right:0}.ba-dashboard__content__section__data table td:last-child{border-right:1px solid var(--ba-dashboard-section-border-color)}.ba-dashboard__content__section__data table td.plugin-name{align-items:center;display:flex;max-width:unset;padding-bottom:5px;padding-top:5px}.ba-dashboard__content__section__data table td a{align-items:center;color:var(--ba-dashboard-primary-color);display:flex;gap:2px}.ba-dashboard__content__section__data table td a.action{justify-content:end}.ba-dashboard__content__section__data table td a.plugin-detail-asset{display:block}.ba-dashboard__content__section__data table td:first-child{text-align:left}.ba-dashboard__content__section__data table td:last-child{text-align:right}.ba-dashboard__content__section__data__post th{background:transparent!important;color:var(--ba-dashboard-dark-color)!important;font-size:16px!important;padding:0!important;text-align:left!important}.ba-dashboard__content__section__data__post th:last-child{width:auto!important}.ba-dashboard__content__section__data__post td{border:none!important;padding:0!important;text-align:left!important}.ba-dashboard__content__section__data__post tr td:not(:last-child) .data-progress-wrapper{margin-right:50px}.ba-dashboard__content__section__data__post .data-wrapper{align-items:center;display:flex;gap:10px}.ba-dashboard__content__section__data__post .data-progress-wrapper{background-color:var(--ba-dashboard-section-bg-color);border-radius:8px;display:flex;float:right;height:12px;min-width:160px;overflow:hidden;position:relative;width:100%}.ba-dashboard__content__section__data__post .data-progress-wrapper .data-progress{background-color:var(--ba-dashboard-primary-color);height:100%;left:0;position:absolute;top:0}.ba-dashboard__content__section--recommendation .ba-dashboard__content__section__content{border:1px solid var(--ba-dashboard-section-border-color);border-radius:8px;padding:24px}.ba-dashboard__content__overview__title{color:var(--ba-dashboard-dark-color);font-size:24px;font-weight:700;line-height:1.2;margin:0}.ba-dashboard__content__overview__subtitle{color:var(--ba-dashboard-title-color);font-size:16px;font-weight:500;line-height:1.2;margin:0 0 8px}.ba-dashboard__content__overview__desc{color:var(--ba-dashboard-body-color);font-size:16px;font-weight:500;line-height:1.6;margin:0 0 16px}.ba-dashboard__content__overview__intro{align-items:center;display:flex;gap:8px;margin:0 0 6px}.ba-dashboard__content__overview__badge{align-items:center;display:flex;gap:6px}.ba-dashboard__content__overview__badge__single{align-items:center;border:1px solid var(--ba-dashboard-section-border-color);border-radius:16px;color:var(--ba-dashboard-title-color);display:inline-flex;font-size:12px;font-weight:600;gap:4px;height:20px;line-height:1.2;padding:0 8px;transition:all .3s ease}.ba-dashboard__content__overview__badge__single svg path{fill:var(--ba-dashboard-title-color)}.ba-dashboard__content__overview__badge__single.active{background-color:var(--ba-dashboard-success-transparent);border-color:var(--ba-dashboard-success-transparent);color:var(--ba-dashboard-success-color)}.ba-dashboard__content__overview__badge__single.active svg path{fill:var(--ba-dashboard-success-color)}.ba-dashboard__content__overview__analysis{margin:50px 0 0}.ba-dashboard__content__sidebar{background-color:#fff;border-left:1px solid var(--ba-dashboard-border-color);height:100%;min-height:100dvh;min-width:230px;padding:40px 24px;width:230px}.ba-dashboard__content__sidebar__widget{display:flex;flex-direction:column;gap:24px}.ba-dashboard__content__sidebar__widget__single__title{color:var(--ba-dashboard-dark-color);font-size:16px;font-weight:700;line-height:1.2;margin:0}.ba-dashboard__content__sidebar__widget__single__subtitle{color:var(--ba-dashboard-dark-color);flex:0 0 100%;font-size:16px;font-weight:600;line-height:1.2;margin:0 0 12px}.ba-dashboard__content__sidebar__widget__single__code{align-items:center;background-color:var(--ba-dashboard-input-bg-color);border:1px solid var(--ba-dashboard-border-color);border-radius:4px;box-sizing:border-box;color:var(--ba-dashboard-input-color);display:inline-flex;gap:10px;height:40px;justify-content:space-between;margin:0 0 20px;padding:0 10px;width:100%}.ba-dashboard__content__sidebar__widget__single__code svg:hover path{fill:var(--ba-dashboard-primary-color)}.ba-dashboard__content__sidebar__widget__single__desc{color:var(--ba-dashboard-body-color);font-size:14px;font-weight:500;line-height:1.6;margin:0}.ba-dashboard__content__sidebar__widget__single__top{display:flex;gap:12px;justify-content:space-between;margin:0 0 20px}.ba-dashboard__content__sidebar__widget__single__add{color:var(--ba-dashboard-primary-color)}.ba-dashboard__content__sidebar__widget__single__add svg path{fill:var(--ba-dashboard-primary-color)}.ba-dashboard__content__sidebar__widget__single--registration .ba-dashboard__content__sidebar__widget__info__item{justify-content:space-between}.ba-dashboard__content__sidebar__widget__info{display:flex;flex-direction:column;gap:12px;margin:0}.ba-dashboard__content__sidebar__widget__info__item{align-items:center;border-bottom:1px solid var(--ba-dashboard-section-border-color);display:inline-flex;flex-wrap:wrap;font-size:12px;font-weight:500;gap:8px;line-height:1.6;margin:0;padding:5px 0}.ba-dashboard__content__sidebar__widget__info__item:last-child{padding-bottom:12px}.ba-dashboard__content__sidebar__widget__info__item .info-value{align-items:center;display:flex;font-weight:400;gap:6px}.ba-dashboard__content__sidebar__widget__info__item .info-value svg path{fill:var(--ba-dashboard-secondary-color)}.ba-dashboard__content__sidebar__widget__info__link,.ba-dashboard__content__sidebar__widget__info__toggle{align-items:center;color:var(--ba-dashboard-primary-color);display:flex;gap:6px;text-decoration:underline}.ba-dashboard__content__sidebar__widget__info .ba-dashboard__btn{border-radius:4px;font-size:14px;font-weight:500;height:27px;margin:0 0 12px;padding:0 12px}.ba-dashboard__btn{align-items:center;border:1px solid var(--ba-dashboard-primary-color);border-radius:24px;color:var(--ba-dashboard-primary-color);display:inline-flex;font-size:16px;font-weight:500;gap:6px;height:35px;line-height:1.2;padding:0 24px;text-decoration:none;transition:all .3s ease}.ba-dashboard__btn:hover{background-color:var(--ba-dashboard-primary-color);color:var(--ba-dashboard-white-color)}.ba-dashboard__btn--sm{border-radius:6px;padding:0 16px}.ba-dashboard__btn--primary{background-color:var(--ba-dashboard-primary-color);border-color:var(--ba-dashboard-primary-color);color:var(--ba-dashboard-white-color)}.ba-dashboard__tab{display:flex;flex-direction:column}.ba-dashboard__tab__list{display:flex;gap:24px}.ba-dashboard__tab__top{align-items:center;display:flex;gap:20px;justify-content:space-between;margin:0 0 24px}.ba-dashboard__tab__item{align-items:center;border-bottom:1px solid transparent;color:var(--ba-dashboard-title-color);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;height:40px;line-height:1.2;transition:all .3s ease}.ba-dashboard__tab__item svg path{fill:var(--ba-dashboard-title-color)}.ba-dashboard__tab__item.active{border-color:var(--ba-dashboard-primary-color)}.ba-dashboard__tab__content{display:flex;flex-direction:column;gap:24px}.ba-dashboard__tab__content__single{border-bottom:1px solid var(--ba-dashboard-section-border-color);display:flex;gap:20px;padding:11px 0}.ba-dashboard__tab__content__single__title{color:var(--ba-dashboard-dark-color);font-size:14px;font-weight:600;line-height:1.2;margin:2px 0 0;width:150px}.ba-dashboard__tab__content__single__value{color:var(--ba-dashboard-body-color);flex:1;font-size:14px;font-weight:500;line-height:1.6}.ba-dashboard__tab__content__single__value a{color:var(--ba-dashboard-primary-color)}.ba-dashboard__chart{align-items:center;border-bottom:1px solid var(--ba-dashboard-border-color);display:flex;gap:35px;padding:0 0 12px}.ba-dashboard__chart__content{width:150px}.ba-dashboard__chart__title{color:var(--ba-dashboard-body-color);font-size:16px;font-weight:600;line-height:1.2;margin:0 0 6px}.ba-dashboard__chart__count{color:var(--ba-dashboard-title-color);font-size:24px;font-weight:700;line-height:1.2;margin:0}.ba-dashboard__chart__wrapper{flex:1}.plugin-badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:500;margin-left:5px;padding:2px 6px}.plugin-badge.active{background-color:#d1f5cd;color:#2e7d32}.plugin-badge.inactive{background-color:#e0e0e0;color:#757575}.plugin-badge.community{background-color:#e0f2fe;color:#0369a1}.plugin-badge.upgrade{background-color:#fef9c3;color:#92400e}.plugin-badge.abandoned,.plugin-badge.enqueued{background-color:#fee2e2;color:#991b1b}#wpbody-content>div{display:none!important}#wpbody-content .ba-menu-page-wrapper{background:#fff;display:block!important;margin-left:-20px}.ba-dashboard__wrapper{display:flex}
  • boltaudit/trunk/assets/build/js/app.asset.php

    r3322989 r3334205  
    1 <?php return array('dependencies' => array('react', 'wp-api-fetch', 'wp-element', 'wp-hooks'), 'version' => '0cdcc0e8110f8c1cb224');
     1<?php return array('dependencies' => array('react', 'wp-api-fetch', 'wp-element', 'wp-hooks'), 'version' => 'f8dc5df33f26820cda31');
  • boltaudit/trunk/assets/build/js/app.js

    r3322989 r3334205  
    1 (()=>{var e,t,n={87:e=>{"use strict";e.exports=window.wp.element},232:(e,t)=>{"use strict";Object.prototype.toString},455:e=>{"use strict";e.exports=window.wp.apiFetch},510:(e,t,n)=>{"use strict";n.d(t,{NP:()=>Dt,Ay:()=>Ut});var r=function(){return r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},r.apply(this,arguments)};function a(e,t,n){if(n||2===arguments.length)for(var r,a=0,o=t.length;a<o;a++)!r&&a in t||(r||(r=Array.prototype.slice.call(t,0,a)),r[a]=t[a]);return e.concat(r||Array.prototype.slice.call(t))}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var o=n(609),i=n.n(o),s=n(833),l=n.n(s),u="-ms-",c="-moz-",p="-webkit-",h="comm",d="rule",f="decl",m="@keyframes",g=Math.abs,v=String.fromCharCode,y=Object.assign;function w(e){return e.trim()}function b(e,t){return(e=t.exec(e))?e[0]:e}function S(e,t,n){return e.replace(t,n)}function E(e,t,n){return e.indexOf(t,n)}function x(e,t){return 0|e.charCodeAt(t)}function C(e,t,n){return e.slice(t,n)}function M(e){return e.length}function k(e){return e.length}function A(e,t){return t.push(e),e}function R(e,t){return e.filter(function(e){return!b(e,t)})}var O=1,N=1,j=0,P=0,I=0,D="";function T(e,t,n,r,a,o,i,s){return{value:e,root:t,parent:n,type:r,props:a,children:o,line:O,column:N,length:i,return:"",siblings:s}}function $(e,t){return y(T("",null,null,"",null,null,0,e.siblings),e,{length:-e.length},t)}function L(e){for(;e.root;)e=$(e.root,{children:[e]});A(e,e.siblings)}function z(){return I=P>0?x(D,--P):0,N--,10===I&&(N=1,O--),I}function _(){return I=P<j?x(D,P++):0,N++,10===I&&(N=1,O++),I}function F(){return x(D,P)}function B(){return P}function U(e,t){return C(D,e,t)}function W(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function H(e){return w(U(P-1,V(91===e?e+2:40===e?e+1:e)))}function Y(e){for(;(I=F())&&I<33;)_();return W(e)>2||W(I)>3?"":" "}function G(e,t){for(;--t&&_()&&!(I<48||I>102||I>57&&I<65||I>70&&I<97););return U(e,B()+(t<6&&32==F()&&32==_()))}function V(e){for(;_();)switch(I){case e:return P;case 34:case 39:34!==e&&39!==e&&V(I);break;case 40:41===e&&V(e);break;case 92:_()}return P}function Q(e,t){for(;_()&&e+I!==57&&(e+I!==84||47!==F()););return"/*"+U(t,P-1)+"*"+v(47===e?e:_())}function q(e){for(;!W(F());)_();return U(e,P)}function J(e,t){for(var n="",r=0;r<e.length;r++)n+=t(e[r],r,e,t)||"";return n}function Z(e,t,n,r){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case f:return e.return=e.return||e.value;case h:return"";case m:return e.return=e.value+"{"+J(e.children,r)+"}";case d:if(!M(e.value=e.props.join(",")))return""}return M(n=J(e.children,r))?e.return=e.value+"{"+n+"}":""}function K(e,t,n){switch(function(e,t){return 45^x(e,0)?(((t<<2^x(e,0))<<2^x(e,1))<<2^x(e,2))<<2^x(e,3):0}(e,t)){case 5103:return p+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return p+e+e;case 4789:return c+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return p+e+c+e+u+e+e;case 5936:switch(x(e,t+11)){case 114:return p+e+u+S(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return p+e+u+S(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return p+e+u+S(e,/[svh]\w+-[tblr]{2}/,"lr")+e}case 6828:case 4268:case 2903:return p+e+u+e+e;case 6165:return p+e+u+"flex-"+e+e;case 5187:return p+e+S(e,/(\w+).+(:[^]+)/,p+"box-$1$2"+u+"flex-$1$2")+e;case 5443:return p+e+u+"flex-item-"+S(e,/flex-|-self/g,"")+(b(e,/flex-|baseline/)?"":u+"grid-row-"+S(e,/flex-|-self/g,""))+e;case 4675:return p+e+u+"flex-line-pack"+S(e,/align-content|flex-|-self/g,"")+e;case 5548:return p+e+u+S(e,"shrink","negative")+e;case 5292:return p+e+u+S(e,"basis","preferred-size")+e;case 6060:return p+"box-"+S(e,"-grow","")+p+e+u+S(e,"grow","positive")+e;case 4554:return p+S(e,/([^-])(transform)/g,"$1"+p+"$2")+e;case 6187:return S(S(S(e,/(zoom-|grab)/,p+"$1"),/(image-set)/,p+"$1"),e,"")+e;case 5495:case 3959:return S(e,/(image-set\([^]*)/,p+"$1$`$1");case 4968:return S(S(e,/(.+:)(flex-)?(.*)/,p+"box-pack:$3"+u+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+p+e+e;case 4200:if(!b(e,/flex-|baseline/))return u+"grid-column-align"+C(e,t)+e;break;case 2592:case 3360:return u+S(e,"template-","")+e;case 4384:case 3616:return n&&n.some(function(e,n){return t=n,b(e.props,/grid-\w+-end/)})?~E(e+(n=n[t].value),"span",0)?e:u+S(e,"-start","")+e+u+"grid-row-span:"+(~E(n,"span",0)?b(n,/\d+/):+b(n,/\d+/)-+b(e,/\d+/))+";":u+S(e,"-start","")+e;case 4896:case 4128:return n&&n.some(function(e){return b(e.props,/grid-\w+-start/)})?e:u+S(S(e,"-end","-span"),"span ","")+e;case 4095:case 3583:case 4068:case 2532:return S(e,/(.+)-inline(.+)/,p+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(M(e)-1-t>6)switch(x(e,t+1)){case 109:if(45!==x(e,t+4))break;case 102:return S(e,/(.+:)(.+)-([^]+)/,"$1"+p+"$2-$3$1"+c+(108==x(e,t+3)?"$3":"$2-$3"))+e;case 115:return~E(e,"stretch",0)?K(S(e,"stretch","fill-available"),t,n)+e:e}break;case 5152:case 5920:return S(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(t,n,r,a,o,i,s){return u+n+":"+r+s+(a?u+n+"-span:"+(o?i:+i-+r)+s:"")+e});case 4949:if(121===x(e,t+6))return S(e,":",":"+p)+e;break;case 6444:switch(x(e,45===x(e,14)?18:11)){case 120:return S(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+p+(45===x(e,14)?"inline-":"")+"box$3$1"+p+"$2$3$1"+u+"$2box$3")+e;case 100:return S(e,":",":"+u)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return S(e,"scroll-","scroll-snap-")+e}return e}function X(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case f:return void(e.return=K(e.value,e.length,n));case m:return J([$(e,{value:S(e.value,"@","@"+p)})],r);case d:if(e.length)return function(e,t){return e.map(t).join("")}(n=e.props,function(t){switch(b(t,r=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":L($(e,{props:[S(t,/:(read-\w+)/,":-moz-$1")]})),L($(e,{props:[t]})),y(e,{props:R(n,r)});break;case"::placeholder":L($(e,{props:[S(t,/:(plac\w+)/,":"+p+"input-$1")]})),L($(e,{props:[S(t,/:(plac\w+)/,":-moz-$1")]})),L($(e,{props:[S(t,/:(plac\w+)/,u+"input-$1")]})),L($(e,{props:[t]})),y(e,{props:R(n,r)})}return""})}}function ee(e){return function(e){return D="",e}(te("",null,null,null,[""],e=function(e){return O=N=1,j=M(D=e),P=0,[]}(e),0,[0],e))}function te(e,t,n,r,a,o,i,s,l){for(var u=0,c=0,p=i,h=0,d=0,f=0,m=1,y=1,w=1,b=0,C="",k=a,R=o,O=r,N=C;y;)switch(f=b,b=_()){case 40:if(108!=f&&58==x(N,p-1)){-1!=E(N+=S(H(b),"&","&\f"),"&\f",g(u?s[u-1]:0))&&(w=-1);break}case 34:case 39:case 91:N+=H(b);break;case 9:case 10:case 13:case 32:N+=Y(f);break;case 92:N+=G(B()-1,7);continue;case 47:switch(F()){case 42:case 47:A(re(Q(_(),B()),t,n,l),l);break;default:N+="/"}break;case 123*m:s[u++]=M(N)*w;case 125*m:case 59:case 0:switch(b){case 0:case 125:y=0;case 59+c:-1==w&&(N=S(N,/\f/g,"")),d>0&&M(N)-p&&A(d>32?ae(N+";",r,n,p-1,l):ae(S(N," ","")+";",r,n,p-2,l),l);break;case 59:N+=";";default:if(A(O=ne(N,t,n,u,c,a,s,C,k=[],R=[],p,o),o),123===b)if(0===c)te(N,t,O,O,k,o,p,s,R);else switch(99===h&&110===x(N,3)?100:h){case 100:case 108:case 109:case 115:te(e,O,O,r&&A(ne(e,O,O,0,0,a,s,C,a,k=[],p,R),R),a,R,p,s,r?k:R);break;default:te(N,O,O,O,[""],R,0,s,R)}}u=c=d=0,m=w=1,C=N="",p=i;break;case 58:p=1+M(N),d=f;default:if(m<1)if(123==b)--m;else if(125==b&&0==m++&&125==z())continue;switch(N+=v(b),b*m){case 38:w=c>0?1:(N+="\f",-1);break;case 44:s[u++]=(M(N)-1)*w,w=1;break;case 64:45===F()&&(N+=H(_())),h=F(),c=p=M(C=N+=q(B())),b++;break;case 45:45===f&&2==M(N)&&(m=0)}}return o}function ne(e,t,n,r,a,o,i,s,l,u,c,p){for(var h=a-1,f=0===a?o:[""],m=k(f),v=0,y=0,b=0;v<r;++v)for(var E=0,x=C(e,h+1,h=g(y=i[v])),M=e;E<m;++E)(M=w(y>0?f[E]+" "+x:S(x,/&\f/g,f[E])))&&(l[b++]=M);return T(e,t,n,0===a?d:s,l,u,c,p)}function re(e,t,n,r){return T(e,t,n,h,v(I),C(e,2,-2),0,r)}function ae(e,t,n,r,a){return T(e,t,n,f,C(e,0,r),C(e,r+1,-1),r,a)}var oe={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},ie="undefined"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",se="active",le="data-styled-version",ue="6.1.19",ce="/*!sc*/\n",pe="undefined"!=typeof window&&"undefined"!=typeof document,he=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&""!==process.env.REACT_APP_SC_DISABLE_SPEEDY?"false"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&void 0!==process.env.SC_DISABLE_SPEEDY&&""!==process.env.SC_DISABLE_SPEEDY&&"false"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY),de=(new Set,Object.freeze([])),fe=Object.freeze({});var me=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),ge=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,ve=/(^-|-$)/g;function ye(e){return e.replace(ge,"-").replace(ve,"")}var we=/(a)(d)/gi,be=function(e){return String.fromCharCode(e+(e>25?39:97))};function Se(e){var t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=be(t%52)+n;return(be(t%52)+n).replace(we,"$1-$2")}var Ee,xe=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},Ce=function(e){return xe(5381,e)};function Me(e){return"string"==typeof e&&!0}var ke="function"==typeof Symbol&&Symbol.for,Ae=ke?Symbol.for("react.memo"):60115,Re=ke?Symbol.for("react.forward_ref"):60112,Oe={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},Ne={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},je={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},Pe=((Ee={})[Re]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Ee[Ae]=je,Ee);function Ie(e){return("type"in(t=e)&&t.type.$$typeof)===Ae?je:"$$typeof"in e?Pe[e.$$typeof]:Oe;var t}var De=Object.defineProperty,Te=Object.getOwnPropertyNames,$e=Object.getOwnPropertySymbols,Le=Object.getOwnPropertyDescriptor,ze=Object.getPrototypeOf,_e=Object.prototype;function Fe(e,t,n){if("string"!=typeof t){if(_e){var r=ze(t);r&&r!==_e&&Fe(e,r,n)}var a=Te(t);$e&&(a=a.concat($e(t)));for(var o=Ie(e),i=Ie(t),s=0;s<a.length;++s){var l=a[s];if(!(l in Ne||n&&n[l]||i&&l in i||o&&l in o)){var u=Le(t,l);try{De(e,l,u)}catch(e){}}}}return e}function Be(e){return"function"==typeof e}function Ue(e){return"object"==typeof e&&"styledComponentId"in e}function We(e,t){return e&&t?"".concat(e," ").concat(t):e||t||""}function He(e,t){if(0===e.length)return"";for(var n=e[0],r=1;r<e.length;r++)n+=t?t+e[r]:e[r];return n}function Ye(e){return null!==e&&"object"==typeof e&&e.constructor.name===Object.name&&!("props"in e&&e.$$typeof)}function Ge(e,t,n){if(void 0===n&&(n=!1),!n&&!Ye(e)&&!Array.isArray(e))return t;if(Array.isArray(t))for(var r=0;r<t.length;r++)e[r]=Ge(e[r],t[r]);else if(Ye(t))for(var r in t)e[r]=Ge(e[r],t[r]);return e}function Ve(e,t){Object.defineProperty(e,"toString",{value:t})}function Qe(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return new Error("An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#".concat(e," for more information.").concat(t.length>0?" Args: ".concat(t.join(", ")):""))}var qe=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},e.prototype.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,a=r;e>=a;)if((a<<=1)<0)throw Qe(16,"".concat(e));this.groupSizes=new Uint32Array(a),this.groupSizes.set(n),this.length=a;for(var o=r;o<a;o++)this.groupSizes[o]=0}for(var i=this.indexOfGroup(e+1),s=(o=0,t.length);o<s;o++)this.tag.insertRule(i,t[o])&&(this.groupSizes[e]++,i++)},e.prototype.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var a=n;a<r;a++)this.tag.deleteRule(n)}},e.prototype.getGroup=function(e){var t="";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),a=r+n,o=r;o<a;o++)t+="".concat(this.tag.getRule(o)).concat(ce);return t},e}(),Je=new Map,Ze=new Map,Ke=1,Xe=function(e){if(Je.has(e))return Je.get(e);for(;Ze.has(Ke);)Ke++;var t=Ke++;return Je.set(e,t),Ze.set(t,e),t},et=function(e,t){Ke=t+1,Je.set(e,t),Ze.set(t,e)},tt="style[".concat(ie,"][").concat(le,'="').concat(ue,'"]'),nt=new RegExp("^".concat(ie,'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)')),rt=function(e,t,n){for(var r,a=n.split(","),o=0,i=a.length;o<i;o++)(r=a[o])&&e.registerName(t,r)},at=function(e,t){for(var n,r=(null!==(n=t.textContent)&&void 0!==n?n:"").split(ce),a=[],o=0,i=r.length;o<i;o++){var s=r[o].trim();if(s){var l=s.match(nt);if(l){var u=0|parseInt(l[1],10),c=l[2];0!==u&&(et(c,u),rt(e,c,l[3]),e.getTag().insertRules(u,a)),a.length=0}else a.push(s)}}},ot=function(e){for(var t=document.querySelectorAll(tt),n=0,r=t.length;n<r;n++){var a=t[n];a&&a.getAttribute(ie)!==se&&(at(e,a),a.parentNode&&a.parentNode.removeChild(a))}};function it(){return n.nc}var st=function(e){var t=document.head,n=e||t,r=document.createElement("style"),a=function(e){var t=Array.from(e.querySelectorAll("style[".concat(ie,"]")));return t[t.length-1]}(n),o=void 0!==a?a.nextSibling:null;r.setAttribute(ie,se),r.setAttribute(le,ue);var i=it();return i&&r.setAttribute("nonce",i),n.insertBefore(r,o),r},lt=function(){function e(e){this.element=st(e),this.element.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var a=t[n];if(a.ownerNode===e)return a}throw Qe(17)}(this.element),this.length=0}return e.prototype.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},e.prototype.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},e.prototype.getRule=function(e){var t=this.sheet.cssRules[e];return t&&t.cssText?t.cssText:""},e}(),ut=function(){function e(e){this.element=st(e),this.nodes=this.element.childNodes,this.length=0}return e.prototype.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},e.prototype.getRule=function(e){return e<this.length?this.nodes[e].textContent:""},e}(),ct=function(){function e(e){this.rules=[],this.length=0}return e.prototype.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},e.prototype.deleteRule=function(e){this.rules.splice(e,1),this.length--},e.prototype.getRule=function(e){return e<this.length?this.rules[e]:""},e}(),pt=pe,ht={isServer:!pe,useCSSOMInjection:!he},dt=function(){function e(e,t,n){void 0===e&&(e=fe),void 0===t&&(t={});var a=this;this.options=r(r({},ht),e),this.gs=t,this.names=new Map(n),this.server=!!e.isServer,!this.server&&pe&&pt&&(pt=!1,ot(this)),Ve(this,function(){return function(e){for(var t=e.getTag(),n=t.length,r="",a=function(n){var a=function(e){return Ze.get(e)}(n);if(void 0===a)return"continue";var o=e.names.get(a),i=t.getGroup(n);if(void 0===o||!o.size||0===i.length)return"continue";var s="".concat(ie,".g").concat(n,'[id="').concat(a,'"]'),l="";void 0!==o&&o.forEach(function(e){e.length>0&&(l+="".concat(e,","))}),r+="".concat(i).concat(s,'{content:"').concat(l,'"}').concat(ce)},o=0;o<n;o++)a(o);return r}(a)})}return e.registerId=function(e){return Xe(e)},e.prototype.rehydrate=function(){!this.server&&pe&&ot(this)},e.prototype.reconstructWithOptions=function(t,n){return void 0===n&&(n=!0),new e(r(r({},this.options),t),this.gs,n&&this.names||void 0)},e.prototype.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},e.prototype.getTag=function(){return this.tag||(this.tag=(e=function(e){var t=e.useCSSOMInjection,n=e.target;return e.isServer?new ct(n):t?new lt(n):new ut(n)}(this.options),new qe(e)));var e},e.prototype.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},e.prototype.registerName=function(e,t){if(Xe(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},e.prototype.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(Xe(e),n)},e.prototype.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},e.prototype.clearRules=function(e){this.getTag().clearGroup(Xe(e)),this.clearNames(e)},e.prototype.clearTag=function(){this.tag=void 0},e}(),ft=/&/g,mt=/^\s*\/\/.*$/gm;function gt(e,t){return e.map(function(e){return"rule"===e.type&&(e.value="".concat(t," ").concat(e.value),e.value=e.value.replaceAll(",",",".concat(t," ")),e.props=e.props.map(function(e){return"".concat(t," ").concat(e)})),Array.isArray(e.children)&&"@keyframes"!==e.type&&(e.children=gt(e.children,t)),e})}function vt(e){var t,n,r,a=void 0===e?fe:e,o=a.options,i=void 0===o?fe:o,s=a.plugins,l=void 0===s?de:s,u=function(e,r,a){return a.startsWith(n)&&a.endsWith(n)&&a.replaceAll(n,"").length>0?".".concat(t):e},c=l.slice();c.push(function(e){e.type===d&&e.value.includes("&")&&(e.props[0]=e.props[0].replace(ft,n).replace(r,u))}),i.prefix&&c.push(X),c.push(Z);var p=function(e,a,o,s){void 0===a&&(a=""),void 0===o&&(o=""),void 0===s&&(s="&"),t=s,n=a,r=new RegExp("\\".concat(n,"\\b"),"g");var l=e.replace(mt,""),u=ee(o||a?"".concat(o," ").concat(a," { ").concat(l," }"):l);i.namespace&&(u=gt(u,i.namespace));var p,h,d,f=[];return J(u,(p=c.concat((d=function(e){return f.push(e)},function(e){e.root||(e=e.return)&&d(e)})),h=k(p),function(e,t,n,r){for(var a="",o=0;o<h;o++)a+=p[o](e,t,n,r)||"";return a})),f};return p.hash=l.length?l.reduce(function(e,t){return t.name||Qe(15),xe(e,t.name)},5381).toString():"",p}var yt=new dt,wt=vt(),bt=i().createContext({shouldForwardProp:void 0,styleSheet:yt,stylis:wt}),St=(bt.Consumer,i().createContext(void 0));function Et(){return(0,o.useContext)(bt)}function xt(e){var t=(0,o.useState)(e.stylisPlugins),n=t[0],r=t[1],a=Et().styleSheet,s=(0,o.useMemo)(function(){var t=a;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t},[e.disableCSSOMInjection,e.sheet,e.target,a]),u=(0,o.useMemo)(function(){return vt({options:{namespace:e.namespace,prefix:e.enableVendorPrefixes},plugins:n})},[e.enableVendorPrefixes,e.namespace,n]);(0,o.useEffect)(function(){l()(n,e.stylisPlugins)||r(e.stylisPlugins)},[e.stylisPlugins]);var c=(0,o.useMemo)(function(){return{shouldForwardProp:e.shouldForwardProp,styleSheet:s,stylis:u}},[e.shouldForwardProp,s,u]);return i().createElement(bt.Provider,{value:c},i().createElement(St.Provider,{value:u},e.children))}var Ct=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=wt);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,"@keyframes"))},this.name=e,this.id="sc-keyframes-".concat(e),this.rules=t,Ve(this,function(){throw Qe(12,String(n.name))})}return e.prototype.getName=function(e){return void 0===e&&(e=wt),this.name+e.hash},e}(),Mt=function(e){return e>="A"&&e<="Z"};function kt(e){for(var t="",n=0;n<e.length;n++){var r=e[n];if(1===n&&"-"===r&&"-"===e[0])return e;Mt(r)?t+="-"+r.toLowerCase():t+=r}return t.startsWith("ms-")?"-"+t:t}var At=function(e){return null==e||!1===e||""===e},Rt=function(e){var t,n,r=[];for(var o in e){var i=e[o];e.hasOwnProperty(o)&&!At(i)&&(Array.isArray(i)&&i.isCss||Be(i)?r.push("".concat(kt(o),":"),i,";"):Ye(i)?r.push.apply(r,a(a(["".concat(o," {")],Rt(i),!1),["}"],!1)):r.push("".concat(kt(o),": ").concat((t=o,null==(n=i)||"boolean"==typeof n||""===n?"":"number"!=typeof n||0===n||t in oe||t.startsWith("--")?String(n).trim():"".concat(n,"px")),";")))}return r};function Ot(e,t,n,r){return At(e)?[]:Ue(e)?[".".concat(e.styledComponentId)]:Be(e)?!Be(a=e)||a.prototype&&a.prototype.isReactComponent||!t?[e]:Ot(e(t),t,n,r):e instanceof Ct?n?(e.inject(n,r),[e.getName(r)]):[e]:Ye(e)?Rt(e):Array.isArray(e)?Array.prototype.concat.apply(de,e.map(function(e){return Ot(e,t,n,r)})):[e.toString()];var a}function Nt(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(Be(n)&&!Ue(n))return!1}return!0}var jt=Ce(ue),Pt=function(){function e(e,t,n){this.rules=e,this.staticRulesId="",this.isStatic=(void 0===n||n.isStatic)&&Nt(e),this.componentId=t,this.baseHash=xe(jt,t),this.baseStyle=n,dt.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.baseStyle?this.baseStyle.generateAndInjectStyles(e,t,n):"";if(this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(this.componentId,this.staticRulesId))r=We(r,this.staticRulesId);else{var a=He(Ot(this.rules,e,t,n)),o=Se(xe(this.baseHash,a)>>>0);if(!t.hasNameForId(this.componentId,o)){var i=n(a,".".concat(o),void 0,this.componentId);t.insertRules(this.componentId,o,i)}r=We(r,o),this.staticRulesId=o}else{for(var s=xe(this.baseHash,n.hash),l="",u=0;u<this.rules.length;u++){var c=this.rules[u];if("string"==typeof c)l+=c;else if(c){var p=He(Ot(c,e,t,n));s=xe(s,p+u),l+=p}}if(l){var h=Se(s>>>0);t.hasNameForId(this.componentId,h)||t.insertRules(this.componentId,h,n(l,".".concat(h),void 0,this.componentId)),r=We(r,h)}}return r},e}(),It=i().createContext(void 0);function Dt(e){var t=i().useContext(It),n=(0,o.useMemo)(function(){return function(e,t){if(!e)throw Qe(14);if(Be(e))return e(t);if(Array.isArray(e)||"object"!=typeof e)throw Qe(8);return t?r(r({},t),e):e}(e.theme,t)},[e.theme,t]);return e.children?i().createElement(It.Provider,{value:n},e.children):null}It.Consumer;var Tt={};function $t(e,t,n){var a=Ue(e),s=e,l=!Me(e),u=t.attrs,c=void 0===u?de:u,p=t.componentId,h=void 0===p?function(e,t){var n="string"!=typeof e?"sc":ye(e);Tt[n]=(Tt[n]||0)+1;var r="".concat(n,"-").concat(function(e){return Se(Ce(e)>>>0)}(ue+n+Tt[n]));return t?"".concat(t,"-").concat(r):r}(t.displayName,t.parentComponentId):p,d=t.displayName,f=void 0===d?function(e){return Me(e)?"styled.".concat(e):"Styled(".concat(function(e){return e.displayName||e.name||"Component"}(e),")")}(e):d,m=t.displayName&&t.componentId?"".concat(ye(t.displayName),"-").concat(t.componentId):t.componentId||h,g=a&&s.attrs?s.attrs.concat(c).filter(Boolean):c,v=t.shouldForwardProp;if(a&&s.shouldForwardProp){var y=s.shouldForwardProp;if(t.shouldForwardProp){var w=t.shouldForwardProp;v=function(e,t){return y(e,t)&&w(e,t)}}else v=y}var b=new Pt(n,m,a?s.componentStyle:void 0);function S(e,t){return function(e,t,n){var a=e.attrs,s=e.componentStyle,l=e.defaultProps,u=e.foldedComponentIds,c=e.styledComponentId,p=e.target,h=i().useContext(It),d=Et(),f=e.shouldForwardProp||d.shouldForwardProp,m=function(e,t,n){return void 0===n&&(n=fe),e.theme!==n.theme&&e.theme||t||n.theme}(t,h,l)||fe,g=function(e,t,n){for(var a,o=r(r({},t),{className:void 0,theme:n}),i=0;i<e.length;i+=1){var s=Be(a=e[i])?a(o):a;for(var l in s)o[l]="className"===l?We(o[l],s[l]):"style"===l?r(r({},o[l]),s[l]):s[l]}return t.className&&(o.className=We(o.className,t.className)),o}(a,t,m),v=g.as||p,y={};for(var w in g)void 0===g[w]||"$"===w[0]||"as"===w||"theme"===w&&g.theme===m||("forwardedAs"===w?y.as=g.forwardedAs:f&&!f(w,v)||(y[w]=g[w]));var b=function(e,t){var n=Et();return e.generateAndInjectStyles(t,n.styleSheet,n.stylis)}(s,g),S=We(u,c);return b&&(S+=" "+b),g.className&&(S+=" "+g.className),y[Me(v)&&!me.has(v)?"class":"className"]=S,n&&(y.ref=n),(0,o.createElement)(v,y)}(E,e,t)}S.displayName=f;var E=i().forwardRef(S);return E.attrs=g,E.componentStyle=b,E.displayName=f,E.shouldForwardProp=v,E.foldedComponentIds=a?We(s.foldedComponentIds,s.styledComponentId):"",E.styledComponentId=m,E.target=a?s.target:e,Object.defineProperty(E,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=a?function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=0,a=t;r<a.length;r++)Ge(e,a[r],!0);return e}({},s.defaultProps,e):e}}),Ve(E,function(){return".".concat(E.styledComponentId)}),l&&Fe(E,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),E}function Lt(e,t){for(var n=[e[0]],r=0,a=t.length;r<a;r+=1)n.push(t[r],e[r+1]);return n}new Set;var zt=function(e){return Object.assign(e,{isCss:!0})};function _t(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(Be(e)||Ye(e))return zt(Ot(Lt(de,a([e],t,!0))));var r=e;return 0===t.length&&1===r.length&&"string"==typeof r[0]?Ot(r):zt(Ot(Lt(r,t)))}function Ft(e,t,n){if(void 0===n&&(n=fe),!t)throw Qe(1,t);var o=function(r){for(var o=[],i=1;i<arguments.length;i++)o[i-1]=arguments[i];return e(t,n,_t.apply(void 0,a([r],o,!1)))};return o.attrs=function(a){return Ft(e,t,r(r({},n),{attrs:Array.prototype.concat(n.attrs,a).filter(Boolean)}))},o.withConfig=function(a){return Ft(e,t,r(r({},n),a))},o}var Bt=function(e){return Ft($t,e)},Ut=Bt;me.forEach(function(e){Ut[e]=Bt(e)}),function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=Nt(e),dt.registerId(this.componentId+1)}e.prototype.createStyles=function(e,t,n,r){var a=r(He(Ot(this.rules,t,n,r)),""),o=this.componentId+e;n.insertRules(o,o,a)},e.prototype.removeStyles=function(e,t){t.clearRules(this.componentId+e)},e.prototype.renderStyles=function(e,t,n,r){e>2&&dt.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)}}(),function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return"";var n=it(),r=He([n&&'nonce="'.concat(n,'"'),"".concat(ie,'="true"'),"".concat(le,'="').concat(ue,'"')].filter(Boolean)," ");return"<style ".concat(r,">").concat(t,"</style>")},this.getStyleTags=function(){if(e.sealed)throw Qe(2);return e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)throw Qe(2);var n=e.instance.toString();if(!n)return[];var a=((t={})[ie]="",t[le]=ue,t.dangerouslySetInnerHTML={__html:n},t),o=it();return o&&(a.nonce=o),[i().createElement("style",r({},a,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new dt({isServer:!0}),this.sealed=!1}e.prototype.collectStyles=function(e){if(this.sealed)throw Qe(2);return i().createElement(xt,{sheet:this.instance},e)},e.prototype.interleaveWithNodeStream=function(e){throw Qe(3)}}(),"__sc-".concat(ie,"__")},609:e=>{"use strict";e.exports=window.React},788:(e,t,n)=>{"use strict";n.d(t,{BV:()=>le,I9:()=>Ne,N_:()=>Pe,k2:()=>Ie,qh:()=>ie});var r=n(609),a=(n(232),"popstate");function o(e={}){return function(e,t,n,r={}){let{window:o=document.defaultView,v5Compat:s=!1}=r,p=o.history,h="POP",d=null,f=m();function m(){return(p.state||{idx:null}).idx}function g(){h="POP";let e=m(),t=null==e?null:e-f;f=e,d&&d({action:h,location:y.location,delta:t})}function v(e){return function(e,t=!1){let n="http://localhost";"undefined"!=typeof window&&(n="null"!==window.location.origin?window.location.origin:window.location.href),i(n,"No window.location.(origin|href) available to create URL");let r="string"==typeof e?e:c(e);return r=r.replace(/ $/,"%20"),!t&&r.startsWith("//")&&(r=n+r),new URL(r,n)}(e)}null==f&&(f=0,p.replaceState({...p.state,idx:f},""));let y={get action(){return h},get location(){return e(o,p)},listen(e){if(d)throw new Error("A history only accepts one active listener");return o.addEventListener(a,g),d=e,()=>{o.removeEventListener(a,g),d=null}},createHref:e=>t(o,e),createURL:v,encodeLocation(e){let t=v(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){h="PUSH";let r=u(y.location,e,t);n&&n(r,e),f=m()+1;let a=l(r,f),i=y.createHref(r);try{p.pushState(a,"",i)}catch(e){if(e instanceof DOMException&&"DataCloneError"===e.name)throw e;o.location.assign(i)}s&&d&&d({action:h,location:y.location,delta:1})},replace:function(e,t){h="REPLACE";let r=u(y.location,e,t);n&&n(r,e),f=m();let a=l(r,f),o=y.createHref(r);p.replaceState(a,"",o),s&&d&&d({action:h,location:y.location,delta:0})},go:e=>p.go(e)};return y}(function(e,t){let{pathname:n="/",search:r="",hash:a=""}=p(e.location.hash.substring(1));return n.startsWith("/")||n.startsWith(".")||(n="/"+n),u("",{pathname:n,search:r,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")},function(e,t){let n=e.document.querySelector("base"),r="";if(n&&n.getAttribute("href")){let t=e.location.href,n=t.indexOf("#");r=-1===n?t:t.slice(0,n)}return r+"#"+("string"==typeof t?t:c(t))},function(e,t){s("/"===e.pathname.charAt(0),`relative pathnames are not supported in hash history.push(${JSON.stringify(t)})`)},e)}function i(e,t){if(!1===e||null==e)throw new Error(t)}function s(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw new Error(t)}catch(e){}}}function l(e,t){return{usr:e.state,key:e.key,idx:t}}function u(e,t,n=null,r){return{pathname:"string"==typeof e?e:e.pathname,search:"",hash:"",..."string"==typeof t?p(t):t,state:n,key:t&&t.key||r||Math.random().toString(36).substring(2,10)}}function c({pathname:e="/",search:t="",hash:n=""}){return t&&"?"!==t&&(e+="?"===t.charAt(0)?t:"?"+t),n&&"#"!==n&&(e+="#"===n.charAt(0)?n:"#"+n),e}function p(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function h(e,t,n="/"){return function(e,t,n,r){let a=k(("string"==typeof t?p(t):t).pathname||"/",n);if(null==a)return null;let o=d(e);!function(e){e.sort((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)))}(o);let i=null;for(let e=0;null==i&&e<o.length;++e){let t=M(a);i=x(o[e],t,r)}return i}(e,t,n,!1)}function d(e,t=[],n=[],r=""){let a=(e,a,o)=>{let s={relativePath:void 0===o?e.path||"":o,caseSensitive:!0===e.caseSensitive,childrenIndex:a,route:e};s.relativePath.startsWith("/")&&(i(s.relativePath.startsWith(r),`Absolute route path "${s.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),s.relativePath=s.relativePath.slice(r.length));let l=N([r,s.relativePath]),u=n.concat(s);e.children&&e.children.length>0&&(i(!0!==e.index,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),d(e.children,t,u,l)),(null!=e.path||e.index)&&t.push({path:l,score:E(l,e.index),routesMeta:u})};return e.forEach((e,t)=>{if(""!==e.path&&e.path?.includes("?"))for(let n of f(e.path))a(e,t,n);else a(e,t)}),t}function f(e){let t=e.split("/");if(0===t.length)return[];let[n,...r]=t,a=n.endsWith("?"),o=n.replace(/\?$/,"");if(0===r.length)return a?[o,""]:[o];let i=f(r.join("/")),s=[];return s.push(...i.map(e=>""===e?o:[o,e].join("/"))),a&&s.push(...i),s.map(t=>e.startsWith("/")&&""===t?"/":t)}new WeakMap;var m=/^:[\w-]+$/,g=3,v=2,y=1,w=10,b=-2,S=e=>"*"===e;function E(e,t){let n=e.split("/"),r=n.length;return n.some(S)&&(r+=b),t&&(r+=v),n.filter(e=>!S(e)).reduce((e,t)=>e+(m.test(t)?g:""===t?y:w),r)}function x(e,t,n=!1){let{routesMeta:r}=e,a={},o="/",i=[];for(let e=0;e<r.length;++e){let s=r[e],l=e===r.length-1,u="/"===o?t:t.slice(o.length)||"/",c=C({path:s.relativePath,caseSensitive:s.caseSensitive,end:l},u),p=s.route;if(!c&&l&&n&&!r[r.length-1].route.index&&(c=C({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},u)),!c)return null;Object.assign(a,c.params),i.push({params:a,pathname:N([o,c.pathname]),pathnameBase:j(N([o,c.pathnameBase])),route:p}),"/"!==c.pathnameBase&&(o=N([o,c.pathnameBase]))}return i}function C(e,t){"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=function(e,t=!1,n=!0){s("*"===e||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let r=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(e,t,n)=>(r.push({paramName:t,isOptional:null!=n}),n?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),a+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":""!==e&&"/"!==e&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),r]}(e.path,e.caseSensitive,e.end),a=t.match(n);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),l=a.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:n},r)=>{if("*"===t){let e=l[r]||"";i=o.slice(0,o.length-e.length).replace(/(.)\/+$/,"$1")}const a=l[r];return e[t]=n&&!a?void 0:(a||"").replace(/%2F/g,"/"),e},{}),pathname:o,pathnameBase:i,pattern:e}}function M(e){try{return e.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(t){return s(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function k(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&"/"!==r?null:e.slice(n)||"/"}function A(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}].  Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function R(e){let t=function(e){return e.filter((e,t)=>0===t||e.route.path&&e.route.path.length>0)}(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function O(e,t,n,r=!1){let a;"string"==typeof e?a=p(e):(a={...e},i(!a.pathname||!a.pathname.includes("?"),A("?","pathname","search",a)),i(!a.pathname||!a.pathname.includes("#"),A("#","pathname","hash",a)),i(!a.search||!a.search.includes("#"),A("#","search","hash",a)));let o,s=""===e||""===a.pathname,l=s?"/":a.pathname;if(null==l)o=n;else{let e=t.length-1;if(!r&&l.startsWith("..")){let t=l.split("/");for(;".."===t[0];)t.shift(),e-=1;a.pathname=t.join("/")}o=e>=0?t[e]:"/"}let u=function(e,t="/"){let{pathname:n,search:r="",hash:a=""}="string"==typeof e?p(e):e,o=n?n.startsWith("/")?n:function(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(e=>{".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)}),n.length>1?n.join("/"):"/"}(n,t):t;return{pathname:o,search:P(r),hash:I(a)}}(a,o),c=l&&"/"!==l&&l.endsWith("/"),h=(s||"."===l)&&n.endsWith("/");return u.pathname.endsWith("/")||!c&&!h||(u.pathname+="/"),u}var N=e=>e.join("/").replace(/\/\/+/g,"/"),j=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),P=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",I=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"";function D(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}var T=["POST","PUT","PATCH","DELETE"],$=(new Set(T),["GET",...T]);new Set($),Symbol("ResetLoaderData");var L=r.createContext(null);L.displayName="DataRouter";var z=r.createContext(null);z.displayName="DataRouterState";var _=r.createContext({isTransitioning:!1});_.displayName="ViewTransition",r.createContext(new Map).displayName="Fetchers",r.createContext(null).displayName="Await";var F=r.createContext(null);F.displayName="Navigation";var B=r.createContext(null);B.displayName="Location";var U=r.createContext({outlet:null,matches:[],isDataRoute:!1});U.displayName="Route";var W=r.createContext(null);W.displayName="RouteError";var H=!0;function Y(){return null!=r.useContext(B)}function G(){return i(Y(),"useLocation() may be used only in the context of a <Router> component."),r.useContext(B).location}var V="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Q(e){r.useContext(F).static||r.useLayoutEffect(e)}function q(){let{isDataRoute:e}=r.useContext(U);return e?function(){let{router:e}=function(e){let t=r.useContext(L);return i(t,ne(e)),t}("useNavigate"),t=re("useNavigate"),n=r.useRef(!1);return Q(()=>{n.current=!0}),r.useCallback(async(r,a={})=>{s(n.current,V),n.current&&("number"==typeof r?e.navigate(r):await e.navigate(r,{fromRouteId:t,...a}))},[e,t])}():function(){i(Y(),"useNavigate() may be used only in the context of a <Router> component.");let e=r.useContext(L),{basename:t,navigator:n}=r.useContext(F),{matches:a}=r.useContext(U),{pathname:o}=G(),l=JSON.stringify(R(a)),u=r.useRef(!1);return Q(()=>{u.current=!0}),r.useCallback((r,a={})=>{if(s(u.current,V),!u.current)return;if("number"==typeof r)return void n.go(r);let i=O(r,JSON.parse(l),o,"path"===a.relative);null==e&&"/"!==t&&(i.pathname="/"===i.pathname?t:N([t,i.pathname])),(a.replace?n.replace:n.push)(i,a.state,a)},[t,n,l,o,e])}()}function J(e,{relative:t}={}){let{matches:n}=r.useContext(U),{pathname:a}=G(),o=JSON.stringify(R(n));return r.useMemo(()=>O(e,JSON.parse(o),a,"path"===t),[e,o,a,t])}function Z(e,t,n,a){i(Y(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:o}=r.useContext(F),{matches:l}=r.useContext(U),u=l[l.length-1],c=u?u.params:{},d=u?u.pathname:"/",f=u?u.pathnameBase:"/",m=u&&u.route;if(H){let e=m&&m.path||"";oe(d,!m||e.endsWith("*")||e.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${d}" (under <Route path="${e}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.\n\nPlease change the parent <Route path="${e}"> to <Route path="${"/"===e?"*":`${e}/*`}">.`)}let g,v=G();if(t){let e="string"==typeof t?p(t):t;i("/"===f||e.pathname?.startsWith(f),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${f}" but pathname "${e.pathname}" was given in the \`location\` prop.`),g=e}else g=v;let y=g.pathname||"/",w=y;if("/"!==f){let e=f.replace(/^\//,"").split("/");w="/"+y.replace(/^\//,"").split("/").slice(e.length).join("/")}let b=h(e,{pathname:w});H&&(s(m||null!=b,`No routes matched location "${g.pathname}${g.search}${g.hash}" `),s(null==b||void 0!==b[b.length-1].route.element||void 0!==b[b.length-1].route.Component||void 0!==b[b.length-1].route.lazy,`Matched leaf route at location "${g.pathname}${g.search}${g.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`));let S=function(e,t=[],n=null){if(null==e){if(!n)return null;if(n.errors)e=n.matches;else{if(0!==t.length||n.initialized||!(n.matches.length>0))return null;e=n.matches}}let a=e,o=n?.errors;if(null!=o){let e=a.findIndex(e=>e.route.id&&void 0!==o?.[e.route.id]);i(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),a=a.slice(0,Math.min(a.length,e+1))}let s=!1,l=-1;if(n)for(let e=0;e<a.length;e++){let t=a[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(l=e),t.route.id){let{loaderData:e,errors:r}=n,o=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!r||void 0===r[t.route.id]);if(t.route.lazy||o){s=!0,a=l>=0?a.slice(0,l+1):[a[0]];break}}}return a.reduceRight((e,i,u)=>{let c,p=!1,h=null,d=null;n&&(c=o&&i.route.id?o[i.route.id]:void 0,h=i.route.errorElement||X,s&&(l<0&&0===u?(oe("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),p=!0,d=null):l===u&&(p=!0,d=i.route.hydrateFallbackElement||null)));let f=t.concat(a.slice(0,u+1)),m=()=>{let t;return t=c?h:p?d:i.route.Component?r.createElement(i.route.Component,null):i.route.element?i.route.element:e,r.createElement(te,{match:i,routeContext:{outlet:e,matches:f,isDataRoute:null!=n},children:t})};return n&&(i.route.ErrorBoundary||i.route.errorElement||0===u)?r.createElement(ee,{location:n.location,revalidation:n.revalidation,component:h,error:c,children:m(),routeContext:{outlet:null,matches:f,isDataRoute:!0}}):m()},null)}(b&&b.map(e=>Object.assign({},e,{params:Object.assign({},c,e.params),pathname:N([f,o.encodeLocation?o.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?f:N([f,o.encodeLocation?o.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})),l,n,a);return t&&S?r.createElement(B.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...g},navigationType:"POP"}},S):S}function K(){let e=function(){let e=r.useContext(W),t=function(e){let t=r.useContext(z);return i(t,ne(e)),t}("useRouteError"),n=re("useRouteError");return void 0!==e?e:t.errors?.[n]}(),t=D(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,a="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:a},s={padding:"2px 4px",backgroundColor:a},l=null;return H&&(console.error("Error handled by React Router default ErrorBoundary:",e),l=r.createElement(r.Fragment,null,r.createElement("p",null,"💿 Hey developer 👋"),r.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",r.createElement("code",{style:s},"ErrorBoundary")," or"," ",r.createElement("code",{style:s},"errorElement")," prop on your route."))),r.createElement(r.Fragment,null,r.createElement("h2",null,"Unexpected Application Error!"),r.createElement("h3",{style:{fontStyle:"italic"}},t),n?r.createElement("pre",{style:o},n):null,l)}r.createContext(null);var X=r.createElement(K,null),ee=class extends r.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?r.createElement(U.Provider,{value:this.props.routeContext},r.createElement(W.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function te({routeContext:e,match:t,children:n}){let a=r.useContext(L);return a&&a.static&&a.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=t.route.id),r.createElement(U.Provider,{value:e},n)}function ne(e){return`${e} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function re(e){let t=function(e){let t=r.useContext(U);return i(t,ne(e)),t}(e),n=t.matches[t.matches.length-1];return i(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}var ae={};function oe(e,t,n){t||ae[e]||(ae[e]=!0,s(!1,n))}function ie(e){i(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function se({basename:e="/",children:t=null,location:n,navigationType:a="POP",navigator:o,static:l=!1}){i(!Y(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let u=e.replace(/^\/*/,"/"),c=r.useMemo(()=>({basename:u,navigator:o,static:l,future:{}}),[u,o,l]);"string"==typeof n&&(n=p(n));let{pathname:h="/",search:d="",hash:f="",state:m=null,key:g="default"}=n,v=r.useMemo(()=>{let e=k(h,u);return null==e?null:{location:{pathname:e,search:d,hash:f,state:m,key:g},navigationType:a}},[u,h,d,f,m,g,a]);return s(null!=v,`<Router basename="${u}"> is not able to match the URL "${h}${d}${f}" because it does not start with the basename, so the <Router> won't render anything.`),null==v?null:r.createElement(F.Provider,{value:c},r.createElement(B.Provider,{children:t,value:v}))}function le({children:e,location:t}){return Z(ue(e),t)}function ue(e,t=[]){let n=[];return r.Children.forEach(e,(e,a)=>{if(!r.isValidElement(e))return;let o=[...t,a];if(e.type===r.Fragment)return void n.push.apply(n,ue(e.props.children,o));i(e.type===ie,`[${"string"==typeof e.type?e.type:e.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),i(!e.props.index||!e.props.children,"An index route cannot have child routes.");let s={id:e.props.id||o.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,hydrateFallbackElement:e.props.hydrateFallbackElement,HydrateFallback:e.props.HydrateFallback,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:!0===e.props.hasErrorBoundary||null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(s.children=ue(e.props.children,o)),n.push(s)}),n}r.memo(function({routes:e,future:t,state:n}){return Z(e,void 0,n,t)}),r.Component;var ce="get",pe="application/x-www-form-urlencoded";function he(e){return null!=e&&"string"==typeof e.tagName}var de=null,fe=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function me(e){return null==e||fe.has(e)?e:(s(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${pe}"`),null)}function ge(e,t){if(!1===e||null==e)throw new Error(t)}function ve(e){return null!=e&&(null==e.href?"preload"===e.rel&&"string"==typeof e.imageSrcSet&&"string"==typeof e.imageSizes:"string"==typeof e.rel&&"string"==typeof e.href)}function ye(e,t,n,r,a,o){let i=(e,t)=>!n[t]||e.route.id!==n[t].route.id,s=(e,t)=>n[t].pathname!==e.pathname||n[t].route.path?.endsWith("*")&&n[t].params["*"]!==e.params["*"];return"assets"===o?t.filter((e,t)=>i(e,t)||s(e,t)):"data"===o?t.filter((t,o)=>{let l=r.routes[t.route.id];if(!l||!l.hasLoader)return!1;if(i(t,o)||s(t,o))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if("boolean"==typeof r)return r}return!0}):[]}function we(e,t,{includeHydrateFallback:n}={}){return r=e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let a=[r.module];return r.clientActionModule&&(a=a.concat(r.clientActionModule)),r.clientLoaderModule&&(a=a.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(a=a.concat(r.hydrateFallbackModule)),r.imports&&(a=a.concat(r.imports)),a}).flat(1),[...new Set(r)];var r}Object.getOwnPropertyNames(Object.prototype).sort().join("\0"),"undefined"!=typeof window?window:"undefined"!=typeof globalThis&&globalThis,Symbol("SingleFetchRedirect");function be(){let e=r.useContext(L);return ge(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Se(){let e=r.useContext(z);return ge(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}r.Component;var Ee=r.createContext(void 0);function xe(){let e=r.useContext(Ee);return ge(e,"You must render this element inside a <HydratedRouter> element"),e}function Ce(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function Me({page:e,...t}){let{router:n}=be(),a=r.useMemo(()=>h(n.routes,e,n.basename),[n.routes,e,n.basename]);return a?r.createElement(Ae,{page:e,matches:a,...t}):null}function ke(e){let{manifest:t,routeModules:n}=xe(),[a,o]=r.useState([]);return r.useEffect(()=>{let r=!1;return async function(e,t,n){return function(e,t){let n=new Set,r=new Set(t);return e.reduce((e,a)=>{if(t&&(null==(o=a)||"string"!=typeof o.page)&&"script"===a.as&&a.href&&r.has(a.href))return e;var o;let i=JSON.stringify(function(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}(a));return n.has(i)||(n.add(i),e.push({key:i,link:a})),e},[])}((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await async function(e,t){if(e.id in t)return t[e.id];try{let n=await import(e.module);return t[e.id]=n,n}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(ve).filter(e=>"stylesheet"===e.rel||"preload"===e.rel).map(e=>"stylesheet"===e.rel?{...e,rel:"prefetch",as:"style"}:{...e,rel:"prefetch"}))}(e,t,n).then(e=>{r||o(e)}),()=>{r=!0}},[e,t,n]),a}function Ae({page:e,matches:t,...n}){let a=G(),{manifest:o,routeModules:i}=xe(),{basename:s}=be(),{loaderData:l,matches:u}=Se(),c=r.useMemo(()=>ye(e,t,u,o,a,"data"),[e,t,u,o,a]),p=r.useMemo(()=>ye(e,t,u,o,a,"assets"),[e,t,u,o,a]),h=r.useMemo(()=>{if(e===a.pathname+a.search+a.hash)return[];let n=new Set,r=!1;if(t.forEach(e=>{let t=o.routes[e.route.id];t&&t.hasLoader&&(!c.some(t=>t.route.id===e.route.id)&&e.route.id in l&&i[e.route.id]?.shouldRevalidate||t.hasClientLoader?r=!0:n.add(e.route.id))}),0===n.size)return[];let u=function(e,t){let n="string"==typeof e?new URL(e,"undefined"==typeof window?"server://singlefetch/":window.location.origin):e;return"/"===n.pathname?n.pathname="_root.data":t&&"/"===k(n.pathname,t)?n.pathname=`${t.replace(/\/$/,"")}/_root.data`:n.pathname=`${n.pathname.replace(/\/$/,"")}.data`,n}(e,s);return r&&n.size>0&&u.searchParams.set("_routes",t.filter(e=>n.has(e.route.id)).map(e=>e.route.id).join(",")),[u.pathname+u.search]},[s,l,a,o,c,t,e,i]),d=r.useMemo(()=>we(p,o),[p,o]),f=ke(p);return r.createElement(r.Fragment,null,h.map(e=>r.createElement("link",{key:e,rel:"prefetch",as:"fetch",href:e,...n})),d.map(e=>r.createElement("link",{key:e,rel:"modulepreload",href:e,...n})),f.map(({key:e,link:t})=>r.createElement("link",{key:e,...t})))}Ee.displayName="FrameworkContext";function Re(...e){return t=>{e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}}var Oe="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;try{Oe&&(window.__reactRouterVersion="7.6.3")}catch(e){}function Ne({basename:e,children:t,window:n}){let a=r.useRef();null==a.current&&(a.current=o({window:n,v5Compat:!0}));let i=a.current,[s,l]=r.useState({action:i.action,location:i.location}),u=r.useCallback(e=>{r.startTransition(()=>l(e))},[l]);return r.useLayoutEffect(()=>i.listen(u),[i,u]),r.createElement(se,{basename:e,children:t,location:s.location,navigationType:s.action,navigator:i})}var je=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Pe=r.forwardRef(function({onClick:e,discover:t="render",prefetch:n="none",relative:a,reloadDocument:o,replace:l,state:u,target:p,to:h,preventScrollReset:d,viewTransition:f,...m},g){let v,{basename:y}=r.useContext(F),w="string"==typeof h&&je.test(h),b=!1;if("string"==typeof h&&w&&(v=h,Oe))try{let e=new URL(window.location.href),t=h.startsWith("//")?new URL(e.protocol+h):new URL(h),n=k(t.pathname,y);t.origin===e.origin&&null!=n?h=n+t.search+t.hash:b=!0}catch(e){s(!1,`<Link to="${h}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let S=function(e,{relative:t}={}){i(Y(),"useHref() may be used only in the context of a <Router> component.");let{basename:n,navigator:a}=r.useContext(F),{hash:o,pathname:s,search:l}=J(e,{relative:t}),u=s;return"/"!==n&&(u="/"===s?n:N([n,s])),a.createHref({pathname:u,search:l,hash:o})}(h,{relative:a}),[E,x,C]=function(e,t){let n=r.useContext(Ee),[a,o]=r.useState(!1),[i,s]=r.useState(!1),{onFocus:l,onBlur:u,onMouseEnter:c,onMouseLeave:p,onTouchStart:h}=t,d=r.useRef(null);r.useEffect(()=>{if("render"===e&&s(!0),"viewport"===e){let e=new IntersectionObserver(e=>{e.forEach(e=>{s(e.isIntersecting)})},{threshold:.5});return d.current&&e.observe(d.current),()=>{e.disconnect()}}},[e]),r.useEffect(()=>{if(a){let e=setTimeout(()=>{s(!0)},100);return()=>{clearTimeout(e)}}},[a]);let f=()=>{o(!0)},m=()=>{o(!1),s(!1)};return n?"intent"!==e?[i,d,{}]:[i,d,{onFocus:Ce(l,f),onBlur:Ce(u,m),onMouseEnter:Ce(c,f),onMouseLeave:Ce(p,m),onTouchStart:Ce(h,f)}]:[!1,d,{}]}(n,m),M=function(e,{target:t,replace:n,state:a,preventScrollReset:o,relative:i,viewTransition:s}={}){let l=q(),u=G(),p=J(e,{relative:i});return r.useCallback(r=>{if(function(e,t){return!(0!==e.button||t&&"_self"!==t||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e))}(r,t)){r.preventDefault();let t=void 0!==n?n:c(u)===c(p);l(e,{replace:t,state:a,preventScrollReset:o,relative:i,viewTransition:s})}},[u,l,p,n,a,t,e,o,i,s])}(h,{replace:l,state:u,target:p,preventScrollReset:d,relative:a,viewTransition:f}),A=r.createElement("a",{...m,...C,href:v||S,onClick:b||o?e:function(t){e&&e(t),t.defaultPrevented||M(t)},ref:Re(g,x),target:p,"data-discover":w||"render"!==t?void 0:"true"});return E&&!w?r.createElement(r.Fragment,null,A,r.createElement(Me,{page:S})):A});Pe.displayName="Link";var Ie=r.forwardRef(function({"aria-current":e="page",caseSensitive:t=!1,className:n="",end:a=!1,style:o,to:s,viewTransition:l,children:u,...c},p){let h=J(s,{relative:c.relative}),d=G(),f=r.useContext(z),{navigator:m,basename:g}=r.useContext(F),v=null!=f&&function(e,t={}){let n=r.useContext(_);i(null!=n,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`.  Did you accidentally import `RouterProvider` from `react-router`?");let{basename:a}=De("useViewTransitionState"),o=J(e,{relative:t.relative});if(!n.isTransitioning)return!1;let s=k(n.currentLocation.pathname,a)||n.currentLocation.pathname,l=k(n.nextLocation.pathname,a)||n.nextLocation.pathname;return null!=C(o.pathname,l)||null!=C(o.pathname,s)}(h)&&!0===l,y=m.encodeLocation?m.encodeLocation(h).pathname:h.pathname,w=d.pathname,b=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;t||(w=w.toLowerCase(),b=b?b.toLowerCase():null,y=y.toLowerCase()),b&&g&&(b=k(b,g)||b);const S="/"!==y&&y.endsWith("/")?y.length-1:y.length;let E,x=w===y||!a&&w.startsWith(y)&&"/"===w.charAt(S),M=null!=b&&(b===y||!a&&b.startsWith(y)&&"/"===b.charAt(y.length)),A={isActive:x,isPending:M,isTransitioning:v},R=x?e:void 0;E="function"==typeof n?n(A):[n,x?"active":null,M?"pending":null,v?"transitioning":null].filter(Boolean).join(" ");let O="function"==typeof o?o(A):o;return r.createElement(Pe,{...c,"aria-current":R,className:E,ref:p,style:O,to:s,viewTransition:l},"function"==typeof u?u(A):u)});function De(e){let t=r.useContext(L);return i(t,function(e){return`${e} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}(e)),t}Ie.displayName="NavLink",r.forwardRef(({discover:e="render",fetcherKey:t,navigate:n,reloadDocument:a,replace:o,state:s,method:l=ce,action:u,onSubmit:p,relative:h,preventScrollReset:d,viewTransition:f,...m},g)=>{let v=function(){let{router:e}=De("useSubmit"),{basename:t}=r.useContext(F),n=re("useRouteId");return r.useCallback(async(r,a={})=>{let{action:o,method:i,encType:s,formData:l,body:u}=function(e,t){let n,r,a,o,i;if(he(s=e)&&"form"===s.tagName.toLowerCase()){let i=e.getAttribute("action");r=i?k(i,t):null,n=e.getAttribute("method")||ce,a=me(e.getAttribute("enctype"))||pe,o=new FormData(e)}else if(function(e){return he(e)&&"button"===e.tagName.toLowerCase()}(e)||function(e){return he(e)&&"input"===e.tagName.toLowerCase()}(e)&&("submit"===e.type||"image"===e.type)){let i=e.form;if(null==i)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let s=e.getAttribute("formaction")||i.getAttribute("action");if(r=s?k(s,t):null,n=e.getAttribute("formmethod")||i.getAttribute("method")||ce,a=me(e.getAttribute("formenctype"))||me(i.getAttribute("enctype"))||pe,o=new FormData(i,e),!function(){if(null===de)try{new FormData(document.createElement("form"),0),de=!1}catch(e){de=!0}return de}()){let{name:t,type:n,value:r}=e;if("image"===n){let e=t?`${t}.`:"";o.append(`${e}x`,"0"),o.append(`${e}y`,"0")}else t&&o.append(t,r)}}else{if(he(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');n=ce,r=null,a=pe,i=e}var s;return o&&"text/plain"===a&&(i=o,o=void 0),{action:r,method:n.toLowerCase(),encType:a,formData:o,body:i}}(r,t);if(!1===a.navigate){let t=a.fetcherKey||$e();await e.fetch(t,n,a.action||o,{preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||i,formEncType:a.encType||s,flushSync:a.flushSync})}else await e.navigate(a.action||o,{preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||i,formEncType:a.encType||s,replace:a.replace,state:a.state,fromRouteId:n,flushSync:a.flushSync,viewTransition:a.viewTransition})},[e,t,n])}(),y=function(e,{relative:t}={}){let{basename:n}=r.useContext(F),a=r.useContext(U);i(a,"useFormAction must be used inside a RouteContext");let[o]=a.matches.slice(-1),s={...J(e||".",{relative:t})},l=G();if(null==e){s.search=l.search;let e=new URLSearchParams(s.search),t=e.getAll("index");if(t.some(e=>""===e)){e.delete("index"),t.filter(e=>e).forEach(t=>e.append("index",t));let n=e.toString();s.search=n?`?${n}`:""}}return e&&"."!==e||!o.route.index||(s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index"),"/"!==n&&(s.pathname="/"===s.pathname?n:N([n,s.pathname])),c(s)}(u,{relative:h}),w="get"===l.toLowerCase()?"get":"post",b="string"==typeof u&&je.test(u);return r.createElement("form",{ref:g,method:w,action:y,onSubmit:a?p:e=>{if(p&&p(e),e.defaultPrevented)return;e.preventDefault();let r=e.nativeEvent.submitter,a=r?.getAttribute("formmethod")||l;v(r||e.currentTarget,{fetcherKey:t,method:a,navigate:n,replace:o,state:s,relative:h,preventScrollReset:d,viewTransition:f})},...m,"data-discover":b||"render"!==e?void 0:"true"})}).displayName="Form";var Te=0,$e=()=>`__${String(++Te)}__`},833:e=>{e.exports=function(e,t,n,r){var a=n?n.call(r,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),l=0;l<o.length;l++){var u=o[l];if(!s(u))return!1;var c=e[u],p=t[u];if(!1===(a=n?n.call(r,c,p,u):void 0)||void 0===a&&c!==p)return!1}return!0}}},r={};function a(e){var t=r[e];if(void 0!==t)return t.exports;var o=r[e]={exports:{}};return n[e](o,o.exports,a),o.exports}a.m=n,a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce((t,n)=>(a.f[n](e,t),t),[])),a.u=e=>e+".js",a.miniCssF=e=>{},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="boltaudit:",a.l=(n,r,o,i)=>{if(e[n])e[n].push(r);else{var s,l;if(void 0!==o)for(var u=document.getElementsByTagName("script"),c=0;c<u.length;c++){var p=u[c];if(p.getAttribute("src")==n||p.getAttribute("data-webpack")==t+o){s=p;break}}s||(l=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,a.nc&&s.setAttribute("nonce",a.nc),s.setAttribute("data-webpack",t+o),s.src=n),e[n]=[r];var h=(t,r)=>{s.onerror=s.onload=null,clearTimeout(d);var a=e[n];if(delete e[n],s.parentNode&&s.parentNode.removeChild(s),a&&a.forEach(e=>e(r)),t)return t(r)},d=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),l&&document.head.appendChild(s)}},a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+"");var t=a.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&(!e||!/^http(s?):/.test(e));)e=n[r--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e+"../"})(),(()=>{var e={278:0};a.f.j=(t,n)=>{var r=a.o(e,t)?e[t]:void 0;if(0!==r)if(r)n.push(r[2]);else{var o=new Promise((n,a)=>r=e[t]=[n,a]);n.push(r[2]=o);var i=a.p+a.u(t),s=new Error;a.l(i,n=>{if(a.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var o=n&&("load"===n.type?"missing":n.type),i=n&&n.target&&n.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+i+")",s.name="ChunkLoadError",s.type=o,s.request=i,r[1](s)}},"chunk-"+t,t)}};var t=(t,n)=>{var r,o,[i,s,l]=n,u=0;if(i.some(t=>0!==e[t])){for(r in s)a.o(s,r)&&(a.m[r]=s[r]);l&&l(a)}for(t&&t(n);u<i.length;u++)o=i[u],a.o(e,o)&&e[o]&&e[o][0](),e[o]=0},n=globalThis.webpackChunkboltaudit=globalThis.webpackChunkboltaudit||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),a.nc=void 0,(()=>{"use strict";var e=a(609),t=a(510);const n=t.Ay.div` 
     1(()=>{var e,t,n={87:e=>{"use strict";e.exports=window.wp.element},455:e=>{"use strict";e.exports=window.wp.apiFetch},510:(e,t,n)=>{"use strict";n.d(t,{NP:()=>Dt,Ay:()=>Ut});var r=function(){return r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},r.apply(this,arguments)};function a(e,t,n){if(n||2===arguments.length)for(var r,a=0,o=t.length;a<o;a++)!r&&a in t||(r||(r=Array.prototype.slice.call(t,0,a)),r[a]=t[a]);return e.concat(r||Array.prototype.slice.call(t))}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var o=n(609),i=n.n(o),s=n(833),l=n.n(s),u="-ms-",c="-moz-",p="-webkit-",h="comm",d="rule",f="decl",m="@keyframes",g=Math.abs,v=String.fromCharCode,y=Object.assign;function w(e){return e.trim()}function b(e,t){return(e=t.exec(e))?e[0]:e}function S(e,t,n){return e.replace(t,n)}function E(e,t,n){return e.indexOf(t,n)}function x(e,t){return 0|e.charCodeAt(t)}function C(e,t,n){return e.slice(t,n)}function M(e){return e.length}function k(e){return e.length}function A(e,t){return t.push(e),e}function R(e,t){return e.filter(function(e){return!b(e,t)})}var O=1,N=1,P=0,j=0,I=0,D="";function T(e,t,n,r,a,o,i,s){return{value:e,root:t,parent:n,type:r,props:a,children:o,line:O,column:N,length:i,return:"",siblings:s}}function $(e,t){return y(T("",null,null,"",null,null,0,e.siblings),e,{length:-e.length},t)}function L(e){for(;e.root;)e=$(e.root,{children:[e]});A(e,e.siblings)}function z(){return I=j>0?x(D,--j):0,N--,10===I&&(N=1,O--),I}function _(){return I=j<P?x(D,j++):0,N++,10===I&&(N=1,O++),I}function F(){return x(D,j)}function B(){return j}function U(e,t){return C(D,e,t)}function W(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function H(e){return w(U(j-1,V(91===e?e+2:40===e?e+1:e)))}function Y(e){for(;(I=F())&&I<33;)_();return W(e)>2||W(I)>3?"":" "}function G(e,t){for(;--t&&_()&&!(I<48||I>102||I>57&&I<65||I>70&&I<97););return U(e,B()+(t<6&&32==F()&&32==_()))}function V(e){for(;_();)switch(I){case e:return j;case 34:case 39:34!==e&&39!==e&&V(I);break;case 40:41===e&&V(e);break;case 92:_()}return j}function Q(e,t){for(;_()&&e+I!==57&&(e+I!==84||47!==F()););return"/*"+U(t,j-1)+"*"+v(47===e?e:_())}function q(e){for(;!W(F());)_();return U(e,j)}function J(e,t){for(var n="",r=0;r<e.length;r++)n+=t(e[r],r,e,t)||"";return n}function Z(e,t,n,r){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case f:return e.return=e.return||e.value;case h:return"";case m:return e.return=e.value+"{"+J(e.children,r)+"}";case d:if(!M(e.value=e.props.join(",")))return""}return M(n=J(e.children,r))?e.return=e.value+"{"+n+"}":""}function K(e,t,n){switch(function(e,t){return 45^x(e,0)?(((t<<2^x(e,0))<<2^x(e,1))<<2^x(e,2))<<2^x(e,3):0}(e,t)){case 5103:return p+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return p+e+e;case 4789:return c+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return p+e+c+e+u+e+e;case 5936:switch(x(e,t+11)){case 114:return p+e+u+S(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return p+e+u+S(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return p+e+u+S(e,/[svh]\w+-[tblr]{2}/,"lr")+e}case 6828:case 4268:case 2903:return p+e+u+e+e;case 6165:return p+e+u+"flex-"+e+e;case 5187:return p+e+S(e,/(\w+).+(:[^]+)/,p+"box-$1$2"+u+"flex-$1$2")+e;case 5443:return p+e+u+"flex-item-"+S(e,/flex-|-self/g,"")+(b(e,/flex-|baseline/)?"":u+"grid-row-"+S(e,/flex-|-self/g,""))+e;case 4675:return p+e+u+"flex-line-pack"+S(e,/align-content|flex-|-self/g,"")+e;case 5548:return p+e+u+S(e,"shrink","negative")+e;case 5292:return p+e+u+S(e,"basis","preferred-size")+e;case 6060:return p+"box-"+S(e,"-grow","")+p+e+u+S(e,"grow","positive")+e;case 4554:return p+S(e,/([^-])(transform)/g,"$1"+p+"$2")+e;case 6187:return S(S(S(e,/(zoom-|grab)/,p+"$1"),/(image-set)/,p+"$1"),e,"")+e;case 5495:case 3959:return S(e,/(image-set\([^]*)/,p+"$1$`$1");case 4968:return S(S(e,/(.+:)(flex-)?(.*)/,p+"box-pack:$3"+u+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+p+e+e;case 4200:if(!b(e,/flex-|baseline/))return u+"grid-column-align"+C(e,t)+e;break;case 2592:case 3360:return u+S(e,"template-","")+e;case 4384:case 3616:return n&&n.some(function(e,n){return t=n,b(e.props,/grid-\w+-end/)})?~E(e+(n=n[t].value),"span",0)?e:u+S(e,"-start","")+e+u+"grid-row-span:"+(~E(n,"span",0)?b(n,/\d+/):+b(n,/\d+/)-+b(e,/\d+/))+";":u+S(e,"-start","")+e;case 4896:case 4128:return n&&n.some(function(e){return b(e.props,/grid-\w+-start/)})?e:u+S(S(e,"-end","-span"),"span ","")+e;case 4095:case 3583:case 4068:case 2532:return S(e,/(.+)-inline(.+)/,p+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(M(e)-1-t>6)switch(x(e,t+1)){case 109:if(45!==x(e,t+4))break;case 102:return S(e,/(.+:)(.+)-([^]+)/,"$1"+p+"$2-$3$1"+c+(108==x(e,t+3)?"$3":"$2-$3"))+e;case 115:return~E(e,"stretch",0)?K(S(e,"stretch","fill-available"),t,n)+e:e}break;case 5152:case 5920:return S(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(t,n,r,a,o,i,s){return u+n+":"+r+s+(a?u+n+"-span:"+(o?i:+i-+r)+s:"")+e});case 4949:if(121===x(e,t+6))return S(e,":",":"+p)+e;break;case 6444:switch(x(e,45===x(e,14)?18:11)){case 120:return S(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+p+(45===x(e,14)?"inline-":"")+"box$3$1"+p+"$2$3$1"+u+"$2box$3")+e;case 100:return S(e,":",":"+u)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return S(e,"scroll-","scroll-snap-")+e}return e}function X(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case f:return void(e.return=K(e.value,e.length,n));case m:return J([$(e,{value:S(e.value,"@","@"+p)})],r);case d:if(e.length)return function(e,t){return e.map(t).join("")}(n=e.props,function(t){switch(b(t,r=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":L($(e,{props:[S(t,/:(read-\w+)/,":-moz-$1")]})),L($(e,{props:[t]})),y(e,{props:R(n,r)});break;case"::placeholder":L($(e,{props:[S(t,/:(plac\w+)/,":"+p+"input-$1")]})),L($(e,{props:[S(t,/:(plac\w+)/,":-moz-$1")]})),L($(e,{props:[S(t,/:(plac\w+)/,u+"input-$1")]})),L($(e,{props:[t]})),y(e,{props:R(n,r)})}return""})}}function ee(e){return function(e){return D="",e}(te("",null,null,null,[""],e=function(e){return O=N=1,P=M(D=e),j=0,[]}(e),0,[0],e))}function te(e,t,n,r,a,o,i,s,l){for(var u=0,c=0,p=i,h=0,d=0,f=0,m=1,y=1,w=1,b=0,C="",k=a,R=o,O=r,N=C;y;)switch(f=b,b=_()){case 40:if(108!=f&&58==x(N,p-1)){-1!=E(N+=S(H(b),"&","&\f"),"&\f",g(u?s[u-1]:0))&&(w=-1);break}case 34:case 39:case 91:N+=H(b);break;case 9:case 10:case 13:case 32:N+=Y(f);break;case 92:N+=G(B()-1,7);continue;case 47:switch(F()){case 42:case 47:A(re(Q(_(),B()),t,n,l),l);break;default:N+="/"}break;case 123*m:s[u++]=M(N)*w;case 125*m:case 59:case 0:switch(b){case 0:case 125:y=0;case 59+c:-1==w&&(N=S(N,/\f/g,"")),d>0&&M(N)-p&&A(d>32?ae(N+";",r,n,p-1,l):ae(S(N," ","")+";",r,n,p-2,l),l);break;case 59:N+=";";default:if(A(O=ne(N,t,n,u,c,a,s,C,k=[],R=[],p,o),o),123===b)if(0===c)te(N,t,O,O,k,o,p,s,R);else switch(99===h&&110===x(N,3)?100:h){case 100:case 108:case 109:case 115:te(e,O,O,r&&A(ne(e,O,O,0,0,a,s,C,a,k=[],p,R),R),a,R,p,s,r?k:R);break;default:te(N,O,O,O,[""],R,0,s,R)}}u=c=d=0,m=w=1,C=N="",p=i;break;case 58:p=1+M(N),d=f;default:if(m<1)if(123==b)--m;else if(125==b&&0==m++&&125==z())continue;switch(N+=v(b),b*m){case 38:w=c>0?1:(N+="\f",-1);break;case 44:s[u++]=(M(N)-1)*w,w=1;break;case 64:45===F()&&(N+=H(_())),h=F(),c=p=M(C=N+=q(B())),b++;break;case 45:45===f&&2==M(N)&&(m=0)}}return o}function ne(e,t,n,r,a,o,i,s,l,u,c,p){for(var h=a-1,f=0===a?o:[""],m=k(f),v=0,y=0,b=0;v<r;++v)for(var E=0,x=C(e,h+1,h=g(y=i[v])),M=e;E<m;++E)(M=w(y>0?f[E]+" "+x:S(x,/&\f/g,f[E])))&&(l[b++]=M);return T(e,t,n,0===a?d:s,l,u,c,p)}function re(e,t,n,r){return T(e,t,n,h,v(I),C(e,2,-2),0,r)}function ae(e,t,n,r,a){return T(e,t,n,f,C(e,0,r),C(e,r+1,-1),r,a)}var oe={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},ie="undefined"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",se="active",le="data-styled-version",ue="6.1.19",ce="/*!sc*/\n",pe="undefined"!=typeof window&&"undefined"!=typeof document,he=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&""!==process.env.REACT_APP_SC_DISABLE_SPEEDY?"false"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&void 0!==process.env.SC_DISABLE_SPEEDY&&""!==process.env.SC_DISABLE_SPEEDY&&"false"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY),de=(new Set,Object.freeze([])),fe=Object.freeze({});var me=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),ge=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,ve=/(^-|-$)/g;function ye(e){return e.replace(ge,"-").replace(ve,"")}var we=/(a)(d)/gi,be=function(e){return String.fromCharCode(e+(e>25?39:97))};function Se(e){var t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=be(t%52)+n;return(be(t%52)+n).replace(we,"$1-$2")}var Ee,xe=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},Ce=function(e){return xe(5381,e)};function Me(e){return"string"==typeof e&&!0}var ke="function"==typeof Symbol&&Symbol.for,Ae=ke?Symbol.for("react.memo"):60115,Re=ke?Symbol.for("react.forward_ref"):60112,Oe={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},Ne={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Pe={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},je=((Ee={})[Re]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Ee[Ae]=Pe,Ee);function Ie(e){return("type"in(t=e)&&t.type.$$typeof)===Ae?Pe:"$$typeof"in e?je[e.$$typeof]:Oe;var t}var De=Object.defineProperty,Te=Object.getOwnPropertyNames,$e=Object.getOwnPropertySymbols,Le=Object.getOwnPropertyDescriptor,ze=Object.getPrototypeOf,_e=Object.prototype;function Fe(e,t,n){if("string"!=typeof t){if(_e){var r=ze(t);r&&r!==_e&&Fe(e,r,n)}var a=Te(t);$e&&(a=a.concat($e(t)));for(var o=Ie(e),i=Ie(t),s=0;s<a.length;++s){var l=a[s];if(!(l in Ne||n&&n[l]||i&&l in i||o&&l in o)){var u=Le(t,l);try{De(e,l,u)}catch(e){}}}}return e}function Be(e){return"function"==typeof e}function Ue(e){return"object"==typeof e&&"styledComponentId"in e}function We(e,t){return e&&t?"".concat(e," ").concat(t):e||t||""}function He(e,t){if(0===e.length)return"";for(var n=e[0],r=1;r<e.length;r++)n+=t?t+e[r]:e[r];return n}function Ye(e){return null!==e&&"object"==typeof e&&e.constructor.name===Object.name&&!("props"in e&&e.$$typeof)}function Ge(e,t,n){if(void 0===n&&(n=!1),!n&&!Ye(e)&&!Array.isArray(e))return t;if(Array.isArray(t))for(var r=0;r<t.length;r++)e[r]=Ge(e[r],t[r]);else if(Ye(t))for(var r in t)e[r]=Ge(e[r],t[r]);return e}function Ve(e,t){Object.defineProperty(e,"toString",{value:t})}function Qe(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return new Error("An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#".concat(e," for more information.").concat(t.length>0?" Args: ".concat(t.join(", ")):""))}var qe=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},e.prototype.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,a=r;e>=a;)if((a<<=1)<0)throw Qe(16,"".concat(e));this.groupSizes=new Uint32Array(a),this.groupSizes.set(n),this.length=a;for(var o=r;o<a;o++)this.groupSizes[o]=0}for(var i=this.indexOfGroup(e+1),s=(o=0,t.length);o<s;o++)this.tag.insertRule(i,t[o])&&(this.groupSizes[e]++,i++)},e.prototype.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var a=n;a<r;a++)this.tag.deleteRule(n)}},e.prototype.getGroup=function(e){var t="";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),a=r+n,o=r;o<a;o++)t+="".concat(this.tag.getRule(o)).concat(ce);return t},e}(),Je=new Map,Ze=new Map,Ke=1,Xe=function(e){if(Je.has(e))return Je.get(e);for(;Ze.has(Ke);)Ke++;var t=Ke++;return Je.set(e,t),Ze.set(t,e),t},et=function(e,t){Ke=t+1,Je.set(e,t),Ze.set(t,e)},tt="style[".concat(ie,"][").concat(le,'="').concat(ue,'"]'),nt=new RegExp("^".concat(ie,'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)')),rt=function(e,t,n){for(var r,a=n.split(","),o=0,i=a.length;o<i;o++)(r=a[o])&&e.registerName(t,r)},at=function(e,t){for(var n,r=(null!==(n=t.textContent)&&void 0!==n?n:"").split(ce),a=[],o=0,i=r.length;o<i;o++){var s=r[o].trim();if(s){var l=s.match(nt);if(l){var u=0|parseInt(l[1],10),c=l[2];0!==u&&(et(c,u),rt(e,c,l[3]),e.getTag().insertRules(u,a)),a.length=0}else a.push(s)}}},ot=function(e){for(var t=document.querySelectorAll(tt),n=0,r=t.length;n<r;n++){var a=t[n];a&&a.getAttribute(ie)!==se&&(at(e,a),a.parentNode&&a.parentNode.removeChild(a))}};function it(){return n.nc}var st=function(e){var t=document.head,n=e||t,r=document.createElement("style"),a=function(e){var t=Array.from(e.querySelectorAll("style[".concat(ie,"]")));return t[t.length-1]}(n),o=void 0!==a?a.nextSibling:null;r.setAttribute(ie,se),r.setAttribute(le,ue);var i=it();return i&&r.setAttribute("nonce",i),n.insertBefore(r,o),r},lt=function(){function e(e){this.element=st(e),this.element.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var a=t[n];if(a.ownerNode===e)return a}throw Qe(17)}(this.element),this.length=0}return e.prototype.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},e.prototype.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},e.prototype.getRule=function(e){var t=this.sheet.cssRules[e];return t&&t.cssText?t.cssText:""},e}(),ut=function(){function e(e){this.element=st(e),this.nodes=this.element.childNodes,this.length=0}return e.prototype.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},e.prototype.getRule=function(e){return e<this.length?this.nodes[e].textContent:""},e}(),ct=function(){function e(e){this.rules=[],this.length=0}return e.prototype.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},e.prototype.deleteRule=function(e){this.rules.splice(e,1),this.length--},e.prototype.getRule=function(e){return e<this.length?this.rules[e]:""},e}(),pt=pe,ht={isServer:!pe,useCSSOMInjection:!he},dt=function(){function e(e,t,n){void 0===e&&(e=fe),void 0===t&&(t={});var a=this;this.options=r(r({},ht),e),this.gs=t,this.names=new Map(n),this.server=!!e.isServer,!this.server&&pe&&pt&&(pt=!1,ot(this)),Ve(this,function(){return function(e){for(var t=e.getTag(),n=t.length,r="",a=function(n){var a=function(e){return Ze.get(e)}(n);if(void 0===a)return"continue";var o=e.names.get(a),i=t.getGroup(n);if(void 0===o||!o.size||0===i.length)return"continue";var s="".concat(ie,".g").concat(n,'[id="').concat(a,'"]'),l="";void 0!==o&&o.forEach(function(e){e.length>0&&(l+="".concat(e,","))}),r+="".concat(i).concat(s,'{content:"').concat(l,'"}').concat(ce)},o=0;o<n;o++)a(o);return r}(a)})}return e.registerId=function(e){return Xe(e)},e.prototype.rehydrate=function(){!this.server&&pe&&ot(this)},e.prototype.reconstructWithOptions=function(t,n){return void 0===n&&(n=!0),new e(r(r({},this.options),t),this.gs,n&&this.names||void 0)},e.prototype.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},e.prototype.getTag=function(){return this.tag||(this.tag=(e=function(e){var t=e.useCSSOMInjection,n=e.target;return e.isServer?new ct(n):t?new lt(n):new ut(n)}(this.options),new qe(e)));var e},e.prototype.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},e.prototype.registerName=function(e,t){if(Xe(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},e.prototype.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(Xe(e),n)},e.prototype.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},e.prototype.clearRules=function(e){this.getTag().clearGroup(Xe(e)),this.clearNames(e)},e.prototype.clearTag=function(){this.tag=void 0},e}(),ft=/&/g,mt=/^\s*\/\/.*$/gm;function gt(e,t){return e.map(function(e){return"rule"===e.type&&(e.value="".concat(t," ").concat(e.value),e.value=e.value.replaceAll(",",",".concat(t," ")),e.props=e.props.map(function(e){return"".concat(t," ").concat(e)})),Array.isArray(e.children)&&"@keyframes"!==e.type&&(e.children=gt(e.children,t)),e})}function vt(e){var t,n,r,a=void 0===e?fe:e,o=a.options,i=void 0===o?fe:o,s=a.plugins,l=void 0===s?de:s,u=function(e,r,a){return a.startsWith(n)&&a.endsWith(n)&&a.replaceAll(n,"").length>0?".".concat(t):e},c=l.slice();c.push(function(e){e.type===d&&e.value.includes("&")&&(e.props[0]=e.props[0].replace(ft,n).replace(r,u))}),i.prefix&&c.push(X),c.push(Z);var p=function(e,a,o,s){void 0===a&&(a=""),void 0===o&&(o=""),void 0===s&&(s="&"),t=s,n=a,r=new RegExp("\\".concat(n,"\\b"),"g");var l=e.replace(mt,""),u=ee(o||a?"".concat(o," ").concat(a," { ").concat(l," }"):l);i.namespace&&(u=gt(u,i.namespace));var p,h,d,f=[];return J(u,(p=c.concat((d=function(e){return f.push(e)},function(e){e.root||(e=e.return)&&d(e)})),h=k(p),function(e,t,n,r){for(var a="",o=0;o<h;o++)a+=p[o](e,t,n,r)||"";return a})),f};return p.hash=l.length?l.reduce(function(e,t){return t.name||Qe(15),xe(e,t.name)},5381).toString():"",p}var yt=new dt,wt=vt(),bt=i().createContext({shouldForwardProp:void 0,styleSheet:yt,stylis:wt}),St=(bt.Consumer,i().createContext(void 0));function Et(){return(0,o.useContext)(bt)}function xt(e){var t=(0,o.useState)(e.stylisPlugins),n=t[0],r=t[1],a=Et().styleSheet,s=(0,o.useMemo)(function(){var t=a;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t},[e.disableCSSOMInjection,e.sheet,e.target,a]),u=(0,o.useMemo)(function(){return vt({options:{namespace:e.namespace,prefix:e.enableVendorPrefixes},plugins:n})},[e.enableVendorPrefixes,e.namespace,n]);(0,o.useEffect)(function(){l()(n,e.stylisPlugins)||r(e.stylisPlugins)},[e.stylisPlugins]);var c=(0,o.useMemo)(function(){return{shouldForwardProp:e.shouldForwardProp,styleSheet:s,stylis:u}},[e.shouldForwardProp,s,u]);return i().createElement(bt.Provider,{value:c},i().createElement(St.Provider,{value:u},e.children))}var Ct=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=wt);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,"@keyframes"))},this.name=e,this.id="sc-keyframes-".concat(e),this.rules=t,Ve(this,function(){throw Qe(12,String(n.name))})}return e.prototype.getName=function(e){return void 0===e&&(e=wt),this.name+e.hash},e}(),Mt=function(e){return e>="A"&&e<="Z"};function kt(e){for(var t="",n=0;n<e.length;n++){var r=e[n];if(1===n&&"-"===r&&"-"===e[0])return e;Mt(r)?t+="-"+r.toLowerCase():t+=r}return t.startsWith("ms-")?"-"+t:t}var At=function(e){return null==e||!1===e||""===e},Rt=function(e){var t,n,r=[];for(var o in e){var i=e[o];e.hasOwnProperty(o)&&!At(i)&&(Array.isArray(i)&&i.isCss||Be(i)?r.push("".concat(kt(o),":"),i,";"):Ye(i)?r.push.apply(r,a(a(["".concat(o," {")],Rt(i),!1),["}"],!1)):r.push("".concat(kt(o),": ").concat((t=o,null==(n=i)||"boolean"==typeof n||""===n?"":"number"!=typeof n||0===n||t in oe||t.startsWith("--")?String(n).trim():"".concat(n,"px")),";")))}return r};function Ot(e,t,n,r){return At(e)?[]:Ue(e)?[".".concat(e.styledComponentId)]:Be(e)?!Be(a=e)||a.prototype&&a.prototype.isReactComponent||!t?[e]:Ot(e(t),t,n,r):e instanceof Ct?n?(e.inject(n,r),[e.getName(r)]):[e]:Ye(e)?Rt(e):Array.isArray(e)?Array.prototype.concat.apply(de,e.map(function(e){return Ot(e,t,n,r)})):[e.toString()];var a}function Nt(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(Be(n)&&!Ue(n))return!1}return!0}var Pt=Ce(ue),jt=function(){function e(e,t,n){this.rules=e,this.staticRulesId="",this.isStatic=(void 0===n||n.isStatic)&&Nt(e),this.componentId=t,this.baseHash=xe(Pt,t),this.baseStyle=n,dt.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.baseStyle?this.baseStyle.generateAndInjectStyles(e,t,n):"";if(this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(this.componentId,this.staticRulesId))r=We(r,this.staticRulesId);else{var a=He(Ot(this.rules,e,t,n)),o=Se(xe(this.baseHash,a)>>>0);if(!t.hasNameForId(this.componentId,o)){var i=n(a,".".concat(o),void 0,this.componentId);t.insertRules(this.componentId,o,i)}r=We(r,o),this.staticRulesId=o}else{for(var s=xe(this.baseHash,n.hash),l="",u=0;u<this.rules.length;u++){var c=this.rules[u];if("string"==typeof c)l+=c;else if(c){var p=He(Ot(c,e,t,n));s=xe(s,p+u),l+=p}}if(l){var h=Se(s>>>0);t.hasNameForId(this.componentId,h)||t.insertRules(this.componentId,h,n(l,".".concat(h),void 0,this.componentId)),r=We(r,h)}}return r},e}(),It=i().createContext(void 0);function Dt(e){var t=i().useContext(It),n=(0,o.useMemo)(function(){return function(e,t){if(!e)throw Qe(14);if(Be(e))return e(t);if(Array.isArray(e)||"object"!=typeof e)throw Qe(8);return t?r(r({},t),e):e}(e.theme,t)},[e.theme,t]);return e.children?i().createElement(It.Provider,{value:n},e.children):null}It.Consumer;var Tt={};function $t(e,t,n){var a=Ue(e),s=e,l=!Me(e),u=t.attrs,c=void 0===u?de:u,p=t.componentId,h=void 0===p?function(e,t){var n="string"!=typeof e?"sc":ye(e);Tt[n]=(Tt[n]||0)+1;var r="".concat(n,"-").concat(function(e){return Se(Ce(e)>>>0)}(ue+n+Tt[n]));return t?"".concat(t,"-").concat(r):r}(t.displayName,t.parentComponentId):p,d=t.displayName,f=void 0===d?function(e){return Me(e)?"styled.".concat(e):"Styled(".concat(function(e){return e.displayName||e.name||"Component"}(e),")")}(e):d,m=t.displayName&&t.componentId?"".concat(ye(t.displayName),"-").concat(t.componentId):t.componentId||h,g=a&&s.attrs?s.attrs.concat(c).filter(Boolean):c,v=t.shouldForwardProp;if(a&&s.shouldForwardProp){var y=s.shouldForwardProp;if(t.shouldForwardProp){var w=t.shouldForwardProp;v=function(e,t){return y(e,t)&&w(e,t)}}else v=y}var b=new jt(n,m,a?s.componentStyle:void 0);function S(e,t){return function(e,t,n){var a=e.attrs,s=e.componentStyle,l=e.defaultProps,u=e.foldedComponentIds,c=e.styledComponentId,p=e.target,h=i().useContext(It),d=Et(),f=e.shouldForwardProp||d.shouldForwardProp,m=function(e,t,n){return void 0===n&&(n=fe),e.theme!==n.theme&&e.theme||t||n.theme}(t,h,l)||fe,g=function(e,t,n){for(var a,o=r(r({},t),{className:void 0,theme:n}),i=0;i<e.length;i+=1){var s=Be(a=e[i])?a(o):a;for(var l in s)o[l]="className"===l?We(o[l],s[l]):"style"===l?r(r({},o[l]),s[l]):s[l]}return t.className&&(o.className=We(o.className,t.className)),o}(a,t,m),v=g.as||p,y={};for(var w in g)void 0===g[w]||"$"===w[0]||"as"===w||"theme"===w&&g.theme===m||("forwardedAs"===w?y.as=g.forwardedAs:f&&!f(w,v)||(y[w]=g[w]));var b=function(e,t){var n=Et();return e.generateAndInjectStyles(t,n.styleSheet,n.stylis)}(s,g),S=We(u,c);return b&&(S+=" "+b),g.className&&(S+=" "+g.className),y[Me(v)&&!me.has(v)?"class":"className"]=S,n&&(y.ref=n),(0,o.createElement)(v,y)}(E,e,t)}S.displayName=f;var E=i().forwardRef(S);return E.attrs=g,E.componentStyle=b,E.displayName=f,E.shouldForwardProp=v,E.foldedComponentIds=a?We(s.foldedComponentIds,s.styledComponentId):"",E.styledComponentId=m,E.target=a?s.target:e,Object.defineProperty(E,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=a?function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=0,a=t;r<a.length;r++)Ge(e,a[r],!0);return e}({},s.defaultProps,e):e}}),Ve(E,function(){return".".concat(E.styledComponentId)}),l&&Fe(E,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),E}function Lt(e,t){for(var n=[e[0]],r=0,a=t.length;r<a;r+=1)n.push(t[r],e[r+1]);return n}new Set;var zt=function(e){return Object.assign(e,{isCss:!0})};function _t(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(Be(e)||Ye(e))return zt(Ot(Lt(de,a([e],t,!0))));var r=e;return 0===t.length&&1===r.length&&"string"==typeof r[0]?Ot(r):zt(Ot(Lt(r,t)))}function Ft(e,t,n){if(void 0===n&&(n=fe),!t)throw Qe(1,t);var o=function(r){for(var o=[],i=1;i<arguments.length;i++)o[i-1]=arguments[i];return e(t,n,_t.apply(void 0,a([r],o,!1)))};return o.attrs=function(a){return Ft(e,t,r(r({},n),{attrs:Array.prototype.concat(n.attrs,a).filter(Boolean)}))},o.withConfig=function(a){return Ft(e,t,r(r({},n),a))},o}var Bt=function(e){return Ft($t,e)},Ut=Bt;me.forEach(function(e){Ut[e]=Bt(e)}),function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=Nt(e),dt.registerId(this.componentId+1)}e.prototype.createStyles=function(e,t,n,r){var a=r(He(Ot(this.rules,t,n,r)),""),o=this.componentId+e;n.insertRules(o,o,a)},e.prototype.removeStyles=function(e,t){t.clearRules(this.componentId+e)},e.prototype.renderStyles=function(e,t,n,r){e>2&&dt.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)}}(),function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return"";var n=it(),r=He([n&&'nonce="'.concat(n,'"'),"".concat(ie,'="true"'),"".concat(le,'="').concat(ue,'"')].filter(Boolean)," ");return"<style ".concat(r,">").concat(t,"</style>")},this.getStyleTags=function(){if(e.sealed)throw Qe(2);return e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)throw Qe(2);var n=e.instance.toString();if(!n)return[];var a=((t={})[ie]="",t[le]=ue,t.dangerouslySetInnerHTML={__html:n},t),o=it();return o&&(a.nonce=o),[i().createElement("style",r({},a,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new dt({isServer:!0}),this.sealed=!1}e.prototype.collectStyles=function(e){if(this.sealed)throw Qe(2);return i().createElement(xt,{sheet:this.instance},e)},e.prototype.interleaveWithNodeStream=function(e){throw Qe(3)}}(),"__sc-".concat(ie,"__")},609:e=>{"use strict";e.exports=window.React},833:e=>{e.exports=function(e,t,n,r){var a=n?n.call(r,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),l=0;l<o.length;l++){var u=o[l];if(!s(u))return!1;var c=e[u],p=t[u];if(!1===(a=n?n.call(r,c,p,u):void 0)||void 0===a&&c!==p)return!1}return!0}},920:(e,t,n)=>{"use strict";n.d(t,{BV:()=>ue,I9:()=>Pe,N_:()=>Ie,Zp:()=>q,g:()=>J,k2:()=>De,qh:()=>se});var r=n(609),a="popstate";function o(e={}){return function(e,t,n,r={}){let{window:o=document.defaultView,v5Compat:s=!1}=r,p=o.history,h="POP",d=null,f=m();function m(){return(p.state||{idx:null}).idx}function g(){h="POP";let e=m(),t=null==e?null:e-f;f=e,d&&d({action:h,location:y.location,delta:t})}function v(e){return function(e,t=!1){let n="http://localhost";"undefined"!=typeof window&&(n="null"!==window.location.origin?window.location.origin:window.location.href),i(n,"No window.location.(origin|href) available to create URL");let r="string"==typeof e?e:c(e);return r=r.replace(/ $/,"%20"),!t&&r.startsWith("//")&&(r=n+r),new URL(r,n)}(e)}null==f&&(f=0,p.replaceState({...p.state,idx:f},""));let y={get action(){return h},get location(){return e(o,p)},listen(e){if(d)throw new Error("A history only accepts one active listener");return o.addEventListener(a,g),d=e,()=>{o.removeEventListener(a,g),d=null}},createHref:e=>t(o,e),createURL:v,encodeLocation(e){let t=v(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){h="PUSH";let r=u(y.location,e,t);n&&n(r,e),f=m()+1;let a=l(r,f),i=y.createHref(r);try{p.pushState(a,"",i)}catch(e){if(e instanceof DOMException&&"DataCloneError"===e.name)throw e;o.location.assign(i)}s&&d&&d({action:h,location:y.location,delta:1})},replace:function(e,t){h="REPLACE";let r=u(y.location,e,t);n&&n(r,e),f=m();let a=l(r,f),o=y.createHref(r);p.replaceState(a,"",o),s&&d&&d({action:h,location:y.location,delta:0})},go:e=>p.go(e)};return y}(function(e,t){let{pathname:n="/",search:r="",hash:a=""}=p(e.location.hash.substring(1));return n.startsWith("/")||n.startsWith(".")||(n="/"+n),u("",{pathname:n,search:r,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")},function(e,t){let n=e.document.querySelector("base"),r="";if(n&&n.getAttribute("href")){let t=e.location.href,n=t.indexOf("#");r=-1===n?t:t.slice(0,n)}return r+"#"+("string"==typeof t?t:c(t))},function(e,t){s("/"===e.pathname.charAt(0),`relative pathnames are not supported in hash history.push(${JSON.stringify(t)})`)},e)}function i(e,t){if(!1===e||null==e)throw new Error(t)}function s(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw new Error(t)}catch(e){}}}function l(e,t){return{usr:e.state,key:e.key,idx:t}}function u(e,t,n=null,r){return{pathname:"string"==typeof e?e:e.pathname,search:"",hash:"",..."string"==typeof t?p(t):t,state:n,key:t&&t.key||r||Math.random().toString(36).substring(2,10)}}function c({pathname:e="/",search:t="",hash:n=""}){return t&&"?"!==t&&(e+="?"===t.charAt(0)?t:"?"+t),n&&"#"!==n&&(e+="#"===n.charAt(0)?n:"#"+n),e}function p(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function h(e,t,n="/"){return function(e,t,n,r){let a=k(("string"==typeof t?p(t):t).pathname||"/",n);if(null==a)return null;let o=d(e);!function(e){e.sort((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)))}(o);let i=null;for(let e=0;null==i&&e<o.length;++e){let t=M(a);i=x(o[e],t,r)}return i}(e,t,n,!1)}function d(e,t=[],n=[],r=""){let a=(e,a,o)=>{let s={relativePath:void 0===o?e.path||"":o,caseSensitive:!0===e.caseSensitive,childrenIndex:a,route:e};s.relativePath.startsWith("/")&&(i(s.relativePath.startsWith(r),`Absolute route path "${s.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),s.relativePath=s.relativePath.slice(r.length));let l=N([r,s.relativePath]),u=n.concat(s);e.children&&e.children.length>0&&(i(!0!==e.index,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),d(e.children,t,u,l)),(null!=e.path||e.index)&&t.push({path:l,score:E(l,e.index),routesMeta:u})};return e.forEach((e,t)=>{if(""!==e.path&&e.path?.includes("?"))for(let n of f(e.path))a(e,t,n);else a(e,t)}),t}function f(e){let t=e.split("/");if(0===t.length)return[];let[n,...r]=t,a=n.endsWith("?"),o=n.replace(/\?$/,"");if(0===r.length)return a?[o,""]:[o];let i=f(r.join("/")),s=[];return s.push(...i.map(e=>""===e?o:[o,e].join("/"))),a&&s.push(...i),s.map(t=>e.startsWith("/")&&""===t?"/":t)}new WeakMap;var m=/^:[\w-]+$/,g=3,v=2,y=1,w=10,b=-2,S=e=>"*"===e;function E(e,t){let n=e.split("/"),r=n.length;return n.some(S)&&(r+=b),t&&(r+=v),n.filter(e=>!S(e)).reduce((e,t)=>e+(m.test(t)?g:""===t?y:w),r)}function x(e,t,n=!1){let{routesMeta:r}=e,a={},o="/",i=[];for(let e=0;e<r.length;++e){let s=r[e],l=e===r.length-1,u="/"===o?t:t.slice(o.length)||"/",c=C({path:s.relativePath,caseSensitive:s.caseSensitive,end:l},u),p=s.route;if(!c&&l&&n&&!r[r.length-1].route.index&&(c=C({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},u)),!c)return null;Object.assign(a,c.params),i.push({params:a,pathname:N([o,c.pathname]),pathnameBase:P(N([o,c.pathnameBase])),route:p}),"/"!==c.pathnameBase&&(o=N([o,c.pathnameBase]))}return i}function C(e,t){"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=function(e,t=!1,n=!0){s("*"===e||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let r=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(e,t,n)=>(r.push({paramName:t,isOptional:null!=n}),n?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),a+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":""!==e&&"/"!==e&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),r]}(e.path,e.caseSensitive,e.end),a=t.match(n);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),l=a.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:n},r)=>{if("*"===t){let e=l[r]||"";i=o.slice(0,o.length-e.length).replace(/(.)\/+$/,"$1")}const a=l[r];return e[t]=n&&!a?void 0:(a||"").replace(/%2F/g,"/"),e},{}),pathname:o,pathnameBase:i,pattern:e}}function M(e){try{return e.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(t){return s(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function k(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&"/"!==r?null:e.slice(n)||"/"}function A(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}].  Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function R(e){let t=function(e){return e.filter((e,t)=>0===t||e.route.path&&e.route.path.length>0)}(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function O(e,t,n,r=!1){let a;"string"==typeof e?a=p(e):(a={...e},i(!a.pathname||!a.pathname.includes("?"),A("?","pathname","search",a)),i(!a.pathname||!a.pathname.includes("#"),A("#","pathname","hash",a)),i(!a.search||!a.search.includes("#"),A("#","search","hash",a)));let o,s=""===e||""===a.pathname,l=s?"/":a.pathname;if(null==l)o=n;else{let e=t.length-1;if(!r&&l.startsWith("..")){let t=l.split("/");for(;".."===t[0];)t.shift(),e-=1;a.pathname=t.join("/")}o=e>=0?t[e]:"/"}let u=function(e,t="/"){let{pathname:n,search:r="",hash:a=""}="string"==typeof e?p(e):e,o=n?n.startsWith("/")?n:function(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(e=>{".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)}),n.length>1?n.join("/"):"/"}(n,t):t;return{pathname:o,search:j(r),hash:I(a)}}(a,o),c=l&&"/"!==l&&l.endsWith("/"),h=(s||"."===l)&&n.endsWith("/");return u.pathname.endsWith("/")||!c&&!h||(u.pathname+="/"),u}var N=e=>e.join("/").replace(/\/\/+/g,"/"),P=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),j=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",I=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"";function D(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}var T=["POST","PUT","PATCH","DELETE"],$=(new Set(T),["GET",...T]);new Set($),Symbol("ResetLoaderData");var L=r.createContext(null);L.displayName="DataRouter";var z=r.createContext(null);z.displayName="DataRouterState";r.createContext(!1);var _=r.createContext({isTransitioning:!1});_.displayName="ViewTransition",r.createContext(new Map).displayName="Fetchers",r.createContext(null).displayName="Await";var F=r.createContext(null);F.displayName="Navigation";var B=r.createContext(null);B.displayName="Location";var U=r.createContext({outlet:null,matches:[],isDataRoute:!1});U.displayName="Route";var W=r.createContext(null);W.displayName="RouteError";var H=!0;function Y(){return null!=r.useContext(B)}function G(){return i(Y(),"useLocation() may be used only in the context of a <Router> component."),r.useContext(B).location}var V="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Q(e){r.useContext(F).static||r.useLayoutEffect(e)}function q(){let{isDataRoute:e}=r.useContext(U);return e?function(){let{router:e}=function(e){let t=r.useContext(L);return i(t,re(e)),t}("useNavigate"),t=ae("useNavigate"),n=r.useRef(!1);return Q(()=>{n.current=!0}),r.useCallback(async(r,a={})=>{s(n.current,V),n.current&&("number"==typeof r?e.navigate(r):await e.navigate(r,{fromRouteId:t,...a}))},[e,t])}():function(){i(Y(),"useNavigate() may be used only in the context of a <Router> component.");let e=r.useContext(L),{basename:t,navigator:n}=r.useContext(F),{matches:a}=r.useContext(U),{pathname:o}=G(),l=JSON.stringify(R(a)),u=r.useRef(!1);return Q(()=>{u.current=!0}),r.useCallback((r,a={})=>{if(s(u.current,V),!u.current)return;if("number"==typeof r)return void n.go(r);let i=O(r,JSON.parse(l),o,"path"===a.relative);null==e&&"/"!==t&&(i.pathname="/"===i.pathname?t:N([t,i.pathname])),(a.replace?n.replace:n.push)(i,a.state,a)},[t,n,l,o,e])}()}function J(){let{matches:e}=r.useContext(U),t=e[e.length-1];return t?t.params:{}}function Z(e,{relative:t}={}){let{matches:n}=r.useContext(U),{pathname:a}=G(),o=JSON.stringify(R(n));return r.useMemo(()=>O(e,JSON.parse(o),a,"path"===t),[e,o,a,t])}function K(e,t,n,a){i(Y(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:o}=r.useContext(F),{matches:l}=r.useContext(U),u=l[l.length-1],c=u?u.params:{},d=u?u.pathname:"/",f=u?u.pathnameBase:"/",m=u&&u.route;if(H){let e=m&&m.path||"";ie(d,!m||e.endsWith("*")||e.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${d}" (under <Route path="${e}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.\n\nPlease change the parent <Route path="${e}"> to <Route path="${"/"===e?"*":`${e}/*`}">.`)}let g,v=G();if(t){let e="string"==typeof t?p(t):t;i("/"===f||e.pathname?.startsWith(f),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${f}" but pathname "${e.pathname}" was given in the \`location\` prop.`),g=e}else g=v;let y=g.pathname||"/",w=y;if("/"!==f){let e=f.replace(/^\//,"").split("/");w="/"+y.replace(/^\//,"").split("/").slice(e.length).join("/")}let b=h(e,{pathname:w});H&&(s(m||null!=b,`No routes matched location "${g.pathname}${g.search}${g.hash}" `),s(null==b||void 0!==b[b.length-1].route.element||void 0!==b[b.length-1].route.Component||void 0!==b[b.length-1].route.lazy,`Matched leaf route at location "${g.pathname}${g.search}${g.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`));let S=function(e,t=[],n=null){if(null==e){if(!n)return null;if(n.errors)e=n.matches;else{if(0!==t.length||n.initialized||!(n.matches.length>0))return null;e=n.matches}}let a=e,o=n?.errors;if(null!=o){let e=a.findIndex(e=>e.route.id&&void 0!==o?.[e.route.id]);i(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),a=a.slice(0,Math.min(a.length,e+1))}let s=!1,l=-1;if(n)for(let e=0;e<a.length;e++){let t=a[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(l=e),t.route.id){let{loaderData:e,errors:r}=n,o=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!r||void 0===r[t.route.id]);if(t.route.lazy||o){s=!0,a=l>=0?a.slice(0,l+1):[a[0]];break}}}return a.reduceRight((e,i,u)=>{let c,p=!1,h=null,d=null;n&&(c=o&&i.route.id?o[i.route.id]:void 0,h=i.route.errorElement||ee,s&&(l<0&&0===u?(ie("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),p=!0,d=null):l===u&&(p=!0,d=i.route.hydrateFallbackElement||null)));let f=t.concat(a.slice(0,u+1)),m=()=>{let t;return t=c?h:p?d:i.route.Component?r.createElement(i.route.Component,null):i.route.element?i.route.element:e,r.createElement(ne,{match:i,routeContext:{outlet:e,matches:f,isDataRoute:null!=n},children:t})};return n&&(i.route.ErrorBoundary||i.route.errorElement||0===u)?r.createElement(te,{location:n.location,revalidation:n.revalidation,component:h,error:c,children:m(),routeContext:{outlet:null,matches:f,isDataRoute:!0}}):m()},null)}(b&&b.map(e=>Object.assign({},e,{params:Object.assign({},c,e.params),pathname:N([f,o.encodeLocation?o.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?f:N([f,o.encodeLocation?o.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})),l,n,a);return t&&S?r.createElement(B.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...g},navigationType:"POP"}},S):S}function X(){let e=function(){let e=r.useContext(W),t=function(e){let t=r.useContext(z);return i(t,re(e)),t}("useRouteError"),n=ae("useRouteError");return void 0!==e?e:t.errors?.[n]}(),t=D(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,a="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:a},s={padding:"2px 4px",backgroundColor:a},l=null;return H&&(console.error("Error handled by React Router default ErrorBoundary:",e),l=r.createElement(r.Fragment,null,r.createElement("p",null,"💿 Hey developer 👋"),r.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",r.createElement("code",{style:s},"ErrorBoundary")," or"," ",r.createElement("code",{style:s},"errorElement")," prop on your route."))),r.createElement(r.Fragment,null,r.createElement("h2",null,"Unexpected Application Error!"),r.createElement("h3",{style:{fontStyle:"italic"}},t),n?r.createElement("pre",{style:o},n):null,l)}r.createContext(null);var ee=r.createElement(X,null),te=class extends r.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?r.createElement(U.Provider,{value:this.props.routeContext},r.createElement(W.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function ne({routeContext:e,match:t,children:n}){let a=r.useContext(L);return a&&a.static&&a.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=t.route.id),r.createElement(U.Provider,{value:e},n)}function re(e){return`${e} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function ae(e){let t=function(e){let t=r.useContext(U);return i(t,re(e)),t}(e),n=t.matches[t.matches.length-1];return i(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}var oe={};function ie(e,t,n){t||oe[e]||(oe[e]=!0,s(!1,n))}function se(e){i(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function le({basename:e="/",children:t=null,location:n,navigationType:a="POP",navigator:o,static:l=!1}){i(!Y(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let u=e.replace(/^\/*/,"/"),c=r.useMemo(()=>({basename:u,navigator:o,static:l,future:{}}),[u,o,l]);"string"==typeof n&&(n=p(n));let{pathname:h="/",search:d="",hash:f="",state:m=null,key:g="default"}=n,v=r.useMemo(()=>{let e=k(h,u);return null==e?null:{location:{pathname:e,search:d,hash:f,state:m,key:g},navigationType:a}},[u,h,d,f,m,g,a]);return s(null!=v,`<Router basename="${u}"> is not able to match the URL "${h}${d}${f}" because it does not start with the basename, so the <Router> won't render anything.`),null==v?null:r.createElement(F.Provider,{value:c},r.createElement(B.Provider,{children:t,value:v}))}function ue({children:e,location:t}){return K(ce(e),t)}function ce(e,t=[]){let n=[];return r.Children.forEach(e,(e,a)=>{if(!r.isValidElement(e))return;let o=[...t,a];if(e.type===r.Fragment)return void n.push.apply(n,ce(e.props.children,o));i(e.type===se,`[${"string"==typeof e.type?e.type:e.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),i(!e.props.index||!e.props.children,"An index route cannot have child routes.");let s={id:e.props.id||o.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,hydrateFallbackElement:e.props.hydrateFallbackElement,HydrateFallback:e.props.HydrateFallback,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:!0===e.props.hasErrorBoundary||null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(s.children=ce(e.props.children,o)),n.push(s)}),n}r.memo(function({routes:e,future:t,state:n}){return K(e,void 0,n,t)}),r.Component;var pe="get",he="application/x-www-form-urlencoded";function de(e){return null!=e&&"string"==typeof e.tagName}var fe=null,me=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function ge(e){return null==e||me.has(e)?e:(s(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${he}"`),null)}function ve(e,t){if(!1===e||null==e)throw new Error(t)}function ye(e){return null!=e&&(null==e.href?"preload"===e.rel&&"string"==typeof e.imageSrcSet&&"string"==typeof e.imageSizes:"string"==typeof e.rel&&"string"==typeof e.href)}function we(e,t,n,r,a,o){let i=(e,t)=>!n[t]||e.route.id!==n[t].route.id,s=(e,t)=>n[t].pathname!==e.pathname||n[t].route.path?.endsWith("*")&&n[t].params["*"]!==e.params["*"];return"assets"===o?t.filter((e,t)=>i(e,t)||s(e,t)):"data"===o?t.filter((t,o)=>{let l=r.routes[t.route.id];if(!l||!l.hasLoader)return!1;if(i(t,o)||s(t,o))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if("boolean"==typeof r)return r}return!0}):[]}function be(e,t,{includeHydrateFallback:n}={}){return r=e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let a=[r.module];return r.clientActionModule&&(a=a.concat(r.clientActionModule)),r.clientLoaderModule&&(a=a.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(a=a.concat(r.hydrateFallbackModule)),r.imports&&(a=a.concat(r.imports)),a}).flat(1),[...new Set(r)];var r}function Se(){let e=r.useContext(L);return ve(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Ee(){let e=r.useContext(z);return ve(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}Object.getOwnPropertyNames(Object.prototype).sort().join("\0"),"undefined"!=typeof window?window:"undefined"!=typeof globalThis&&globalThis,Symbol("SingleFetchRedirect");var xe=r.createContext(void 0);function Ce(){let e=r.useContext(xe);return ve(e,"You must render this element inside a <HydratedRouter> element"),e}function Me(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function ke({page:e,...t}){let{router:n}=Se(),a=r.useMemo(()=>h(n.routes,e,n.basename),[n.routes,e,n.basename]);return a?r.createElement(Re,{page:e,matches:a,...t}):null}function Ae(e){let{manifest:t,routeModules:n}=Ce(),[a,o]=r.useState([]);return r.useEffect(()=>{let r=!1;return async function(e,t,n){return function(e,t){let n=new Set,r=new Set(t);return e.reduce((e,a)=>{if(t&&(null==(o=a)||"string"!=typeof o.page)&&"script"===a.as&&a.href&&r.has(a.href))return e;var o;let i=JSON.stringify(function(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}(a));return n.has(i)||(n.add(i),e.push({key:i,link:a})),e},[])}((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await async function(e,t){if(e.id in t)return t[e.id];try{let n=await import(e.module);return t[e.id]=n,n}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(ye).filter(e=>"stylesheet"===e.rel||"preload"===e.rel).map(e=>"stylesheet"===e.rel?{...e,rel:"prefetch",as:"style"}:{...e,rel:"prefetch"}))}(e,t,n).then(e=>{r||o(e)}),()=>{r=!0}},[e,t,n]),a}function Re({page:e,matches:t,...n}){let a=G(),{manifest:o,routeModules:i}=Ce(),{basename:s}=Se(),{loaderData:l,matches:u}=Ee(),c=r.useMemo(()=>we(e,t,u,o,a,"data"),[e,t,u,o,a]),p=r.useMemo(()=>we(e,t,u,o,a,"assets"),[e,t,u,o,a]),h=r.useMemo(()=>{if(e===a.pathname+a.search+a.hash)return[];let n=new Set,r=!1;if(t.forEach(e=>{let t=o.routes[e.route.id];t&&t.hasLoader&&(!c.some(t=>t.route.id===e.route.id)&&e.route.id in l&&i[e.route.id]?.shouldRevalidate||t.hasClientLoader?r=!0:n.add(e.route.id))}),0===n.size)return[];let u=function(e,t,n){let r="string"==typeof e?new URL(e,"undefined"==typeof window?"server://singlefetch/":window.location.origin):e;return"/"===r.pathname?r.pathname=`_root.${n}`:t&&"/"===k(r.pathname,t)?r.pathname=`${t.replace(/\/$/,"")}/_root.${n}`:r.pathname=`${r.pathname.replace(/\/$/,"")}.${n}`,r}(e,s,"data");return r&&n.size>0&&u.searchParams.set("_routes",t.filter(e=>n.has(e.route.id)).map(e=>e.route.id).join(",")),[u.pathname+u.search]},[s,l,a,o,c,t,e,i]),d=r.useMemo(()=>be(p,o),[p,o]),f=Ae(p);return r.createElement(r.Fragment,null,h.map(e=>r.createElement("link",{key:e,rel:"prefetch",as:"fetch",href:e,...n})),d.map(e=>r.createElement("link",{key:e,rel:"modulepreload",href:e,...n})),f.map(({key:e,link:t})=>r.createElement("link",{key:e,...t})))}xe.displayName="FrameworkContext";function Oe(...e){return t=>{e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}}r.Component;var Ne="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;try{Ne&&(window.__reactRouterVersion="7.7.1")}catch(e){}function Pe({basename:e,children:t,window:n}){let a=r.useRef();null==a.current&&(a.current=o({window:n,v5Compat:!0}));let i=a.current,[s,l]=r.useState({action:i.action,location:i.location}),u=r.useCallback(e=>{r.startTransition(()=>l(e))},[l]);return r.useLayoutEffect(()=>i.listen(u),[i,u]),r.createElement(le,{basename:e,children:t,location:s.location,navigationType:s.action,navigator:i})}var je=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ie=r.forwardRef(function({onClick:e,discover:t="render",prefetch:n="none",relative:a,reloadDocument:o,replace:l,state:u,target:p,to:h,preventScrollReset:d,viewTransition:f,...m},g){let v,{basename:y}=r.useContext(F),w="string"==typeof h&&je.test(h),b=!1;if("string"==typeof h&&w&&(v=h,Ne))try{let e=new URL(window.location.href),t=h.startsWith("//")?new URL(e.protocol+h):new URL(h),n=k(t.pathname,y);t.origin===e.origin&&null!=n?h=n+t.search+t.hash:b=!0}catch(e){s(!1,`<Link to="${h}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let S=function(e,{relative:t}={}){i(Y(),"useHref() may be used only in the context of a <Router> component.");let{basename:n,navigator:a}=r.useContext(F),{hash:o,pathname:s,search:l}=Z(e,{relative:t}),u=s;return"/"!==n&&(u="/"===s?n:N([n,s])),a.createHref({pathname:u,search:l,hash:o})}(h,{relative:a}),[E,x,C]=function(e,t){let n=r.useContext(xe),[a,o]=r.useState(!1),[i,s]=r.useState(!1),{onFocus:l,onBlur:u,onMouseEnter:c,onMouseLeave:p,onTouchStart:h}=t,d=r.useRef(null);r.useEffect(()=>{if("render"===e&&s(!0),"viewport"===e){let e=new IntersectionObserver(e=>{e.forEach(e=>{s(e.isIntersecting)})},{threshold:.5});return d.current&&e.observe(d.current),()=>{e.disconnect()}}},[e]),r.useEffect(()=>{if(a){let e=setTimeout(()=>{s(!0)},100);return()=>{clearTimeout(e)}}},[a]);let f=()=>{o(!0)},m=()=>{o(!1),s(!1)};return n?"intent"!==e?[i,d,{}]:[i,d,{onFocus:Me(l,f),onBlur:Me(u,m),onMouseEnter:Me(c,f),onMouseLeave:Me(p,m),onTouchStart:Me(h,f)}]:[!1,d,{}]}(n,m),M=function(e,{target:t,replace:n,state:a,preventScrollReset:o,relative:i,viewTransition:s}={}){let l=q(),u=G(),p=Z(e,{relative:i});return r.useCallback(r=>{if(function(e,t){return!(0!==e.button||t&&"_self"!==t||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e))}(r,t)){r.preventDefault();let t=void 0!==n?n:c(u)===c(p);l(e,{replace:t,state:a,preventScrollReset:o,relative:i,viewTransition:s})}},[u,l,p,n,a,t,e,o,i,s])}(h,{replace:l,state:u,target:p,preventScrollReset:d,relative:a,viewTransition:f}),A=r.createElement("a",{...m,...C,href:v||S,onClick:b||o?e:function(t){e&&e(t),t.defaultPrevented||M(t)},ref:Oe(g,x),target:p,"data-discover":w||"render"!==t?void 0:"true"});return E&&!w?r.createElement(r.Fragment,null,A,r.createElement(ke,{page:S})):A});Ie.displayName="Link";var De=r.forwardRef(function({"aria-current":e="page",caseSensitive:t=!1,className:n="",end:a=!1,style:o,to:s,viewTransition:l,children:u,...c},p){let h=Z(s,{relative:c.relative}),d=G(),f=r.useContext(z),{navigator:m,basename:g}=r.useContext(F),v=null!=f&&function(e,{relative:t}={}){let n=r.useContext(_);i(null!=n,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`.  Did you accidentally import `RouterProvider` from `react-router`?");let{basename:a}=Te("useViewTransitionState"),o=Z(e,{relative:t});if(!n.isTransitioning)return!1;let s=k(n.currentLocation.pathname,a)||n.currentLocation.pathname,l=k(n.nextLocation.pathname,a)||n.nextLocation.pathname;return null!=C(o.pathname,l)||null!=C(o.pathname,s)}(h)&&!0===l,y=m.encodeLocation?m.encodeLocation(h).pathname:h.pathname,w=d.pathname,b=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;t||(w=w.toLowerCase(),b=b?b.toLowerCase():null,y=y.toLowerCase()),b&&g&&(b=k(b,g)||b);const S="/"!==y&&y.endsWith("/")?y.length-1:y.length;let E,x=w===y||!a&&w.startsWith(y)&&"/"===w.charAt(S),M=null!=b&&(b===y||!a&&b.startsWith(y)&&"/"===b.charAt(y.length)),A={isActive:x,isPending:M,isTransitioning:v},R=x?e:void 0;E="function"==typeof n?n(A):[n,x?"active":null,M?"pending":null,v?"transitioning":null].filter(Boolean).join(" ");let O="function"==typeof o?o(A):o;return r.createElement(Ie,{...c,"aria-current":R,className:E,ref:p,style:O,to:s,viewTransition:l},"function"==typeof u?u(A):u)});function Te(e){let t=r.useContext(L);return i(t,function(e){return`${e} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}(e)),t}De.displayName="NavLink",r.forwardRef(({discover:e="render",fetcherKey:t,navigate:n,reloadDocument:a,replace:o,state:s,method:l=pe,action:u,onSubmit:p,relative:h,preventScrollReset:d,viewTransition:f,...m},g)=>{let v=function(){let{router:e}=Te("useSubmit"),{basename:t}=r.useContext(F),n=ae("useRouteId");return r.useCallback(async(r,a={})=>{let{action:o,method:i,encType:s,formData:l,body:u}=function(e,t){let n,r,a,o,i;if(de(s=e)&&"form"===s.tagName.toLowerCase()){let i=e.getAttribute("action");r=i?k(i,t):null,n=e.getAttribute("method")||pe,a=ge(e.getAttribute("enctype"))||he,o=new FormData(e)}else if(function(e){return de(e)&&"button"===e.tagName.toLowerCase()}(e)||function(e){return de(e)&&"input"===e.tagName.toLowerCase()}(e)&&("submit"===e.type||"image"===e.type)){let i=e.form;if(null==i)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let s=e.getAttribute("formaction")||i.getAttribute("action");if(r=s?k(s,t):null,n=e.getAttribute("formmethod")||i.getAttribute("method")||pe,a=ge(e.getAttribute("formenctype"))||ge(i.getAttribute("enctype"))||he,o=new FormData(i,e),!function(){if(null===fe)try{new FormData(document.createElement("form"),0),fe=!1}catch(e){fe=!0}return fe}()){let{name:t,type:n,value:r}=e;if("image"===n){let e=t?`${t}.`:"";o.append(`${e}x`,"0"),o.append(`${e}y`,"0")}else t&&o.append(t,r)}}else{if(de(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');n=pe,r=null,a=he,i=e}var s;return o&&"text/plain"===a&&(i=o,o=void 0),{action:r,method:n.toLowerCase(),encType:a,formData:o,body:i}}(r,t);if(!1===a.navigate){let t=a.fetcherKey||Le();await e.fetch(t,n,a.action||o,{preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||i,formEncType:a.encType||s,flushSync:a.flushSync})}else await e.navigate(a.action||o,{preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||i,formEncType:a.encType||s,replace:a.replace,state:a.state,fromRouteId:n,flushSync:a.flushSync,viewTransition:a.viewTransition})},[e,t,n])}(),y=function(e,{relative:t}={}){let{basename:n}=r.useContext(F),a=r.useContext(U);i(a,"useFormAction must be used inside a RouteContext");let[o]=a.matches.slice(-1),s={...Z(e||".",{relative:t})},l=G();if(null==e){s.search=l.search;let e=new URLSearchParams(s.search),t=e.getAll("index");if(t.some(e=>""===e)){e.delete("index"),t.filter(e=>e).forEach(t=>e.append("index",t));let n=e.toString();s.search=n?`?${n}`:""}}return e&&"."!==e||!o.route.index||(s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index"),"/"!==n&&(s.pathname="/"===s.pathname?n:N([n,s.pathname])),c(s)}(u,{relative:h}),w="get"===l.toLowerCase()?"get":"post",b="string"==typeof u&&je.test(u);return r.createElement("form",{ref:g,method:w,action:y,onSubmit:a?p:e=>{if(p&&p(e),e.defaultPrevented)return;e.preventDefault();let r=e.nativeEvent.submitter,a=r?.getAttribute("formmethod")||l;v(r||e.currentTarget,{fetcherKey:t,method:a,navigate:n,replace:o,state:s,relative:h,preventScrollReset:d,viewTransition:f})},...m,"data-discover":b||"render"!==e?void 0:"true"})}).displayName="Form";var $e=0,Le=()=>`__${String(++$e)}__`}},r={};function a(e){var t=r[e];if(void 0!==t)return t.exports;var o=r[e]={exports:{}};return n[e](o,o.exports,a),o.exports}a.m=n,a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce((t,n)=>(a.f[n](e,t),t),[])),a.u=e=>e+".js",a.miniCssF=e=>{},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="boltaudit:",a.l=(n,r,o,i)=>{if(e[n])e[n].push(r);else{var s,l;if(void 0!==o)for(var u=document.getElementsByTagName("script"),c=0;c<u.length;c++){var p=u[c];if(p.getAttribute("src")==n||p.getAttribute("data-webpack")==t+o){s=p;break}}s||(l=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,a.nc&&s.setAttribute("nonce",a.nc),s.setAttribute("data-webpack",t+o),s.src=n),e[n]=[r];var h=(t,r)=>{s.onerror=s.onload=null,clearTimeout(d);var a=e[n];if(delete e[n],s.parentNode&&s.parentNode.removeChild(s),a&&a.forEach(e=>e(r)),t)return t(r)},d=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),l&&document.head.appendChild(s)}},a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;a.g.importScripts&&(e=a.g.location+"");var t=a.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&(!e||!/^http(s?):/.test(e));)e=n[r--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e+"../"})(),(()=>{var e={278:0};a.f.j=(t,n)=>{var r=a.o(e,t)?e[t]:void 0;if(0!==r)if(r)n.push(r[2]);else{var o=new Promise((n,a)=>r=e[t]=[n,a]);n.push(r[2]=o);var i=a.p+a.u(t),s=new Error;a.l(i,n=>{if(a.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var o=n&&("load"===n.type?"missing":n.type),i=n&&n.target&&n.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+i+")",s.name="ChunkLoadError",s.type=o,s.request=i,r[1](s)}},"chunk-"+t,t)}};var t=(t,n)=>{var r,o,[i,s,l]=n,u=0;if(i.some(t=>0!==e[t])){for(r in s)a.o(s,r)&&(a.m[r]=s[r]);l&&l(a)}for(t&&t(n);u<i.length;u++)o=i[u],a.o(e,o)&&e[o]&&e[o][0](),e[o]=0},n=globalThis.webpackChunkboltaudit=globalThis.webpackChunkboltaudit||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),a.nc=void 0,(()=>{"use strict";var e=a(609),t=a(510);const n=t.Ay.div` 
    22    height: 100dvh;
    33    display: flex;
     
    3232    }
    3333
    34 `,r=({style:t})=>{const r={minHeight:"500px"};return t=t?{...r,...t}:r,(0,e.createElement)(n,{style:t,className:"ba-preloader"},(0,e.createElement)("img",{src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzgiIGhlaWdodD0iMjMiIHZpZXdCb3g9IjAgMCAzOCAyMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM3LjExOTkgNC4wNzAwMUMzNy4xMTk5IDEuODIwMDEgMzUuMjk5OSAwIDMzLjA0OTkgMEgyMS40NDk5TDE5LjQ2OTkgMy42NjAwM0gzMC43NDk5QzMxLjM3OTkgMy42NjAwMyAzMS44OTk5IDQuMTcgMzEuODk5OSA0LjgxVjUuNDMwMDVDMzEuODk5OSA2LjgwMDA1IDMwLjc4OTkgNy45MDAwMiAyOS40Mjk5IDcuOTAwMDJIMjUuOTQ5OUwyMi45MTk5IDExLjVIMjguODU5OUMyOS41Mjk5IDExLjUgMzAuMDc5OSAxMi4wNSAzMC4wNzk5IDEyLjcyVjE1QzMwLjA3OTkgMTYuMzIgMjkuMDA5OSAxNy4zOCAyNy42OTk5IDE3LjM4SDE3Ljk3OTlMMTUuMTY5OSAyMC43MkgyNy4yNzk5QzMxLjQ4OTkgMjAuNzIgMzQuOTA5OSAxNy4zIDM0LjkwOTkgMTMuMDlDMzQuOTA5OSAxMS4zMiAzMy41Nzk5IDkuODkwMDUgMzEuODY5OSA5LjY4MDA1QzM0LjgwOTkgOS40OTAwNSAzNy4xMzk5IDcuMDYwMDEgMzcuMTM5OSA0LjA3MDAxSDM3LjExOTlaIiBmaWxsPSIjMEUwRTBFIi8+CjxwYXRoIGQ9Ik0yNS4wOSA3Ljg4SDIwLjkxTDIzLjUgNC4zNjAwNUgxOC4zMUwyMC43IDBMNi45MiAyLjUzMDAzSDE4LjUzTDE3Ljg4IDMuMjgwMDNMMTEuOSA0LjUxMDAxSDE2LjgzTDE1Ljg2IDUuNjNMMCA3LjkwMDAySDEzLjkySDE4LjA1TDE2Ljg5IDkuNjYwMDNMNy4zMSAxMS4wNEwxNS43MSAxMS40NkwxNS4xMyAxMi4zNUgxNy43OEwxNS4zIDE3LjI1TDcuODggMTguMjQwMUwxNC41NSAxOC43MUwxMi4zOCAyMi45OTAxTDI1LjA5IDcuODhaIiBmaWxsPSIjRTA1RjFCIi8+Cjwvc3ZnPgo=",alt:"Logo",className:"ba-preloader__logo"}),(0,e.createElement)("p",null,"BoltAudit is running, gathering information."))};var o=a(87);const i=window.wp.hooks;var s=a(788);const l=(0,o.lazy)(()=>Promise.all([a.e(494),a.e(434)]).then(a.bind(a,434)));function u(){const[n,a]=(0,o.useState)("ltr"),[u,c]=(0,o.useState)(!1),p={direction:n};setTimeout(()=>{c(!0)},3e3);const h=(0,i.applyFilters)("ba_dashboard_routes",[{path:"/*",element:(0,e.createElement)(l,null)}]),d={maxHeight:"unset"};return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(s.I9,null,(0,e.createElement)(o.Suspense,{fallback:(0,e.createElement)(r,{style:d})},u?(0,e.createElement)(t.NP,{theme:p},(0,e.createElement)(s.BV,null,h.map((t,n)=>(0,e.createElement)(s.qh,{key:n,path:t.path,element:t.element})))):(0,e.createElement)(r,{type:"full",style:d}))))}document.addEventListener("DOMContentLoaded",function(){const t=document.querySelector("#ba-dashboard-app");t&&function(t){o.createRoot?(0,o.createRoot)(t).render((0,e.createElement)("div",null,(0,e.createElement)(o.Suspense,{fallback:(0,e.createElement)(r,null)},(0,e.createElement)(u,null)))):render((0,e.createElement)("div",null,(0,e.createElement)(o.Suspense,{fallback:(0,e.createElement)(r,null)},(0,e.createElement)(u,null))),t)}(t)})})()})();
     34`,r=({style:t})=>{const r={minHeight:"500px"};return t=t?{...r,...t}:r,(0,e.createElement)(n,{style:t,className:"ba-preloader"},(0,e.createElement)("img",{src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzgiIGhlaWdodD0iMjMiIHZpZXdCb3g9IjAgMCAzOCAyMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM3LjExOTkgNC4wNzAwMUMzNy4xMTk5IDEuODIwMDEgMzUuMjk5OSAwIDMzLjA0OTkgMEgyMS40NDk5TDE5LjQ2OTkgMy42NjAwM0gzMC43NDk5QzMxLjM3OTkgMy42NjAwMyAzMS44OTk5IDQuMTcgMzEuODk5OSA0LjgxVjUuNDMwMDVDMzEuODk5OSA2LjgwMDA1IDMwLjc4OTkgNy45MDAwMiAyOS40Mjk5IDcuOTAwMDJIMjUuOTQ5OUwyMi45MTk5IDExLjVIMjguODU5OUMyOS41Mjk5IDExLjUgMzAuMDc5OSAxMi4wNSAzMC4wNzk5IDEyLjcyVjE1QzMwLjA3OTkgMTYuMzIgMjkuMDA5OSAxNy4zOCAyNy42OTk5IDE3LjM4SDE3Ljk3OTlMMTUuMTY5OSAyMC43MkgyNy4yNzk5QzMxLjQ4OTkgMjAuNzIgMzQuOTA5OSAxNy4zIDM0LjkwOTkgMTMuMDlDMzQuOTA5OSAxMS4zMiAzMy41Nzk5IDkuODkwMDUgMzEuODY5OSA5LjY4MDA1QzM0LjgwOTkgOS40OTAwNSAzNy4xMzk5IDcuMDYwMDEgMzcuMTM5OSA0LjA3MDAxSDM3LjExOTlaIiBmaWxsPSIjMEUwRTBFIi8+CjxwYXRoIGQ9Ik0yNS4wOSA3Ljg4SDIwLjkxTDIzLjUgNC4zNjAwNUgxOC4zMUwyMC43IDBMNi45MiAyLjUzMDAzSDE4LjUzTDE3Ljg4IDMuMjgwMDNMMTEuOSA0LjUxMDAxSDE2LjgzTDE1Ljg2IDUuNjNMMCA3LjkwMDAySDEzLjkySDE4LjA1TDE2Ljg5IDkuNjYwMDNMNy4zMSAxMS4wNEwxNS43MSAxMS40NkwxNS4xMyAxMi4zNUgxNy43OEwxNS4zIDE3LjI1TDcuODggMTguMjQwMUwxNC41NSAxOC43MUwxMi4zOCAyMi45OTAxTDI1LjA5IDcuODhaIiBmaWxsPSIjRTA1RjFCIi8+Cjwvc3ZnPgo=",alt:"Logo",className:"ba-preloader__logo"}),(0,e.createElement)("p",null,"BoltAudit is running, gathering information."))};var o=a(87);const i=window.wp.hooks;var s=a(920);const l=(0,o.lazy)(()=>Promise.all([a.e(494),a.e(310)]).then(a.bind(a,310))),u=(0,o.lazy)(()=>Promise.all([a.e(494),a.e(148)]).then(a.bind(a,148)));function c(){const[n,a]=(0,o.useState)("ltr"),[c,p]=(0,o.useState)(!1),h={direction:n};setTimeout(()=>{p(!0)},3e3);const d=(0,i.applyFilters)("ba_dashboard_routes",[{path:"/*",element:(0,e.createElement)(l,null)},{path:"/plugin/:slug",element:(0,e.createElement)(u,null)}]),f={maxHeight:"unset"};return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(s.I9,null,(0,e.createElement)(o.Suspense,{fallback:(0,e.createElement)(r,{style:f})},c?(0,e.createElement)(t.NP,{theme:h},(0,e.createElement)(s.BV,null,d.map((t,n)=>(0,e.createElement)(s.qh,{key:n,path:t.path,element:t.element})))):(0,e.createElement)(r,{type:"full",style:f}))))}document.addEventListener("DOMContentLoaded",function(){const t=document.querySelector("#ba-dashboard-app");t&&function(t){o.createRoot?(0,o.createRoot)(t).render((0,e.createElement)("div",null,(0,e.createElement)(o.Suspense,{fallback:(0,e.createElement)(r,null)},(0,e.createElement)(c,null)))):render((0,e.createElement)("div",null,(0,e.createElement)(o.Suspense,{fallback:(0,e.createElement)(r,null)},(0,e.createElement)(c,null))),t)}(t)})})()})();
  • boltaudit/trunk/boltaudit.php

    r3329062 r3334205  
    88 * Plugin Name:       BoltAudit – Performance Audit Advisor
    99 * Description:       Get a clear, no-risk performance review of your WordPress site. BoltAudit scans for common slowdowns and gives smart, easy-to-follow suggestions — without touching your site or installing bloat.
    10  * Version:           0.0.4
     10 * Version:           0.0.5
    1111 * Requires at least: 6.0
    1212 * Requires PHP:      7.4
  • boltaudit/trunk/database/Migrations/CreateDB.php

    r3326963 r3334205  
    2525        `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
    2626        `option_key` VARCHAR(191) NOT NULL,
    27         `context` NOT NULL DEFAULT,
     27        `context` VARCHAR(191) NOT NULL DEFAULT '',
    2828        `data` JSON DEFAULT NULL,
    2929        `created` DATE NOT NULL,
  • boltaudit/trunk/readme.txt

    r3329062 r3334205  
    44Requires at least: 5.8
    55Tested up to: 6.8
    6 Stable tag: 0.0.4
     6Stable tag: 0.0.5
    77Requires PHP: 7.4
    88License: GPLv2 or later
     
    2525== Features ==
    2626
    27 - Detect unused and abandoned plugins 
     27- Detect unused, outdated, or abandoned plugins 
    2828- Full Plugin Audit section: inactive, outdated, abandoned detection 
    29 - Visual impact report per plugin (load time, DB usage, asset weight) 
     29- Plugin-level metrics: action/filter hook counts, cron job schedules, database query counts 
    3030- Breaks down post types, metadata, revisions, and orphaned content 
    3131- Analyzes option tables, autoloaded data, transients, and more 
     
    6969== Changelog ==
    7070
     71
     72= 0.0.5 – 2025-07-25 = 
     73* Added asset impact metrics: script/style file size and load duration 
     74* Enhanced SinglePluginRepository caching for faster repeated audits 
     75* UI improvements for metrics breakdown
     76* Bug fixes and performance optimizations 
     77
    7178= 0.0.4 – 2025-07-16 = 
    7279* Added Site Details section
     
    9097== Upgrade Notice ==
    9198
    92 = 0.0.3 = 
    93 Plugin Audit section and risk warnings have been added. Environment and database reports are more detailed, and the UI has been optimized for speed.
    94 
    95 = 0.0.2 = 
    96 Database Overview now displays detailed table and autoload metrics. Metadata analysis has been improved.
    97 
    98 = 0.0.1 = 
    99 First beta release with basic environment and post-type reporting.
     99= 0.0.5 = 
     100New asset impact and plugin-level metrics have been added for deeper insights. Caching and UI have been further optimized.
  • boltaudit/trunk/routes/rest/api.php

    r3326963 r3334205  
    11<?php
    22
     3use BoltAudit\App\Http\Controllers\PluginController;
    34use BoltAudit\App\Http\Controllers\ReportController;
    45use BoltAudit\WpMVC\Routing\Route;
    56
    6 Route::post( 'reports/{type}', [ReportController::class, 'index'], ['admin'] );
     7Route::post( 'reports/{type}', [ReportController::class, 'index'] );
     8Route::post( 'plugin/{slug}', [PluginController::class, 'index'] );
Note: See TracChangeset for help on using the changeset viewer.