From eae75b84899a6548f709acfe88272c5e1a67abb0 Mon Sep 17 00:00:00 2001 From: Swashata Ghosh <1623381+swashata@users.noreply.github.com> Date: Mon, 5 Jan 2026 14:26:05 +0530 Subject: [PATCH 1/9] [addon] [dev] Have a better DX when activating an add-on without releasing it (#842) --- start.php | 2 +- templates/account.php | 22 +++++++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/start.php b/start.php index 73688982..f1534010 100644 --- a/start.php +++ b/start.php @@ -15,7 +15,7 @@ * * @var string */ - $this_sdk_version = '2.13.0'; + $this_sdk_version = '2.13.0.1'; #region SDK Selection Logic -------------------------------------------------------------------- diff --git a/templates/account.php b/templates/account.php index 89120022..777c22c6 100755 --- a/templates/account.php +++ b/templates/account.php @@ -252,6 +252,8 @@ $available_license_paid_plan = is_object( $available_license ) ? $fs->_get_plan_by_id( $available_license->plan_id ) : null; + + $is_dev_mode = ( defined( 'WP_FS__DEV_MODE' ) && WP_FS__DEV_MODE ); ?>
apply_filters( 'hide_account_tabs', false ) ) : ?> @@ -787,7 +789,7 @@ class="fs-tag fs-can_use_premium_code() ? 'success' : 'warn' ?>" - + @@ -853,10 +855,20 @@ class="fs-tag fs-can_use_premium_code() ? 'success' : 'warn' ?>" 'is_whitelabeled' => ( $is_whitelabeled && ! $is_data_debug_mode ) ); - fs_require_template( - 'account/partials/addon.php', - $addon_view_params - ); + if ( ! empty($addon_view_params['addon_info'] ) ) { + fs_require_template( + 'account/partials/addon.php', + $addon_view_params + ); + } else { + // If we are here it means there is an activation of an unreleased add-on and yet the SDK is not in development mode. + echo ''; + echo '' . esc_html( $addon_id ) . ''; + echo ''; + echo 'The add-on you have activated is no longer listed by the product owner, or the SDK is not running in test mode. Please contact support if you need further assistance.'; + echo ''; + echo ''; + } $odd = ! $odd; } ?> From 72ae17ffe6eb903fc0d7848132ddc1c56f40508b Mon Sep 17 00:00:00 2001 From: Laurence Bahiirwa Date: Wed, 21 Jan 2026 18:46:43 +0300 Subject: [PATCH 2/9] [deprecation] [warning] Remove error for deprecated use in PHP 8.5. (#847) --- includes/managers/class-fs-contact-form-manager.php | 2 +- start.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/managers/class-fs-contact-form-manager.php b/includes/managers/class-fs-contact-form-manager.php index ce3a6938..9e3167bd 100644 --- a/includes/managers/class-fs-contact-form-manager.php +++ b/includes/managers/class-fs-contact-form-manager.php @@ -77,7 +77,7 @@ public function get_standalone_link( Freemius $fs ) { $query_params = $this->get_query_params( $fs ); $query_params['is_standalone'] = 'true'; - $query_params['parent_url'] = admin_url( add_query_arg( null, null ) ); + $query_params['parent_url'] = admin_url( add_query_arg( '', '' ) ); return WP_FS__ADDRESS . '/contact/?' . http_build_query( $query_params ); } diff --git a/start.php b/start.php index f1534010..25a76054 100644 --- a/start.php +++ b/start.php @@ -15,7 +15,7 @@ * * @var string */ - $this_sdk_version = '2.13.0.1'; + $this_sdk_version = '2.13.0.2'; #region SDK Selection Logic -------------------------------------------------------------------- From ec05354f13667426a0838f32a078799e733f19d3 Mon Sep 17 00:00:00 2001 From: John Blackbourn Date: Wed, 28 Jan 2026 11:42:38 +0100 Subject: [PATCH 3/9] Remove json2 (#845) * Remove json2. * Bump SDK version --------- Co-authored-by: Daniele Alessandra --- includes/class-freemius.php | 1 - start.php | 2 +- templates/checkout/frame.php | 1 - templates/checkout/process-redirect.php | 1 - templates/contact.php | 1 - templates/pricing.php | 1 - 6 files changed, 1 insertion(+), 6 deletions(-) diff --git a/includes/class-freemius.php b/includes/class-freemius.php index 79439c8e..08589d64 100755 --- a/includes/class-freemius.php +++ b/includes/class-freemius.php @@ -7098,7 +7098,6 @@ private function add_sticky_optin_admin_notice() { */ function _enqueue_connect_essentials() { wp_enqueue_script( 'jquery' ); - wp_enqueue_script( 'json2' ); fs_enqueue_local_script( 'postmessage', 'nojquery.ba-postmessage.js' ); fs_enqueue_local_script( 'fs-postmessage', 'postmessage.js' ); diff --git a/start.php b/start.php index 25a76054..976db305 100644 --- a/start.php +++ b/start.php @@ -15,7 +15,7 @@ * * @var string */ - $this_sdk_version = '2.13.0.2'; + $this_sdk_version = '2.13.0.3'; #region SDK Selection Logic -------------------------------------------------------------------- diff --git a/templates/checkout/frame.php b/templates/checkout/frame.php index 22379dd4..5c89aea9 100755 --- a/templates/checkout/frame.php +++ b/templates/checkout/frame.php @@ -35,7 +35,6 @@ } wp_enqueue_script( 'jquery' ); - wp_enqueue_script( 'json2' ); fs_enqueue_local_script( 'postmessage', 'nojquery.ba-postmessage.js' ); fs_enqueue_local_script( 'fs-postmessage', 'postmessage.js' ); fs_enqueue_local_script( 'fs-form', 'jquery.form.js', array( 'jquery' ) ); diff --git a/templates/checkout/process-redirect.php b/templates/checkout/process-redirect.php index fec4f398..d66dacc1 100644 --- a/templates/checkout/process-redirect.php +++ b/templates/checkout/process-redirect.php @@ -25,7 +25,6 @@ $fs_checkout->verify_checkout_redirect_nonce( $fs ); wp_enqueue_script( 'jquery' ); - wp_enqueue_script( 'json2' ); fs_enqueue_local_script( 'fs-form', 'jquery.form.js', array( 'jquery' ) ); $action = fs_request_get( '_fs_checkout_action' ); diff --git a/templates/contact.php b/templates/contact.php index e23f94a6..de5b4fe8 100755 --- a/templates/contact.php +++ b/templates/contact.php @@ -44,7 +44,6 @@ } wp_enqueue_script( 'jquery' ); - wp_enqueue_script( 'json2' ); fs_enqueue_local_script( 'postmessage', 'nojquery.ba-postmessage.js' ); fs_enqueue_local_script( 'fs-postmessage', 'postmessage.js' ); fs_enqueue_local_style( 'fs_checkout', '/admin/common.css' ); diff --git a/templates/pricing.php b/templates/pricing.php index af2fe84b..f7d5abf2 100644 --- a/templates/pricing.php +++ b/templates/pricing.php @@ -11,7 +11,6 @@ } wp_enqueue_script( 'jquery' ); - wp_enqueue_script( 'json2' ); fs_enqueue_local_script( 'postmessage', 'nojquery.ba-postmessage.js' ); fs_enqueue_local_script( 'fs-postmessage', 'postmessage.js' ); fs_enqueue_local_style( 'fs_common', '/admin/common.css' ); From fb6e26346b86c473e13bbe30a244106ca685186f Mon Sep 17 00:00:00 2001 From: Leo Fajardo Date: Thu, 12 Feb 2026 19:44:01 +0800 Subject: [PATCH 4/9] [debug] [cron] Enrich the debug page with the default WP-Cron status. (#844) --- start.php | 2 +- templates/debug.php | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/start.php b/start.php index 976db305..d07d287e 100644 --- a/start.php +++ b/start.php @@ -15,7 +15,7 @@ * * @var string */ - $this_sdk_version = '2.13.0.3'; + $this_sdk_version = '2.13.0.4'; #region SDK Selection Logic -------------------------------------------------------------------- diff --git a/templates/debug.php b/templates/debug.php index f620bfd5..7ef8afa0 100644 --- a/templates/debug.php +++ b/templates/debug.php @@ -257,6 +257,10 @@ function stopCountdownManually() { 'key' => 'WP_FS__DIR', 'val' => WP_FS__DIR, ), + array( + 'key' => 'DISABLE_WP_CRON', + 'val' => defined( 'DISABLE_WP_CRON' ) ? ( DISABLE_WP_CRON ? 'true' : 'false' ) : 'Not defined', + ), array( 'key' => 'wp_using_ext_object_cache()', 'val' => wp_using_ext_object_cache() ? 'true' : 'false', @@ -282,7 +286,11 @@ function stopCountdownManually() { echo ' class="alternate"'; } ?>> - + Freemius SDK’s sync cron jobs will not run unless an alternative server-side cron is set up.

'; + } + ?> From 9f7e5e67fbfe558a014078fa7f0551be4aafe450 Mon Sep 17 00:00:00 2001 From: Leo Fajardo Date: Mon, 9 Mar 2026 19:54:42 +0800 Subject: [PATCH 5/9] [sync-cron] Fix sync cron registration to not rely on future schedule (#851) * [sync-cron] Add a grace period before rescheduling the data sync cron event to prevent a race condition between the rescheduling process and the execution of the scheduled event. * [sync-cron] Simplification The changes fixes race conditions and issues where WP cron has not run yet and our SDK will incorrectly remove the schedule and reschedule. If this happens in succession then the cron will never be run and will always end up scheduled in the future. --- includes/class-freemius.php | 5 +---- start.php | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/includes/class-freemius.php b/includes/class-freemius.php index 08589d64..960b2ba8 100755 --- a/includes/class-freemius.php +++ b/includes/class-freemius.php @@ -6558,10 +6558,7 @@ private function maybe_schedule_sync_cron() { $next_schedule = $this->next_sync_cron(); // The event is properly scheduled, so no need to reschedule it. - if ( - is_numeric( $next_schedule ) && - $next_schedule > time() - ) { + if ( is_numeric( $next_schedule ) ) { return; } diff --git a/start.php b/start.php index d07d287e..bdb932d9 100644 --- a/start.php +++ b/start.php @@ -15,7 +15,7 @@ * * @var string */ - $this_sdk_version = '2.13.0.4'; + $this_sdk_version = '2.13.0.5'; #region SDK Selection Logic -------------------------------------------------------------------- From c9105b328813101af63924ecde445379b924878a Mon Sep 17 00:00:00 2001 From: Leo Fajardo Date: Thu, 12 Mar 2026 22:40:27 +0800 Subject: [PATCH 6/9] [bulk-update] Properly handle update data inclusion during bulk-updating. (#854) --- includes/class-fs-plugin-updater.php | 28 ++++++++++++++++++++++++---- start.php | 2 +- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/includes/class-fs-plugin-updater.php b/includes/class-fs-plugin-updater.php index 718cc905..6b6e3b55 100755 --- a/includes/class-fs-plugin-updater.php +++ b/includes/class-fs-plugin-updater.php @@ -540,9 +540,32 @@ function pre_set_site_transient_update_plugins_filter( $transient_data ) { return $transient_data; } + // Alias. + $basename = $this->_fs->premium_plugin_basename(); + global $wp_current_filter; - if ( ! empty( $wp_current_filter ) && in_array( 'upgrader_process_complete', $wp_current_filter ) ) { + /** + * During bulk updates, avoid re-injecting update data for the plugin itself once it has already been updated. + * + * If the custom package is re-added to the transient after the plugin update, WordPress may detect the package again and incorrectly report "The plugin is at the latest version" for a pending update, since the custom package version matches the currently installed version. + * + * Behavior differs depending on how the bulk update is triggered. Please refer to the inline comments for each flow below for details. + */ + if ( + ! empty( $wp_current_filter ) && ( + /** + * update-core.php and other upgrader pages: + * The `upgrader_process_complete` action fires only once after all updates have finished. In this case, it is the current action (`$wp_current_filter[0]`), while `self::$_upgrade_basename` may contain any plugin basename. + */ + 'upgrader_process_complete' === $wp_current_filter[0] || + /** + * AJAX bulk updates (e.g., from the Plugins page): + * The `upgrader_process_complete` action fires multiple times — once for each plugin after it finishes updating. In this flow, it is not the current action (`$wp_current_filter[0]`) because it is triggered from another action. Instead, we compare `self::$_upgrade_basename` with the basename of the plugin currently being updated, since the `upgrader_process_complete` action runs separately for each plugin. + */ + ( in_array( 'upgrader_process_complete', $wp_current_filter ) && self::$_upgrade_basename === $basename ) + ) + ) { return $transient_data; } @@ -566,9 +589,6 @@ function pre_set_site_transient_update_plugins_filter( $transient_data ) { } } - // Alias. - $basename = $this->_fs->premium_plugin_basename(); - if ( is_object( $this->_update_details ) ) { if ( isset( $transient_data->no_update ) ) { unset( $transient_data->no_update[ $basename ] ); diff --git a/start.php b/start.php index bdb932d9..1a3ef35f 100644 --- a/start.php +++ b/start.php @@ -15,7 +15,7 @@ * * @var string */ - $this_sdk_version = '2.13.0.5'; + $this_sdk_version = '2.13.0.6'; #region SDK Selection Logic -------------------------------------------------------------------- From 2c851bcb622a3082189defc858ed94f0d35c8d80 Mon Sep 17 00:00:00 2001 From: Daniele Alessandra Date: Wed, 25 Mar 2026 07:52:11 +0100 Subject: [PATCH 7/9] fixed wporg plugin check errors missing_direct_file_access_protection (#853) Co-authored-by: flowdee --- includes/fs-essential-functions.php | 3 +++ includes/managers/class-fs-debug-manager.php | 3 +++ templates/checkout.php | 4 +++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/includes/fs-essential-functions.php b/includes/fs-essential-functions.php index 84ffcbe0..af13f4c9 100644 --- a/includes/fs-essential-functions.php +++ b/includes/fs-essential-functions.php @@ -10,6 +10,9 @@ * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 * @since 1.1.5 */ + if ( ! defined( 'ABSPATH' ) ) { + exit; + } if ( ! function_exists( 'fs_normalize_path' ) ) { if ( function_exists( 'wp_normalize_path' ) ) { diff --git a/includes/managers/class-fs-debug-manager.php b/includes/managers/class-fs-debug-manager.php index 5364712d..948d3546 100644 --- a/includes/managers/class-fs-debug-manager.php +++ b/includes/managers/class-fs-debug-manager.php @@ -6,6 +6,9 @@ * @package Freemius * @since 2.6.2 */ + if ( ! defined( 'ABSPATH' ) ) { + exit; + } class FS_DebugManager { diff --git a/templates/checkout.php b/templates/checkout.php index 00f1002b..909dc8c6 100644 --- a/templates/checkout.php +++ b/templates/checkout.php @@ -5,7 +5,9 @@ * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 * @since 2.9.0 */ - + if ( ! defined( 'ABSPATH' ) ) { + exit; + } /** * @var array $VARS * @var Freemius $fs From be8cbcbc12ab8d678e97dc8cd26ff9da50782baf Mon Sep 17 00:00:00 2001 From: Leo Fajardo Date: Wed, 25 Mar 2026 16:56:13 +0800 Subject: [PATCH 8/9] [ms] Fix the account setup handling for multisites with only one site. (#856) * [version] Bump version to 2.13.1 and pricing app to 1.3.1. * [ms] Fix the account setup handling for multisites with only one site. --- assets/js/pricing/freemius-pricing.js | 2 +- includes/class-freemius.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/js/pricing/freemius-pricing.js b/assets/js/pricing/freemius-pricing.js index cafa6c8c..a797fb89 100644 --- a/assets/js/pricing/freemius-pricing.js +++ b/assets/js/pricing/freemius-pricing.js @@ -1,2 +1,2 @@ /*! For license information please see freemius-pricing.js.LICENSE.txt */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Freemius=t():e.Freemius=t()}(self,()=>(()=>{var e={56:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},72:e=>{"use strict";var t=[];function n(e){for(var n=-1,a=0;a{let a=document.getElementById("fs_pricing_wrapper");a&&a.dataset&&a.dataset.publicUrl&&(n.p=a.dataset.publicUrl)},103:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var a=n(601),r=n.n(a),i=n(314),s=n.n(i)()(r());s.push([e.id,'#root .fs-package,#fs_pricing_app .fs-package{display:inline-block;vertical-align:top;background:var(--fs-ds-theme-dark-background-text-color);border-bottom:3px solid var(--fs-ds-theme-border-color);width:315px;box-sizing:border-box}#root .fs-package:first-child,#root .fs-package+.fs-package,#fs_pricing_app .fs-package:first-child,#fs_pricing_app .fs-package+.fs-package{border-left:1px solid var(--fs-ds-theme-divider-color)}#root .fs-package:last-child,#fs_pricing_app .fs-package:last-child{border-right:1px solid var(--fs-ds-theme-divider-color)}#root .fs-package:not(.fs-featured-plan):first-child,#fs_pricing_app .fs-package:not(.fs-featured-plan):first-child{border-top-left-radius:10px}#root .fs-package:not(.fs-featured-plan):first-child .fs-plan-title,#fs_pricing_app .fs-package:not(.fs-featured-plan):first-child .fs-plan-title{border-top-left-radius:9px}#root .fs-package:not(.fs-featured-plan):last-child,#fs_pricing_app .fs-package:not(.fs-featured-plan):last-child{border-top-right-radius:10px}#root .fs-package:not(.fs-featured-plan):last-child .fs-plan-title,#fs_pricing_app .fs-package:not(.fs-featured-plan):last-child .fs-plan-title{border-top-right-radius:9px}#root .fs-package .fs-package-content,#fs_pricing_app .fs-package .fs-package-content{vertical-align:middle;padding-bottom:30px}#root .fs-package .fs-plan-title,#fs_pricing_app .fs-package .fs-plan-title{padding:10px 0;background:var(--fs-ds-theme-background-shade);text-transform:uppercase;border-bottom:1px solid var(--fs-ds-theme-divider-color);border-top:1px solid var(--fs-ds-theme-divider-color);width:100%;text-align:center}#root .fs-package .fs-plan-title:last-child,#fs_pricing_app .fs-package .fs-plan-title:last-child{border-right:none}#root .fs-package .fs-plan-description,#root .fs-package .fs-undiscounted-price,#root .fs-package .fs-licenses,#root .fs-package .fs-upgrade-button,#root .fs-package .fs-plan-features,#fs_pricing_app .fs-package .fs-plan-description,#fs_pricing_app .fs-package .fs-undiscounted-price,#fs_pricing_app .fs-package .fs-licenses,#fs_pricing_app .fs-package .fs-upgrade-button,#fs_pricing_app .fs-package .fs-plan-features{margin-top:10px}#root .fs-package .fs-plan-description,#fs_pricing_app .fs-package .fs-plan-description{text-transform:uppercase}#root .fs-package .fs-undiscounted-price,#fs_pricing_app .fs-package .fs-undiscounted-price{margin:auto;position:relative;display:inline-block;color:var(--fs-ds-theme-muted-text-color);top:6px}#root .fs-package .fs-undiscounted-price:after,#fs_pricing_app .fs-package .fs-undiscounted-price:after{display:block;content:"";position:absolute;height:1px;background-color:var(--fs-ds-theme-error-color);left:-4px;right:-4px;top:50%;transform:translateY(-50%) skewY(1deg)}#root .fs-package .fs-selected-pricing-amount,#fs_pricing_app .fs-package .fs-selected-pricing-amount{margin:5px 0}#root .fs-package .fs-selected-pricing-amount .fs-currency-symbol,#fs_pricing_app .fs-package .fs-selected-pricing-amount .fs-currency-symbol{font-size:39px}#root .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-integer,#fs_pricing_app .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-integer{font-size:58px;margin:0 5px}#root .fs-package .fs-selected-pricing-amount .fs-currency-symbol,#root .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-integer,#root .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-fraction-container,#fs_pricing_app .fs-package .fs-selected-pricing-amount .fs-currency-symbol,#fs_pricing_app .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-integer,#fs_pricing_app .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-fraction-container{display:inline-block;vertical-align:middle}#root .fs-package .fs-selected-pricing-amount .fs-currency-symbol:not(.fs-selected-pricing-amount-integer),#root .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-integer:not(.fs-selected-pricing-amount-integer),#root .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-fraction-container:not(.fs-selected-pricing-amount-integer),#fs_pricing_app .fs-package .fs-selected-pricing-amount .fs-currency-symbol:not(.fs-selected-pricing-amount-integer),#fs_pricing_app .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-integer:not(.fs-selected-pricing-amount-integer),#fs_pricing_app .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-fraction-container:not(.fs-selected-pricing-amount-integer){line-height:18px}#root .fs-package .fs-selected-pricing-amount .fs-currency-symbol .fs-selected-pricing-amount-fraction,#root .fs-package .fs-selected-pricing-amount .fs-currency-symbol .fs-selected-pricing-amount-cycle,#root .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-integer .fs-selected-pricing-amount-fraction,#root .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-integer .fs-selected-pricing-amount-cycle,#root .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-fraction-container .fs-selected-pricing-amount-fraction,#root .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-fraction-container .fs-selected-pricing-amount-cycle,#fs_pricing_app .fs-package .fs-selected-pricing-amount .fs-currency-symbol .fs-selected-pricing-amount-fraction,#fs_pricing_app .fs-package .fs-selected-pricing-amount .fs-currency-symbol .fs-selected-pricing-amount-cycle,#fs_pricing_app .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-integer .fs-selected-pricing-amount-fraction,#fs_pricing_app .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-integer .fs-selected-pricing-amount-cycle,#fs_pricing_app .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-fraction-container .fs-selected-pricing-amount-fraction,#fs_pricing_app .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-fraction-container .fs-selected-pricing-amount-cycle{display:block;font-size:12px}#root .fs-package .fs-selected-pricing-amount .fs-currency-symbol .fs-selected-pricing-amount-fraction,#root .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-integer .fs-selected-pricing-amount-fraction,#root .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-fraction-container .fs-selected-pricing-amount-fraction,#fs_pricing_app .fs-package .fs-selected-pricing-amount .fs-currency-symbol .fs-selected-pricing-amount-fraction,#fs_pricing_app .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-integer .fs-selected-pricing-amount-fraction,#fs_pricing_app .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-fraction-container .fs-selected-pricing-amount-fraction{vertical-align:top}#root .fs-package .fs-selected-pricing-amount .fs-currency-symbol .fs-selected-pricing-amount-cycle,#root .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-integer .fs-selected-pricing-amount-cycle,#root .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-fraction-container .fs-selected-pricing-amount-cycle,#fs_pricing_app .fs-package .fs-selected-pricing-amount .fs-currency-symbol .fs-selected-pricing-amount-cycle,#fs_pricing_app .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-integer .fs-selected-pricing-amount-cycle,#fs_pricing_app .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-fraction-container .fs-selected-pricing-amount-cycle{vertical-align:bottom}#root .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-fraction-container,#fs_pricing_app .fs-package .fs-selected-pricing-amount .fs-selected-pricing-amount-fraction-container{color:var(--fs-ds-theme-muted-text-color)}#root .fs-package .fs-selected-pricing-amount-free,#fs_pricing_app .fs-package .fs-selected-pricing-amount-free{font-size:48px}#root .fs-package .fs-selected-pricing-cycle,#fs_pricing_app .fs-package .fs-selected-pricing-cycle{margin-bottom:5px;text-transform:uppercase;color:var(--fs-ds-theme-muted-text-color)}#root .fs-package .fs-selected-pricing-license-quantity,#fs_pricing_app .fs-package .fs-selected-pricing-license-quantity{color:var(--fs-ds-theme-muted-text-color)}#root .fs-package .fs-selected-pricing-license-quantity .fs-tooltip,#fs_pricing_app .fs-package .fs-selected-pricing-license-quantity .fs-tooltip{margin-left:5px}#root .fs-package .fs-upgrade-button-container,#fs_pricing_app .fs-package .fs-upgrade-button-container{padding:0 13px;display:block}#root .fs-package .fs-upgrade-button-container .fs-upgrade-button,#fs_pricing_app .fs-package .fs-upgrade-button-container .fs-upgrade-button{margin-top:20px;margin-bottom:5px}#root .fs-package .fs-plan-features,#fs_pricing_app .fs-package .fs-plan-features{text-align:left;margin-left:13px}#root .fs-package .fs-plan-features li,#fs_pricing_app .fs-package .fs-plan-features li{font-size:16px;display:flex;margin-bottom:8px}#root .fs-package .fs-plan-features li:not(:first-child),#fs_pricing_app .fs-package .fs-plan-features li:not(:first-child){margin-top:8px}#root .fs-package .fs-plan-features li>span,#root .fs-package .fs-plan-features li .fs-tooltip,#fs_pricing_app .fs-package .fs-plan-features li>span,#fs_pricing_app .fs-package .fs-plan-features li .fs-tooltip{font-size:small;vertical-align:middle;display:inline-block}#root .fs-package .fs-plan-features li .fs-feature-title,#fs_pricing_app .fs-package .fs-plan-features li .fs-feature-title{margin:0 5px;color:var(--fs-ds-theme-muted-text-color);max-width:260px;overflow-wrap:break-word}#root .fs-package .fs-support-and-main-features,#fs_pricing_app .fs-package .fs-support-and-main-features{margin-top:12px;padding-top:18px;padding-bottom:18px;color:var(--fs-ds-theme-muted-text-color)}#root .fs-package .fs-support-and-main-features .fs-plan-support,#fs_pricing_app .fs-package .fs-support-and-main-features .fs-plan-support{margin-bottom:15px}#root .fs-package .fs-support-and-main-features .fs-plan-features-with-value li,#fs_pricing_app .fs-package .fs-support-and-main-features .fs-plan-features-with-value li{font-size:small}#root .fs-package .fs-support-and-main-features .fs-plan-features-with-value li .fs-feature-title,#fs_pricing_app .fs-package .fs-support-and-main-features .fs-plan-features-with-value li .fs-feature-title{margin:0 2px}#root .fs-package .fs-support-and-main-features .fs-plan-features-with-value li:not(:first-child),#fs_pricing_app .fs-package .fs-support-and-main-features .fs-plan-features-with-value li:not(:first-child){margin-top:5px}#root .fs-package .fs-plan-features-with-value,#fs_pricing_app .fs-package .fs-plan-features-with-value{color:var(--fs-ds-theme-muted-text-color)}#root .fs-package .fs-license-quantities,#fs_pricing_app .fs-package .fs-license-quantities{border-collapse:collapse;position:relative;width:100%}#root .fs-package .fs-license-quantities,#root .fs-package .fs-license-quantities input,#fs_pricing_app .fs-package .fs-license-quantities,#fs_pricing_app .fs-package .fs-license-quantities input{cursor:pointer}#root .fs-package .fs-license-quantities .fs-license-quantity-discount span,#fs_pricing_app .fs-package .fs-license-quantities .fs-license-quantity-discount span{background-color:var(--fs-ds-theme-background-color);border:1px solid var(--fs-ds-theme-primary-accent-color);color:var(--fs-ds-theme-primary-accent-color);display:inline;padding:4px 8px;border-radius:4px;font-weight:700;margin:0 5px;white-space:nowrap}#root .fs-package .fs-license-quantities .fs-license-quantity-discount span.fs-license-quantity-no-discount,#fs_pricing_app .fs-package .fs-license-quantities .fs-license-quantity-discount span.fs-license-quantity-no-discount{visibility:hidden}#root .fs-package .fs-license-quantities .fs-license-quantity-container,#fs_pricing_app .fs-package .fs-license-quantities .fs-license-quantity-container{line-height:30px;border-top:1px solid var(--fs-ds-theme-background-shade);font-size:small;color:var(--fs-ds-theme-muted-text-color)}#root .fs-package .fs-license-quantities .fs-license-quantity-container:last-child,#fs_pricing_app .fs-package .fs-license-quantities .fs-license-quantity-container:last-child{border-bottom:1px solid var(--fs-ds-theme-background-shade)}#root .fs-package .fs-license-quantities .fs-license-quantity-container:last-child.fs-license-quantity-selected,#fs_pricing_app .fs-package .fs-license-quantities .fs-license-quantity-container:last-child.fs-license-quantity-selected{border-bottom-color:var(--fs-ds-theme-divider-color)}#root .fs-package .fs-license-quantities .fs-license-quantity-container.fs-license-quantity-selected,#fs_pricing_app .fs-package .fs-license-quantities .fs-license-quantity-container.fs-license-quantity-selected{background:var(--fs-ds-theme-background-shade);border-color:var(--fs-ds-theme-divider-color);color:var(--fs-ds-theme-text-color)}#root .fs-package .fs-license-quantities .fs-license-quantity-container.fs-license-quantity-selected+.fs-license-quantity-container,#fs_pricing_app .fs-package .fs-license-quantities .fs-license-quantity-container.fs-license-quantity-selected+.fs-license-quantity-container{border-top-color:var(--fs-ds-theme-divider-color)}#root .fs-package .fs-license-quantities .fs-license-quantity-container>td:not(.fs-license-quantity-discount):not(.fs-license-quantity-price),#fs_pricing_app .fs-package .fs-license-quantities .fs-license-quantity-container>td:not(.fs-license-quantity-discount):not(.fs-license-quantity-price){text-align:left}#root .fs-package .fs-license-quantities .fs-license-quantity,#root .fs-package .fs-license-quantities .fs-license-quantity-discount,#root .fs-package .fs-license-quantities .fs-license-quantity-price,#fs_pricing_app .fs-package .fs-license-quantities .fs-license-quantity,#fs_pricing_app .fs-package .fs-license-quantities .fs-license-quantity-discount,#fs_pricing_app .fs-package .fs-license-quantities .fs-license-quantity-price{vertical-align:middle}#root .fs-package .fs-license-quantities .fs-license-quantity,#fs_pricing_app .fs-package .fs-license-quantities .fs-license-quantity{position:relative;white-space:nowrap}#root .fs-package .fs-license-quantities .fs-license-quantity input,#fs_pricing_app .fs-package .fs-license-quantities .fs-license-quantity input{position:relative;margin-top:-1px;margin-left:7px;margin-right:7px}#root .fs-package .fs-license-quantities .fs-license-quantity-price,#fs_pricing_app .fs-package .fs-license-quantities .fs-license-quantity-price{position:relative;margin-right:auto;padding-right:7px;white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}#root .fs-package.fs-free-plan .fs-license-quantity-container:not(:last-child),#fs_pricing_app .fs-package.fs-free-plan .fs-license-quantity-container:not(:last-child){border-color:#0000}#root .fs-package .fs-most-popular,#fs_pricing_app .fs-package .fs-most-popular{display:none}#root .fs-package.fs-featured-plan .fs-most-popular,#fs_pricing_app .fs-package.fs-featured-plan .fs-most-popular{display:block;line-height:2.8em;margin-top:-2.8em;border-radius:10px 10px 0 0;color:var(--fs-ds-theme-text-color);background:var(--fs-ds-theme-package-popular-background);text-transform:uppercase;font-size:14px}#root .fs-package.fs-featured-plan .fs-plan-title,#fs_pricing_app .fs-package.fs-featured-plan .fs-plan-title{color:var(--fs-ds-theme-dark-background-text-color);background:var(--fs-ds-theme-primary-accent-color);border-top-color:var(--fs-ds-theme-primary-accent-color);border-bottom-color:var(--fs-ds-theme-primary-accent-color)}#root .fs-package.fs-featured-plan .fs-selected-pricing-license-quantity,#fs_pricing_app .fs-package.fs-featured-plan .fs-selected-pricing-license-quantity{color:var(--fs-ds-theme-primary-accent-color)}#root .fs-package.fs-featured-plan .fs-license-quantity-discount span,#fs_pricing_app .fs-package.fs-featured-plan .fs-license-quantity-discount span{background:var(--fs-ds-theme-primary-accent-color);color:var(--fs-ds-theme-dark-background-text-color)}#root .fs-package.fs-featured-plan .fs-license-quantities .fs-license-quantity-selected,#fs_pricing_app .fs-package.fs-featured-plan .fs-license-quantities .fs-license-quantity-selected{background:var(--fs-ds-theme-primary-accent-color);border-color:var(--fs-ds-theme-primary-accent-color);color:var(--fs-ds-theme-dark-background-text-color)}#root .fs-package.fs-featured-plan .fs-license-quantities .fs-license-quantity-selected+.fs-license-quantity-container,#fs_pricing_app .fs-package.fs-featured-plan .fs-license-quantities .fs-license-quantity-selected+.fs-license-quantity-container{border-top-color:var(--fs-ds-theme-primary-accent-color)}#root .fs-package.fs-featured-plan .fs-license-quantities .fs-license-quantity-selected:last-child,#fs_pricing_app .fs-package.fs-featured-plan .fs-license-quantities .fs-license-quantity-selected:last-child{border-bottom-color:var(--fs-ds-theme-primary-accent-color)}#root .fs-package.fs-featured-plan .fs-license-quantities .fs-license-quantity-selected .fs-license-quantity-discount span,#fs_pricing_app .fs-package.fs-featured-plan .fs-license-quantities .fs-license-quantity-selected .fs-license-quantity-discount span{background:var(--fs-ds-theme-background-color);color:var(--fs-ds-theme-primary-accent-color-hover)}\n',""]);const o=s},113:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},151:e=>{var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},175:(e,t,n)=>{e.exports=n(694)()},206:e=>{function t(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},208:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var a=n(601),r=n.n(a),i=n(314),s=n.n(i)()(r());s.push([e.id,'#root .fs-tooltip,#fs_pricing_app .fs-tooltip{cursor:help;position:relative;color:inherit}#root .fs-tooltip .fs-tooltip-message,#fs_pricing_app .fs-tooltip .fs-tooltip-message{position:absolute;width:200px;background:var(--fs-ds-theme-background-darkest);z-index:1;display:none;border-radius:4px;color:var(--fs-ds-theme-dark-background-text-color);padding:8px;text-align:left;line-height:18px}#root .fs-tooltip .fs-tooltip-message:before,#fs_pricing_app .fs-tooltip .fs-tooltip-message:before{content:"";position:absolute;z-index:1}#root .fs-tooltip .fs-tooltip-message:not(.fs-tooltip-message--position-none),#fs_pricing_app .fs-tooltip .fs-tooltip-message:not(.fs-tooltip-message--position-none){display:block}#root .fs-tooltip .fs-tooltip-message.fs-tooltip-message--position-right,#fs_pricing_app .fs-tooltip .fs-tooltip-message.fs-tooltip-message--position-right{transform:translateY(-50%);left:30px;top:8px}#root .fs-tooltip .fs-tooltip-message.fs-tooltip-message--position-right:before,#fs_pricing_app .fs-tooltip .fs-tooltip-message.fs-tooltip-message--position-right:before{left:-8px;top:50%;margin-top:-6px;border-top:6px solid rgba(0,0,0,0);border-bottom:6px solid rgba(0,0,0,0);border-right:8px solid var(--fs-ds-theme-background-darkest)}#root .fs-tooltip .fs-tooltip-message.fs-tooltip-message--position-top,#fs_pricing_app .fs-tooltip .fs-tooltip-message.fs-tooltip-message--position-top{left:50%;bottom:30px;transform:translate(-50%)}#root .fs-tooltip .fs-tooltip-message.fs-tooltip-message--position-top:before,#fs_pricing_app .fs-tooltip .fs-tooltip-message.fs-tooltip-message--position-top:before{left:50%;bottom:-8px;margin-left:-6px;border-right:6px solid rgba(0,0,0,0);border-left:6px solid rgba(0,0,0,0);border-top:8px solid var(--fs-ds-theme-background-darkest)}#root .fs-tooltip .fs-tooltip-message.fs-tooltip-message--position-top-right,#fs_pricing_app .fs-tooltip .fs-tooltip-message.fs-tooltip-message--position-top-right{right:-10px;bottom:30px}#root .fs-tooltip .fs-tooltip-message.fs-tooltip-message--position-top-right:before,#fs_pricing_app .fs-tooltip .fs-tooltip-message.fs-tooltip-message--position-top-right:before{right:10px;bottom:-8px;margin-left:-6px;border-right:6px solid rgba(0,0,0,0);border-left:6px solid rgba(0,0,0,0);border-top:8px solid var(--fs-ds-theme-background-darkest)}\n',""]);const o=s},228:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach(function(e){a[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},a)).join("")}catch(e){return!1}}()?Object.assign:function(e,r){for(var i,s,o=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l{"use strict";var a=n(228),r=60103,i=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var s=60109,o=60110,l=60112;t.Suspense=60113;var c=60115,u=60116;if("function"==typeof Symbol&&Symbol.for){var f=Symbol.for;r=f("react.element"),i=f("react.portal"),t.Fragment=f("react.fragment"),t.StrictMode=f("react.strict_mode"),t.Profiler=f("react.profiler"),s=f("react.provider"),o=f("react.context"),l=f("react.forward_ref"),t.Suspense=f("react.suspense"),c=f("react.memo"),u=f("react.lazy")}var p="function"==typeof Symbol&&Symbol.iterator;function d(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n="",a=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),a&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),a&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n}).join("")},t.i=function(e,n,a,r,i){"string"==typeof e&&(e=[[null,e,void 0]]);var s={};if(a)for(var o=0;o0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=i),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),r&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=r):u[4]="".concat(r)),t.push(u))}},t}},463:(e,t)=>{"use strict";var n,a,r,i;if("object"==typeof performance&&"function"==typeof performance.now){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();t.unstable_now=function(){return o.now()-l}}if("undefined"==typeof window||"function"!=typeof MessageChannel){var c=null,u=null,f=function(){if(null!==c)try{var e=t.unstable_now();c(!0,e),c=null}catch(e){throw setTimeout(f,0),e}};n=function(e){null!==c?setTimeout(n,0,e):(c=e,setTimeout(f,0))},a=function(e,t){u=setTimeout(e,t)},r=function(){clearTimeout(u)},t.unstable_shouldYield=function(){return!1},i=t.unstable_forceFrameRate=function(){}}else{var p=window.setTimeout,d=window.clearTimeout;if("undefined"!=typeof console){var m=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!=typeof m&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var g=!1,h=null,y=-1,b=5,v=0;t.unstable_shouldYield=function(){return t.unstable_now()>=v},i=function(){},t.unstable_forceFrameRate=function(e){0>e||125>>1,r=e[a];if(!(void 0!==r&&0S(s,n))void 0!==l&&0>S(l,s)?(e[a]=l,e[o]=n,a=o):(e[a]=s,e[i]=n,a=i);else{if(!(void 0!==l&&0>S(l,n)))break e;e[a]=l,e[o]=n,a=o}}}return t}return null}function S(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var P=[],C=[],N=1,T=null,L=3,M=!1,z=!1,O=!1;function I(e){for(var t=x(C);null!==t;){if(null===t.callback)E(C);else{if(!(t.startTime<=e))break;E(C),t.sortIndex=t.expirationTime,w(P,t)}t=x(C)}}function q(e){if(O=!1,I(e),!z)if(null!==x(P))z=!0,n(A);else{var t=x(C);null!==t&&a(q,t.startTime-e)}}function A(e,n){z=!1,O&&(O=!1,r()),M=!0;var i=L;try{for(I(n),T=x(P);null!==T&&(!(T.expirationTime>n)||e&&!t.unstable_shouldYield());){var s=T.callback;if("function"==typeof s){T.callback=null,L=T.priorityLevel;var o=s(T.expirationTime<=n);n=t.unstable_now(),"function"==typeof o?T.callback=o:T===x(P)&&E(P),I(n)}else E(P);T=x(P)}if(null!==T)var l=!0;else{var c=x(C);null!==c&&a(q,c.startTime-n),l=!1}return l}finally{T=null,L=i,M=!1}}var D=i;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){z||M||(z=!0,n(A))},t.unstable_getCurrentPriorityLevel=function(){return L},t.unstable_getFirstCallbackNode=function(){return x(P)},t.unstable_next=function(e){switch(L){case 1:case 2:case 3:var t=3;break;default:t=L}var n=L;L=t;try{return e()}finally{L=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=D,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=L;L=e;try{return t()}finally{L=n}},t.unstable_scheduleCallback=function(e,i,s){var o=t.unstable_now();switch(s="object"==typeof s&&null!==s&&"number"==typeof(s=s.delay)&&0o?(e.sortIndex=s,w(C,e),null===x(P)&&e===x(C)&&(O?r():O=!0,a(q,s-o))):(e.sortIndex=l,w(P,e),z||M||(z=!0,n(A))),e},t.unstable_wrapCallback=function(e){var t=L;return function(){var n=L;L=t;try{return e.apply(this,arguments)}finally{L=n}}}},502:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var a=n(601),r=n.n(a),i=n(314),s=n.n(i)()(r());s.push([e.id,"#fs_pricing_app .fs-modal,#fs_pricing_wrapper .fs-modal,#fs_pricing_wrapper #fs_pricing_app .fs-modal{position:fixed;inset:0;z-index:1000;zoom:1;text-align:left;display:block!important}#fs_pricing_app .fs-modal .fs-modal-content-container,#fs_pricing_wrapper .fs-modal .fs-modal-content-container,#fs_pricing_wrapper #fs_pricing_app .fs-modal .fs-modal-content-container{display:block;position:absolute;left:50%;background:var(--fs-ds-theme-background-color);box-shadow:0 0 8px 2px #0000004d}#fs_pricing_app .fs-modal .fs-modal-content-container .fs-modal-header,#fs_pricing_wrapper .fs-modal .fs-modal-content-container .fs-modal-header,#fs_pricing_wrapper #fs_pricing_app .fs-modal .fs-modal-content-container .fs-modal-header{background:var(--fs-ds-theme-primary-accent-color);padding:15px}#fs_pricing_app .fs-modal .fs-modal-content-container .fs-modal-header h3,#fs_pricing_app .fs-modal .fs-modal-content-container .fs-modal-header .fs-modal-close,#fs_pricing_wrapper .fs-modal .fs-modal-content-container .fs-modal-header h3,#fs_pricing_wrapper .fs-modal .fs-modal-content-container .fs-modal-header .fs-modal-close,#fs_pricing_wrapper #fs_pricing_app .fs-modal .fs-modal-content-container .fs-modal-header h3,#fs_pricing_wrapper #fs_pricing_app .fs-modal .fs-modal-content-container .fs-modal-header .fs-modal-close{color:var(--fs-ds-theme-background-color)}#fs_pricing_app .fs-modal .fs-modal-content-container .fs-modal-content,#fs_pricing_wrapper .fs-modal .fs-modal-content-container .fs-modal-content,#fs_pricing_wrapper #fs_pricing_app .fs-modal .fs-modal-content-container .fs-modal-content{font-size:1.2em}#fs_pricing_app .fs-modal--loading,#fs_pricing_wrapper .fs-modal--loading,#fs_pricing_wrapper #fs_pricing_app .fs-modal--loading{background-color:#0000004d}#fs_pricing_app .fs-modal--loading .fs-modal-content-container,#fs_pricing_wrapper .fs-modal--loading .fs-modal-content-container,#fs_pricing_wrapper #fs_pricing_app .fs-modal--loading .fs-modal-content-container{width:220px;margin-left:-126px;padding:15px;border:1px solid var(--fs-ds-theme-divider-color);text-align:center;top:50%}#fs_pricing_app .fs-modal--loading .fs-modal-content-container span,#fs_pricing_wrapper .fs-modal--loading .fs-modal-content-container span,#fs_pricing_wrapper #fs_pricing_app .fs-modal--loading .fs-modal-content-container span{display:block;font-weight:700;font-size:16px;text-align:center;color:var(--fs-ds-theme-primary-accent-color);margin-bottom:10px}#fs_pricing_app .fs-modal--loading .fs-modal-content-container .fs-ajax-loader,#fs_pricing_wrapper .fs-modal--loading .fs-modal-content-container .fs-ajax-loader,#fs_pricing_wrapper #fs_pricing_app .fs-modal--loading .fs-modal-content-container .fs-ajax-loader{width:160px}#fs_pricing_app .fs-modal--loading .fs-modal-content-container i,#fs_pricing_wrapper .fs-modal--loading .fs-modal-content-container i,#fs_pricing_wrapper #fs_pricing_app .fs-modal--loading .fs-modal-content-container i{display:block;width:128px;margin:0 auto;height:15px;background:url(//img.freemius.com/blue-loader.gif)}#fs_pricing_app .fs-modal--refund-policy,#fs_pricing_app .fs-modal--trial-confirmation,#fs_pricing_wrapper .fs-modal--refund-policy,#fs_pricing_wrapper .fs-modal--trial-confirmation,#fs_pricing_wrapper #fs_pricing_app .fs-modal--refund-policy,#fs_pricing_wrapper #fs_pricing_app .fs-modal--trial-confirmation{background:rgba(0,0,0,.7)}#fs_pricing_app .fs-modal--refund-policy .fs-modal-content-container,#fs_pricing_app .fs-modal--trial-confirmation .fs-modal-content-container,#fs_pricing_wrapper .fs-modal--refund-policy .fs-modal-content-container,#fs_pricing_wrapper .fs-modal--trial-confirmation .fs-modal-content-container,#fs_pricing_wrapper #fs_pricing_app .fs-modal--refund-policy .fs-modal-content-container,#fs_pricing_wrapper #fs_pricing_app .fs-modal--trial-confirmation .fs-modal-content-container{width:510px;margin-left:-255px;top:20%}#fs_pricing_app .fs-modal--refund-policy .fs-modal-content-container .fs-modal-header .fs-modal-close,#fs_pricing_app .fs-modal--trial-confirmation .fs-modal-content-container .fs-modal-header .fs-modal-close,#fs_pricing_wrapper .fs-modal--refund-policy .fs-modal-content-container .fs-modal-header .fs-modal-close,#fs_pricing_wrapper .fs-modal--trial-confirmation .fs-modal-content-container .fs-modal-header .fs-modal-close,#fs_pricing_wrapper #fs_pricing_app .fs-modal--refund-policy .fs-modal-content-container .fs-modal-header .fs-modal-close,#fs_pricing_wrapper #fs_pricing_app .fs-modal--trial-confirmation .fs-modal-content-container .fs-modal-header .fs-modal-close{line-height:24px;font-size:24px;position:absolute;top:-12px;right:-12px;cursor:pointer}#fs_pricing_app .fs-modal--refund-policy .fs-modal-content-container .fs-modal-content,#fs_pricing_app .fs-modal--trial-confirmation .fs-modal-content-container .fs-modal-content,#fs_pricing_wrapper .fs-modal--refund-policy .fs-modal-content-container .fs-modal-content,#fs_pricing_wrapper .fs-modal--trial-confirmation .fs-modal-content-container .fs-modal-content,#fs_pricing_wrapper #fs_pricing_app .fs-modal--refund-policy .fs-modal-content-container .fs-modal-content,#fs_pricing_wrapper #fs_pricing_app .fs-modal--trial-confirmation .fs-modal-content-container .fs-modal-content{height:100%;padding:1px 15px}#fs_pricing_app .fs-modal--refund-policy .fs-modal-content-container .fs-modal-footer,#fs_pricing_app .fs-modal--trial-confirmation .fs-modal-content-container .fs-modal-footer,#fs_pricing_wrapper .fs-modal--refund-policy .fs-modal-content-container .fs-modal-footer,#fs_pricing_wrapper .fs-modal--trial-confirmation .fs-modal-content-container .fs-modal-footer,#fs_pricing_wrapper #fs_pricing_app .fs-modal--refund-policy .fs-modal-content-container .fs-modal-footer,#fs_pricing_wrapper #fs_pricing_app .fs-modal--trial-confirmation .fs-modal-content-container .fs-modal-footer{padding:10px;text-align:right;border-top:1px solid var(--fs-ds-theme-border-color);background:var(--fs-ds-theme-background-shade)}#fs_pricing_app .fs-modal--refund-policy .fs-modal-content-container .fs-modal-footer .fs-button--approve-trial,#fs_pricing_app .fs-modal--trial-confirmation .fs-modal-content-container .fs-modal-footer .fs-button--approve-trial,#fs_pricing_wrapper .fs-modal--refund-policy .fs-modal-content-container .fs-modal-footer .fs-button--approve-trial,#fs_pricing_wrapper .fs-modal--trial-confirmation .fs-modal-content-container .fs-modal-footer .fs-button--approve-trial,#fs_pricing_wrapper #fs_pricing_app .fs-modal--refund-policy .fs-modal-content-container .fs-modal-footer .fs-button--approve-trial,#fs_pricing_wrapper #fs_pricing_app .fs-modal--trial-confirmation .fs-modal-content-container .fs-modal-footer .fs-button--approve-trial{margin:0 7px}#fs_pricing_app .fs-modal--trial-confirmation .fs-button,#fs_pricing_wrapper .fs-modal--trial-confirmation .fs-button,#fs_pricing_wrapper #fs_pricing_app .fs-modal--trial-confirmation .fs-button{width:auto;font-size:13px}\n",""]);const o=s},503:(e,t,n)=>{var a,r,i,s,o;a=n(939),r=n(151).utf8,i=n(206),s=n(151).bin,(o=function(e,t){e.constructor==String?e=t&&"binary"===t.encoding?s.stringToBytes(e):r.stringToBytes(e):i(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var n=a.bytesToWords(e),l=8*e.length,c=1732584193,u=-271733879,f=-1732584194,p=271733878,d=0;d>>24)|4278255360&(n[d]<<24|n[d]>>>8);n[l>>>5]|=128<>>9<<4)]=l;var m=o._ff,g=o._gg,h=o._hh,y=o._ii;for(d=0;d>>0,u=u+v>>>0,f=f+_>>>0,p=p+k>>>0}return a.endian([c,u,f,p])})._ff=function(e,t,n,a,r,i,s){var o=e+(t&n|~t&a)+(r>>>0)+s;return(o<>>32-i)+t},o._gg=function(e,t,n,a,r,i,s){var o=e+(t&a|n&~a)+(r>>>0)+s;return(o<>>32-i)+t},o._hh=function(e,t,n,a,r,i,s){var o=e+(t^n^a)+(r>>>0)+s;return(o<>>32-i)+t},o._ii=function(e,t,n,a,r,i,s){var o=e+(n^(t|~a))+(r>>>0)+s;return(o<>>32-i)+t},o._blocksize=16,o._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error("Illegal argument "+e);var n=a.wordsToBytes(o(e,t));return t&&t.asBytes?n:t&&t.asString?s.bytesToString(n):a.bytesToHex(n)}},540:(e,t,n)=>{"use strict";e.exports=n(287)},551:(e,t,n)=>{"use strict";var a=n(540),r=n(228),i=n(982);function s(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n