Version Description
Release Date: 18 May 2022
- Fixed: JSON outputs had that extra HTML comment which broke more than a few things...
- Fixed: On rare occasions, the cachefile was saved completely empty.
- Removed: New users won't see an introduction popup because it's not the most pleasant way to greet a new user. Instead, we're going to update our dashboard text in the next version.
Download this release
Release Info
Developer | optimocha |
Plugin | Speed Booster Pack |
Version | 4.5.3 |
Comparing to | |
See all releases |
Code changes from version 4.5.2 to 4.5.3
- README.txt +9 -1
- admin/class-speed-booster-pack-admin.php +4 -58
- admin/css/intro.min.css +0 -1
- admin/images/icon.svg +1 -1
- admin/js/init-intro.js +0 -78
- admin/js/intro.min.js +0 -10
- includes/classes/class-sbp-cache.php +110 -126
- includes/classes/class-sbp-wp-admin.php +3 -8
- public/class-speed-booster-pack-public.php +2 -1
- speed-booster-pack.php +2 -2
README.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: speed, pagespeed, optimization, core web vitals, cache
|
|
5 |
Requires at least: 4.6
|
6 |
Tested up to: 6.0
|
7 |
Requires PHP: 5.6
|
8 |
-
Stable tag: 4.5.
|
9 |
License: GPLv3 or later
|
10 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
11 |
|
@@ -103,6 +103,14 @@ All the time! We're always looking for new ways to get this plugin to a better s
|
|
103 |
|
104 |
== Changelog ==
|
105 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
= 4.5.2 =
|
107 |
|
108 |
*Release Date: 14 May 2022*
|
5 |
Requires at least: 4.6
|
6 |
Tested up to: 6.0
|
7 |
Requires PHP: 5.6
|
8 |
+
Stable tag: 4.5.3
|
9 |
License: GPLv3 or later
|
10 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
11 |
|
103 |
|
104 |
== Changelog ==
|
105 |
|
106 |
+
= 4.5.3 =
|
107 |
+
|
108 |
+
*Release Date: 18 May 2022*
|
109 |
+
|
110 |
+
* **Fixed**: JSON outputs had that extra HTML comment which broke more than a few things...
|
111 |
+
* **Fixed**: On rare occasions, the cachefile was saved completely empty.
|
112 |
+
* **Removed**: New users won't see an introduction popup because it's not the most pleasant way to greet a new user. Instead, we're going to update our dashboard text in the next version.
|
113 |
+
|
114 |
= 4.5.2 =
|
115 |
|
116 |
*Release Date: 14 May 2022*
|
admin/class-speed-booster-pack-admin.php
CHANGED
@@ -163,14 +163,9 @@ class Speed_Booster_Pack_Admin {
|
|
163 |
* @since 4.0.0
|
164 |
*/
|
165 |
public function enqueue_styles() {
|
|
|
166 |
wp_enqueue_style( $this->plugin_name, SBP_URL . 'admin/css/speed-booster-pack-admin.css', [], $this->version );
|
167 |
-
|
168 |
-
get_user_meta( get_current_user_id(), 'sbp_intro', true ) != true &&
|
169 |
-
( get_current_screen() && get_current_screen()->id == 'toplevel_page_sbp-settings' ) &&
|
170 |
-
current_user_can( 'manage_options' )
|
171 |
-
) {
|
172 |
-
wp_enqueue_style( 'sbp_intro_css', SBP_URL . 'admin/css/intro.min.css', [], '5.0.0' );
|
173 |
-
}
|
174 |
}
|
175 |
|
176 |
/**
|
@@ -179,63 +174,15 @@ class Speed_Booster_Pack_Admin {
|
|
179 |
* @since 4.0.0
|
180 |
*/
|
181 |
public function enqueue_scripts() {
|
182 |
-
if (
|
183 |
-
get_user_meta( get_current_user_id(), 'sbp_intro', true ) != true &&
|
184 |
-
( get_current_screen() && get_current_screen()->id == 'toplevel_page_sbp-settings' ) &&
|
185 |
-
current_user_can( 'manage_options' )
|
186 |
-
) {
|
187 |
-
wp_enqueue_script( 'sbp_intro_js', SBP_URL . 'admin/js/intro.min.js', [ 'jquery' ], '5.0.0' );
|
188 |
-
wp_enqueue_script( 'sbp_init_intro', SBP_URL . 'admin/js/init-intro.js', [ 'jquery' ], '5.0.0' );
|
189 |
-
wp_localize_script( 'sbp_intro_js',
|
190 |
-
'sbp_intro_translations',
|
191 |
-
[
|
192 |
-
/* translators: onboarding modal, first step title */
|
193 |
-
'welcomeTitle' => __( 'Welcome!', 'speed-booster-pack' ),
|
194 |
-
/* translators: onboarding modal, first step */
|
195 |
-
'welcome' => __( 'Welcome to Speed Booster Pack! We\'d like to give you a quick tour - feel free to close this box and look around the options yourself, or click Next to see our short intro.', 'speed-booster-pack' ),
|
196 |
-
/* translators: onboarding modal, second step title */
|
197 |
-
'cachingTitle' => __( 'Caching', 'speed-booster-pack' ),
|
198 |
-
/* translators: onboarding modal, second step */
|
199 |
-
'caching' => __( 'This is our caching tab. Here, you can set caching for your pages to immediately speed up your website.', 'speed-booster-pack' ),
|
200 |
-
/* translators: onboarding modal, third step title */
|
201 |
-
'caching2Title' => __( 'Module Toggles', 'speed-booster-pack' ),
|
202 |
-
/* translators: onboarding modal, third step */
|
203 |
-
'caching2' => __( 'Most tabs have module toggles like this. Turning on or off the module toggle enables or disables the whole module.', 'speed-booster-pack' ),
|
204 |
-
/* translators: onboarding modal, fourth step title */
|
205 |
-
'generalTitle' => __( 'General Settings', 'speed-booster-pack' ),
|
206 |
-
/* translators: onboarding modal, fourth step */
|
207 |
-
'general' => __( 'The "General" tab includes various tweaks to clean up and speed up things. You can also disable Speed Booster Pack features for certain user roles (e.g. subscribers or customers) if you need to.', 'speed-booster-pack' ),
|
208 |
-
/* translators: onboarding modal, fifth step title */
|
209 |
-
'cdnTitle' => __( 'CDN & Proxy Settings', 'speed-booster-pack' ),
|
210 |
-
/* translators: onboarding modal, fifth step */
|
211 |
-
'cdn' => __( 'The CDN & Proxy tab has three main settings: You can set a CDN domain to serve all your assets from, you can connect to your Cloudflare account to change your Cloudflare settings, and you can connect to your Sucuri account so you can clear your Sucuri cache automatically.', 'speed-booster-pack' ),
|
212 |
-
/* translators: onboarding modal, sixth step title */
|
213 |
-
'cssTitle' => __( 'CSS Settings', 'speed-booster-pack' ),
|
214 |
-
/* translators: onboarding modal, sixth step */
|
215 |
-
'css' => __( 'The Optimize CSS tab has some delicate settings which, if configured properly, can drastically improve your website performance. Be sure to follow the directions properly - especially the Critical CSS settings!', 'speed-booster-pack' ),
|
216 |
-
/* translators: onboarding modal, seventh step title */
|
217 |
-
'assetsTitle' => __( 'Assets Settings', 'speed-booster-pack' ),
|
218 |
-
/* translators: onboarding modal, seventh step */
|
219 |
-
'assets' => __( 'The Assets tab can improve your website performance using font optimization, lazy loading, asset preloading and JavaScript optimization. It\'s tempting to enable them all, but make sure you test each change thoroughly or else you can break your website! Think of these tools like powerful weapons which you can hurt yourself with.', 'speed-booster-pack' ),
|
220 |
-
/* translators: onboarding modal, last step title */
|
221 |
-
'endTitle' => __( 'Done!', 'speed-booster-pack' ),
|
222 |
-
/* translators: onboarding modal, last step */
|
223 |
-
'end' => __( 'That\'s it! Actually, that\'s not it - make sure you check the other tabs to see if you have more room to improve your website speed. Don\'t be afraid to experiment; even if you break something, resetting settings or simply deactivating Speed Booster Pack will undo everything.', 'speed-booster-pack' ),
|
224 |
-
/* translators: onboarding modal, "Next" label */
|
225 |
-
'nextLabel' => __( 'Next', 'speed-booster-pack' ),
|
226 |
-
/* translators: onboarding modal, "Prev" label */
|
227 |
-
'prevLabel' => __( 'Prev', 'speed-booster-pack' ),
|
228 |
-
/* translators: onboarding modal, "Done" label */
|
229 |
-
'doneLabel' => __( 'Done', 'speed-booster-pack' ),
|
230 |
-
] );
|
231 |
-
}
|
232 |
|
233 |
wp_enqueue_script( $this->plugin_name, SBP_URL . 'admin/js/speed-booster-pack-admin.js', [ 'jquery' ], $this->version );
|
|
|
234 |
wp_localize_script( $this->plugin_name,
|
235 |
'sbp_ajax_vars',
|
236 |
[
|
237 |
'nonce' => wp_create_nonce( 'sbp_ajax_nonce' ),
|
238 |
] );
|
|
|
239 |
}
|
240 |
|
241 |
public function get_woocommerce_options() {
|
@@ -1656,7 +1603,6 @@ class Speed_Booster_Pack_Admin {
|
|
1656 |
<li><a href="https://github.com/verlok/vanilla-lazyload" rel="external noopener" target="_blank">LazyLoad by Andrea Verlicchi</a></li>
|
1657 |
<li><a href="https://github.com/deliciousbrains/wp-background-processing" rel="external noopener" target="_blank">WP Background Processing by Delicious Brains</a></li>
|
1658 |
<li><a href="https://instant.page/" rel="external noopener" target="_blank">instant.page</a></li>
|
1659 |
-
<li><a href="https://introjs.com/" rel="external noopener" target="_blank">intro.js</a></li>
|
1660 |
</ul>',
|
1661 |
],
|
1662 |
],
|
163 |
* @since 4.0.0
|
164 |
*/
|
165 |
public function enqueue_styles() {
|
166 |
+
|
167 |
wp_enqueue_style( $this->plugin_name, SBP_URL . 'admin/css/speed-booster-pack-admin.css', [], $this->version );
|
168 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
}
|
170 |
|
171 |
/**
|
174 |
* @since 4.0.0
|
175 |
*/
|
176 |
public function enqueue_scripts() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
|
178 |
wp_enqueue_script( $this->plugin_name, SBP_URL . 'admin/js/speed-booster-pack-admin.js', [ 'jquery' ], $this->version );
|
179 |
+
|
180 |
wp_localize_script( $this->plugin_name,
|
181 |
'sbp_ajax_vars',
|
182 |
[
|
183 |
'nonce' => wp_create_nonce( 'sbp_ajax_nonce' ),
|
184 |
] );
|
185 |
+
|
186 |
}
|
187 |
|
188 |
public function get_woocommerce_options() {
|
1603 |
<li><a href="https://github.com/verlok/vanilla-lazyload" rel="external noopener" target="_blank">LazyLoad by Andrea Verlicchi</a></li>
|
1604 |
<li><a href="https://github.com/deliciousbrains/wp-background-processing" rel="external noopener" target="_blank">WP Background Processing by Delicious Brains</a></li>
|
1605 |
<li><a href="https://instant.page/" rel="external noopener" target="_blank">instant.page</a></li>
|
|
|
1606 |
</ul>',
|
1607 |
],
|
1608 |
],
|
admin/css/intro.min.css
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
.introjs-overlay{position:absolute;-webkit-box-sizing:content-box;box-sizing:content-box;z-index:999999;opacity:0;-webkit-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}.introjs-showElement{z-index:9999999!important}tr.introjs-showElement>td{z-index:9999999!important;position:relative}tr.introjs-showElement>th{z-index:9999999!important;position:relative}.introjs-disableInteraction{z-index:99999999!important;position:absolute;background-color:#fff;opacity:0}.introjs-relativePosition{position:relative}.introjs-helperLayer{-webkit-box-sizing:content-box;box-sizing:content-box;position:absolute;z-index:9999998;border-radius:4px;-webkit-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}.introjs-helperLayer *{-webkit-box-sizing:content-box;box-sizing:content-box}.introjs-helperLayer :before{-webkit-box-sizing:content-box;box-sizing:content-box}.introjs-helperLayer :after{-webkit-box-sizing:content-box;box-sizing:content-box}.introjs-tooltipReferenceLayer{font-family:"Helvetica Neue",Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif;-webkit-box-sizing:content-box;box-sizing:content-box;position:absolute;visibility:hidden;z-index:100000000;background-color:transparent;-webkit-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}.introjs-tooltipReferenceLayer *{font-family:"Helvetica Neue",Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.introjs-helperNumberLayer{font-family:"Helvetica Neue",Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif;color:#9e9e9e;text-align:center;padding-top:10px;padding-bottom:10px}.introjs-arrow{border:5px solid transparent;content:"";position:absolute}.introjs-arrow.top{top:-10px;left:10px;border-bottom-color:#fff}.introjs-arrow.top-right{top:-10px;right:10px;border-bottom-color:#fff}.introjs-arrow.top-middle{top:-10px;left:50%;margin-left:-5px;border-bottom-color:#fff}.introjs-arrow.right{right:-10px;top:10px;border-left-color:#fff}.introjs-arrow.right-bottom{bottom:10px;right:-10px;border-left-color:#fff}.introjs-arrow.bottom{bottom:-10px;left:10px;border-top-color:#fff}.introjs-arrow.bottom-right{bottom:-10px;right:10px;border-top-color:#fff}.introjs-arrow.bottom-middle{bottom:-10px;left:50%;margin-left:-5px;border-top-color:#fff}.introjs-arrow.left{left:-10px;top:10px;border-right-color:#fff}.introjs-arrow.left-bottom{left:-10px;bottom:10px;border-right-color:#fff}.introjs-tooltip{-webkit-box-sizing:content-box;box-sizing:content-box;position:absolute;visibility:visible;background-color:#fff;min-width:250px;max-width:300px;border-radius:5px;-webkit-box-shadow:0 3px 30px rgba(33,33,33,.3);box-shadow:0 3px 30px rgba(33,33,33,.3);-webkit-transition:opacity .1s ease-out;-o-transition:opacity .1s ease-out;transition:opacity .1s ease-out}.introjs-tooltiptext{padding:20px}.introjs-tooltip-title{font-size:18px;margin:0;padding:0;font-weight:700;float:left;line-height:32px}.introjs-tooltip-header{padding-left:20px;padding-right:20px;padding-top:10px}.introjs-tooltip-header:after{content:".";visibility:hidden;display:block;height:0;clear:both}.introjs-tooltipbuttons{border-top:1px solid #e0e0e0;padding:10px;text-align:right;white-space:nowrap}.introjs-tooltipbuttons:after{content:"";visibility:hidden;display:block;height:0;clear:both}.introjs-button{-webkit-box-sizing:content-box;box-sizing:content-box;position:relative;overflow:visible;display:inline-block;padding:.5rem 1rem;border:1px solid #bdbdbd;text-decoration:none;text-shadow:1px 1px 0 #fff;font-size:14px;color:#424242;white-space:nowrap;cursor:pointer;outline:0;background-color:#f4f4f4;border-radius:.2em;zoom:1;display:inline}.introjs-button:hover{outline:0;text-decoration:none;border-color:#9e9e9e;background-color:#e0e0e0;color:#212121}.introjs-button:focus{outline:0;text-decoration:none;background-color:#eee;-webkit-box-shadow:0 0 0 .2rem rgba(158,158,158,.5);box-shadow:0 0 0 .2rem rgba(158,158,158,.5);border:1px solid #616161;color:#212121}.introjs-button:active{outline:0;text-decoration:none;background-color:#e0e0e0;border-color:#9e9e9e;color:#212121}.introjs-button::-moz-focus-inner{padding:0;border:0}.introjs-skipbutton{-webkit-box-sizing:content-box;box-sizing:content-box;color:#616161;float:right;font-size:20px;cursor:pointer;font-weight:700;line-height:1;text-align:center;padding:7px 10px}.introjs-skipbutton:focus,.introjs-skipbutton:hover{color:#212121;outline:0;text-decoration:none}.introjs-prevbutton{float:left}.introjs-nextbutton{float:right}.introjs-disabled{color:#9e9e9e;border-color:#bdbdbd;-webkit-box-shadow:none;box-shadow:none;cursor:default;background-color:#f4f4f4;background-image:none;text-decoration:none}.introjs-disabled:focus,.introjs-disabled:hover{color:#9e9e9e;border-color:#bdbdbd;-webkit-box-shadow:none;box-shadow:none;cursor:default;background-color:#f4f4f4;background-image:none;text-decoration:none}.introjs-hidden{display:none}.introjs-bullets{text-align:center;padding-top:10px;padding-bottom:10px}.introjs-bullets ul{-webkit-box-sizing:content-box;box-sizing:content-box;clear:both;margin:0 auto 0;padding:0;display:inline-block}.introjs-bullets ul li{-webkit-box-sizing:content-box;box-sizing:content-box;list-style:none;float:left;margin:0 2px}.introjs-bullets ul li a{-webkit-transition:width .1s ease-in;-o-transition:width .1s ease-in;transition:width .1s ease-in;-webkit-box-sizing:content-box;box-sizing:content-box;display:block;width:6px;height:6px;background:#ccc;border-radius:10px;text-decoration:none;cursor:pointer}.introjs-bullets ul li a:focus,.introjs-bullets ul li a:hover{width:15px;background:#999;text-decoration:none;outline:0}.introjs-bullets ul li a.active{width:15px;background:#999}.introjs-progress{-webkit-box-sizing:content-box;box-sizing:content-box;overflow:hidden;height:10px;margin:10px;border-radius:4px;background-color:#e0e0e0}.introjs-progressbar{-webkit-box-sizing:content-box;box-sizing:content-box;float:left;width:0%;height:100%;font-size:10px;line-height:10px;text-align:center;background-color:#08c}.introjsFloatingElement{position:absolute;height:0;width:0;left:50%;top:50%}.introjs-fixedTooltip{position:fixed}.introjs-hint{-webkit-box-sizing:content-box;box-sizing:content-box;position:absolute;background:0 0;width:20px;height:15px;cursor:pointer}.introjs-hint:focus{border:0;outline:0}.introjs-hint:hover>.introjs-hint-pulse{background-color:rgba(60,60,60,.57)}.introjs-hidehint{display:none}.introjs-fixedhint{position:fixed}@-webkit-keyframes introjspulse{0%{-webkit-transform:scale(.95);transform:scale(.95);-webkit-box-shadow:0 0 0 0 rgba(0,0,0,.7);box-shadow:0 0 0 0 rgba(0,0,0,.7)}70%{-webkit-transform:scale(1);transform:scale(1);-webkit-box-shadow:0 0 0 10px transparent;box-shadow:0 0 0 10px transparent}100%{-webkit-transform:scale(.95);transform:scale(.95);-webkit-box-shadow:0 0 0 0 transparent;box-shadow:0 0 0 0 transparent}}@keyframes introjspulse{0%{-webkit-transform:scale(.95);transform:scale(.95);-webkit-box-shadow:0 0 0 0 rgba(0,0,0,.7);box-shadow:0 0 0 0 rgba(0,0,0,.7)}70%{-webkit-transform:scale(1);transform:scale(1);-webkit-box-shadow:0 0 0 10px transparent;box-shadow:0 0 0 10px transparent}100%{-webkit-transform:scale(.95);transform:scale(.95);-webkit-box-shadow:0 0 0 0 transparent;box-shadow:0 0 0 0 transparent}}.introjs-hint-pulse{-webkit-box-sizing:content-box;box-sizing:content-box;width:15px;height:15px;border-radius:30px;background-color:rgba(136,136,136,.24);z-index:10;position:absolute;-webkit-transition:all .2s ease-out;-o-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-animation:introjspulse 2s infinite;animation:introjspulse 2s infinite}.introjs-hint-no-anim .introjs-hint-pulse{-webkit-animation:none;animation:none}.introjs-hint-dot{-webkit-box-sizing:content-box;box-sizing:content-box;background:0 0;border-radius:60px;height:50px;width:50px;position:absolute;top:-18px;left:-18px;z-index:1;opacity:0}
|
|
admin/images/icon.svg
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><defs><path d="M5.12 12.61l.37-2.32 1.46.84 1.46.85-1.83 1.48-1.82 1.47.36-2.32z" id="a"/><path d="M6.47 13.39l.37-2.32 1.46.85 1.46.84-1.83 1.48-1.82 1.47.36-2.32z" id="b"/><path d="M5.41 13.68l.37-2.32 1.46.84 1.46.84-1.83 1.48L5.04 16l.37-2.32z" id="c"/><path d="M12.35 6.78l-1.91 6.76-2.98-1.72-2.99-1.72 4.9-5.04 4.9-5.04-1.92 6.76z" id="d"/><path d="M6.44 7.43L1.72 9.46l5.32 3.08 5.32 3.07-.59-5.11-.6-5.11-4.73 2.04z" id="e"/><path d="M9.4 12.55l.41 3.41-3.56-2.06-3.55-2.05 3.15-1.35L9 9.15l.4 3.4z" id="f"/></defs><use xlink:href="#a" fill="#
|
1 |
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><defs><path d="M5.12 12.61l.37-2.32 1.46.84 1.46.85-1.83 1.48-1.82 1.47.36-2.32z" id="a"/><path d="M6.47 13.39l.37-2.32 1.46.85 1.46.84-1.83 1.48-1.82 1.47.36-2.32z" id="b"/><path d="M5.41 13.68l.37-2.32 1.46.84 1.46.84-1.83 1.48L5.04 16l.37-2.32z" id="c"/><path d="M12.35 6.78l-1.91 6.76-2.98-1.72-2.99-1.72 4.9-5.04 4.9-5.04-1.92 6.76z" id="d"/><path d="M6.44 7.43L1.72 9.46l5.32 3.08 5.32 3.07-.59-5.11-.6-5.11-4.73 2.04z" id="e"/><path d="M9.4 12.55l.41 3.41-3.56-2.06-3.55-2.05 3.15-1.35L9 9.15l.4 3.4z" id="f"/></defs><use xlink:href="#a" fill="#A5D6A7"/><use xlink:href="#b" fill="#A5D6A7"/><use xlink:href="#c" fill="#A5D6A7"/><use xlink:href="#d" fill="#A5D6A7"/><g><use xlink:href="#e" fill="#A5D6A7"/></g><g><use xlink:href="#f" fill="#A5D6A7"/></g></svg>
|
admin/js/init-intro.js
DELETED
@@ -1,78 +0,0 @@
|
|
1 |
-
jQuery(function() {
|
2 |
-
var $ = jQuery;
|
3 |
-
$(document).ready(function() {
|
4 |
-
if (introJs != undefined) {
|
5 |
-
introJs().setOptions({
|
6 |
-
exitOnOverlayClick: false,
|
7 |
-
showProgress: true,
|
8 |
-
showBullets: false,
|
9 |
-
nextLabel: sbp_intro_translations.nextLabel,
|
10 |
-
prevLabel: sbp_intro_translations.prevLabel,
|
11 |
-
doneLabel: sbp_intro_translations.doneLabel,
|
12 |
-
steps: [{
|
13 |
-
title: sbp_intro_translations.welcomeTitle,
|
14 |
-
intro: sbp_intro_translations.welcome
|
15 |
-
}, {
|
16 |
-
element: document.querySelector('.csf-tab-item:nth-child(3)'),
|
17 |
-
title: sbp_intro_translations.cachingTitle,
|
18 |
-
intro: sbp_intro_translations.caching,
|
19 |
-
position: 'right'
|
20 |
-
}, {
|
21 |
-
element: document.querySelector('.module-caching'),
|
22 |
-
title: sbp_intro_translations.caching2Title,
|
23 |
-
intro: sbp_intro_translations.caching2,
|
24 |
-
position: 'bottom'
|
25 |
-
}, {
|
26 |
-
element: document.querySelector('.csf-tab-item:nth-child(2)'),
|
27 |
-
title: sbp_intro_translations.generalTitle,
|
28 |
-
intro: sbp_intro_translations.general,
|
29 |
-
position: 'right'
|
30 |
-
}, {
|
31 |
-
element: document.querySelector('.csf-tab-item:nth-child(6)'),
|
32 |
-
title: sbp_intro_translations.cdnTitle,
|
33 |
-
intro: sbp_intro_translations.cdn,
|
34 |
-
position: 'right'
|
35 |
-
}, {
|
36 |
-
element: document.querySelector('.csf-tab-item:nth-child(4)'),
|
37 |
-
title: sbp_intro_translations.cssTitle,
|
38 |
-
intro: sbp_intro_translations.css,
|
39 |
-
position: 'right'
|
40 |
-
}, {
|
41 |
-
element: document.querySelector('.csf-tab-item:nth-child(5)'),
|
42 |
-
title: sbp_intro_translations.assetsTitle,
|
43 |
-
intro: sbp_intro_translations.assets,
|
44 |
-
position: 'right'
|
45 |
-
}, {
|
46 |
-
title: sbp_intro_translations.endTitle,
|
47 |
-
intro: sbp_intro_translations.end
|
48 |
-
}]
|
49 |
-
}).start().onbeforechange(async function(targetElement) {
|
50 |
-
if ($(targetElement).is('.csf-tab-item:nth-child(3)') || $(targetElement).is('.module-caching')) {
|
51 |
-
window.location.hash = $('.csf-tab-item:nth-child(3) > a').attr('href');
|
52 |
-
}
|
53 |
-
|
54 |
-
if ($(targetElement).is('.csf-tab-item:nth-child(2)')) {
|
55 |
-
window.location.hash = $('.csf-tab-item:nth-child(2) > a').attr('href');
|
56 |
-
}
|
57 |
-
|
58 |
-
if ($(targetElement).is('.csf-tab-item:nth-child(4)')) {
|
59 |
-
window.location.hash = $('.csf-tab-item:nth-child(4) > a').attr('href');
|
60 |
-
}
|
61 |
-
|
62 |
-
if ($(targetElement).is('.csf-tab-item:nth-child(5)')) {
|
63 |
-
window.location.hash = $('.csf-tab-item:nth-child(5) > a').attr('href');
|
64 |
-
}
|
65 |
-
|
66 |
-
if ($(targetElement).is('.csf-tab-item:nth-child(6)')) {
|
67 |
-
window.location.hash = $('.csf-tab-item:nth-child(6) > a').attr('href');
|
68 |
-
}
|
69 |
-
|
70 |
-
}).onexit(function() {
|
71 |
-
$.ajax({
|
72 |
-
url: ajaxurl,
|
73 |
-
data: {'action': 'sbp_dismiss_intro'}
|
74 |
-
});
|
75 |
-
});
|
76 |
-
}
|
77 |
-
})
|
78 |
-
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/js/intro.min.js
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* Intro.js v5.0.0
|
3 |
-
* https://introjs.com
|
4 |
-
*
|
5 |
-
* Copyright (C) 2012-2022 Afshin Mehrabani (@afshinmeh).
|
6 |
-
* https://introjs.com
|
7 |
-
*
|
8 |
-
* Date: Sun, 06 Feb 2022 13:57:52 GMT
|
9 |
-
*/
|
10 |
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).introJs=e()}(this,(function(){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}var e=function(){var t={};return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"introjs-stamp";return t[n]=t[n]||0,void 0===e[n]&&(e[n]=t[n]++),e[n]}}();function n(t,e,n){if(t)for(var i=0,o=t.length;i<o;i++)e(t[i],i);"function"==typeof n&&n()}var i=new function(){var t="introjs_event";this._id=function(t,n,i,o){return n+e(i)+(o?"_".concat(e(o)):"")},this.on=function(e,n,i,o,r){var a=this._id.apply(this,arguments),l=function(t){return i.call(o||e,t||window.event)};"addEventListener"in e?e.addEventListener(n,l,r):"attachEvent"in e&&e.attachEvent("on".concat(n),l),e[t]=e[t]||{},e[t][a]=l},this.off=function(e,n,i,o,r){var a=this._id.apply(this,arguments),l=e[t]&&e[t][a];l&&("removeEventListener"in e?e.removeEventListener(n,l,r):"detachEvent"in e&&e.detachEvent("on".concat(n),l),e[t][a]=null)}},o="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,e){return t(e={exports:{}},e.exports),e.exports}var a,l,s=function(t){return t&&t.Math==Math&&t},c=s("object"==typeof globalThis&&globalThis)||s("object"==typeof window&&window)||s("object"==typeof self&&self)||s("object"==typeof o&&o)||function(){return this}()||Function("return this")(),u=function(t){try{return!!t()}catch(t){return!0}},h=!u((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),f=!u((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})),p=Function.prototype.call,d=f?p.bind(p):function(){return p.apply(p,arguments)},g={}.propertyIsEnumerable,v=Object.getOwnPropertyDescriptor,b={f:v&&!g.call({1:2},1)?function(t){var e=v(this,t);return!!e&&e.enumerable}:g},m=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},y=Function.prototype,w=y.bind,_=y.call,x=f&&w.bind(_,_),S=f?function(t){return t&&x(t)}:function(t){return t&&function(){return _.apply(t,arguments)}},j=S({}.toString),C=S("".slice),k=function(t){return C(j(t),8,-1)},E=c.Object,A=S("".split),I=u((function(){return!E("z").propertyIsEnumerable(0)}))?function(t){return"String"==k(t)?A(t,""):E(t)}:E,T=c.TypeError,N=function(t){if(null==t)throw T("Can't call method on "+t);return t},O=function(t){return I(N(t))},P=function(t){return"function"==typeof t},L=function(t){return"object"==typeof t?null!==t:P(t)},R=function(t){return P(t)?t:void 0},q=function(t,e){return arguments.length<2?R(c[t]):c[t]&&c[t][e]},B=S({}.isPrototypeOf),M=q("navigator","userAgent")||"",H=c.process,F=c.Deno,$=H&&H.versions||F&&F.version,D=$&&$.v8;D&&(l=(a=D.split("."))[0]>0&&a[0]<4?1:+(a[0]+a[1])),!l&&M&&(!(a=M.match(/Edge\/(\d+)/))||a[1]>=74)&&(a=M.match(/Chrome\/(\d+)/))&&(l=+a[1]);var z=l,G=!!Object.getOwnPropertySymbols&&!u((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&z&&z<41})),W=G&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,V=c.Object,U=W?function(t){return"symbol"==typeof t}:function(t){var e=q("Symbol");return P(e)&&B(e.prototype,V(t))},K=c.String,Y=function(t){try{return K(t)}catch(t){return"Object"}},X=c.TypeError,J=function(t){if(P(t))return t;throw X(Y(t)+" is not a function")},Q=function(t,e){var n=t[e];return null==n?void 0:J(n)},Z=c.TypeError,tt=Object.defineProperty,et=function(t,e){try{tt(c,t,{value:e,configurable:!0,writable:!0})}catch(n){c[t]=e}return e},nt="__core-js_shared__",it=c[nt]||et(nt,{}),ot=r((function(t){(t.exports=function(t,e){return it[t]||(it[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.21.0",mode:"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.21.0/LICENSE",source:"https://github.com/zloirock/core-js"})})),rt=c.Object,at=function(t){return rt(N(t))},lt=S({}.hasOwnProperty),st=Object.hasOwn||function(t,e){return lt(at(t),e)},ct=0,ut=Math.random(),ht=S(1..toString),ft=function(t){return"Symbol("+(void 0===t?"":t)+")_"+ht(++ct+ut,36)},pt=ot("wks"),dt=c.Symbol,gt=dt&&dt.for,vt=W?dt:dt&&dt.withoutSetter||ft,bt=function(t){if(!st(pt,t)||!G&&"string"!=typeof pt[t]){var e="Symbol."+t;G&&st(dt,t)?pt[t]=dt[t]:pt[t]=W&>?gt(e):vt(e)}return pt[t]},mt=c.TypeError,yt=bt("toPrimitive"),wt=function(t,e){if(!L(t)||U(t))return t;var n,i=Q(t,yt);if(i){if(void 0===e&&(e="default"),n=d(i,t,e),!L(n)||U(n))return n;throw mt("Can't convert object to primitive value")}return void 0===e&&(e="number"),function(t,e){var n,i;if("string"===e&&P(n=t.toString)&&!L(i=d(n,t)))return i;if(P(n=t.valueOf)&&!L(i=d(n,t)))return i;if("string"!==e&&P(n=t.toString)&&!L(i=d(n,t)))return i;throw Z("Can't convert object to primitive value")}(t,e)},_t=function(t){var e=wt(t,"string");return U(e)?e:e+""},xt=c.document,St=L(xt)&&L(xt.createElement),jt=function(t){return St?xt.createElement(t):{}},Ct=!h&&!u((function(){return 7!=Object.defineProperty(jt("div"),"a",{get:function(){return 7}}).a})),kt=Object.getOwnPropertyDescriptor,Et={f:h?kt:function(t,e){if(t=O(t),e=_t(e),Ct)try{return kt(t,e)}catch(t){}if(st(t,e))return m(!d(b.f,t,e),t[e])}},At=h&&u((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),It=c.String,Tt=c.TypeError,Nt=function(t){if(L(t))return t;throw Tt(It(t)+" is not an object")},Ot=c.TypeError,Pt=Object.defineProperty,Lt=Object.getOwnPropertyDescriptor,Rt="enumerable",qt="configurable",Bt="writable",Mt={f:h?At?function(t,e,n){if(Nt(t),e=_t(e),Nt(n),"function"==typeof t&&"prototype"===e&&"value"in n&&Bt in n&&!n.writable){var i=Lt(t,e);i&&i.writable&&(t[e]=n.value,n={configurable:qt in n?n.configurable:i.configurable,enumerable:Rt in n?n.enumerable:i.enumerable,writable:!1})}return Pt(t,e,n)}:Pt:function(t,e,n){if(Nt(t),e=_t(e),Nt(n),Ct)try{return Pt(t,e,n)}catch(t){}if("get"in n||"set"in n)throw Ot("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},Ht=h?function(t,e,n){return Mt.f(t,e,m(1,n))}:function(t,e,n){return t[e]=n,t},Ft=S(Function.toString);P(it.inspectSource)||(it.inspectSource=function(t){return Ft(t)});var $t,Dt,zt,Gt=it.inspectSource,Wt=c.WeakMap,Vt=P(Wt)&&/native code/.test(Gt(Wt)),Ut=ot("keys"),Kt=function(t){return Ut[t]||(Ut[t]=ft(t))},Yt={},Xt="Object already initialized",Jt=c.TypeError,Qt=c.WeakMap;if(Vt||it.state){var Zt=it.state||(it.state=new Qt),te=S(Zt.get),ee=S(Zt.has),ne=S(Zt.set);$t=function(t,e){if(ee(Zt,t))throw new Jt(Xt);return e.facade=t,ne(Zt,t,e),e},Dt=function(t){return te(Zt,t)||{}},zt=function(t){return ee(Zt,t)}}else{var ie=Kt("state");Yt[ie]=!0,$t=function(t,e){if(st(t,ie))throw new Jt(Xt);return e.facade=t,Ht(t,ie,e),e},Dt=function(t){return st(t,ie)?t[ie]:{}},zt=function(t){return st(t,ie)}}var oe={set:$t,get:Dt,has:zt,enforce:function(t){return zt(t)?Dt(t):$t(t,{})},getterFor:function(t){return function(e){var n;if(!L(e)||(n=Dt(e)).type!==t)throw Jt("Incompatible receiver, "+t+" required");return n}}},re=Function.prototype,ae=h&&Object.getOwnPropertyDescriptor,le=st(re,"name"),se={EXISTS:le,PROPER:le&&"something"===function(){}.name,CONFIGURABLE:le&&(!h||h&&ae(re,"name").configurable)},ce=r((function(t){var e=se.CONFIGURABLE,n=oe.get,i=oe.enforce,o=String(String).split("String");(t.exports=function(t,n,r,a){var l,s=!!a&&!!a.unsafe,u=!!a&&!!a.enumerable,h=!!a&&!!a.noTargetGet,f=a&&void 0!==a.name?a.name:n;P(r)&&("Symbol("===String(f).slice(0,7)&&(f="["+String(f).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!st(r,"name")||e&&r.name!==f)&&Ht(r,"name",f),(l=i(r)).source||(l.source=o.join("string"==typeof f?f:""))),t!==c?(s?!h&&t[n]&&(u=!0):delete t[n],u?t[n]=r:Ht(t,n,r)):u?t[n]=r:et(n,r)})(Function.prototype,"toString",(function(){return P(this)&&n(this).source||Gt(this)}))})),ue=Math.ceil,he=Math.floor,fe=function(t){var e=+t;return e!=e||0===e?0:(e>0?he:ue)(e)},pe=Math.max,de=Math.min,ge=function(t,e){var n=fe(t);return n<0?pe(n+e,0):de(n,e)},ve=Math.min,be=function(t){return t>0?ve(fe(t),9007199254740991):0},me=function(t){return be(t.length)},ye=function(t){return function(e,n,i){var o,r=O(e),a=me(r),l=ge(i,a);if(t&&n!=n){for(;a>l;)if((o=r[l++])!=o)return!0}else for(;a>l;l++)if((t||l in r)&&r[l]===n)return t||l||0;return!t&&-1}},we={includes:ye(!0),indexOf:ye(!1)},_e=we.indexOf,xe=S([].push),Se=function(t,e){var n,i=O(t),o=0,r=[];for(n in i)!st(Yt,n)&&st(i,n)&&xe(r,n);for(;e.length>o;)st(i,n=e[o++])&&(~_e(r,n)||xe(r,n));return r},je=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ce=je.concat("length","prototype"),ke={f:Object.getOwnPropertyNames||function(t){return Se(t,Ce)}},Ee={f:Object.getOwnPropertySymbols},Ae=S([].concat),Ie=q("Reflect","ownKeys")||function(t){var e=ke.f(Nt(t)),n=Ee.f;return n?Ae(e,n(t)):e},Te=function(t,e,n){for(var i=Ie(e),o=Mt.f,r=Et.f,a=0;a<i.length;a++){var l=i[a];st(t,l)||n&&st(n,l)||o(t,l,r(e,l))}},Ne=/#|\.prototype\./,Oe=function(t,e){var n=Le[Pe(t)];return n==qe||n!=Re&&(P(e)?u(e):!!e)},Pe=Oe.normalize=function(t){return String(t).replace(Ne,".").toLowerCase()},Le=Oe.data={},Re=Oe.NATIVE="N",qe=Oe.POLYFILL="P",Be=Oe,Me=Et.f,He=function(t,e){var n,i,o,r,a,l=t.target,s=t.global,u=t.stat;if(n=s?c:u?c[l]||et(l,{}):(c[l]||{}).prototype)for(i in e){if(r=e[i],o=t.noTargetGet?(a=Me(n,i))&&a.value:n[i],!Be(s?i:l+(u?".":"#")+i,t.forced)&&void 0!==o){if(typeof r==typeof o)continue;Te(r,o)}(t.sham||o&&o.sham)&&Ht(r,"sham",!0),ce(n,i,r,t)}},Fe={};Fe[bt("toStringTag")]="z";var $e,De="[object z]"===String(Fe),ze=bt("toStringTag"),Ge=c.Object,We="Arguments"==k(function(){return arguments}()),Ve=De?k:function(t){var e,n,i;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Ge(t),ze))?n:We?k(e):"Object"==(i=k(e))&&P(e.callee)?"Arguments":i},Ue=c.String,Ke=function(t){if("Symbol"===Ve(t))throw TypeError("Cannot convert a Symbol value to a string");return Ue(t)},Ye=function(){var t=Nt(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e},Xe=c.RegExp,Je=u((function(){var t=Xe("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),Qe=Je||u((function(){return!Xe("a","y").sticky})),Ze={BROKEN_CARET:Je||u((function(){var t=Xe("^r","gy");return t.lastIndex=2,null!=t.exec("str")})),MISSED_STICKY:Qe,UNSUPPORTED_Y:Je},tn=Object.keys||function(t){return Se(t,je)},en=h&&!At?Object.defineProperties:function(t,e){Nt(t);for(var n,i=O(e),o=tn(e),r=o.length,a=0;r>a;)Mt.f(t,n=o[a++],i[n]);return t},nn={f:en},on=q("document","documentElement"),rn=Kt("IE_PROTO"),an=function(){},ln=function(t){return"<script>"+t+"</"+"script>"},sn=function(t){t.write(ln("")),t.close();var e=t.parentWindow.Object;return t=null,e},cn=function(){try{$e=new ActiveXObject("htmlfile")}catch(t){}var t,e;cn="undefined"!=typeof document?document.domain&&$e?sn($e):((e=jt("iframe")).style.display="none",on.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(ln("document.F=Object")),t.close(),t.F):sn($e);for(var n=je.length;n--;)delete cn.prototype[je[n]];return cn()};Yt[rn]=!0;var un,hn,fn=Object.create||function(t,e){var n;return null!==t?(an.prototype=Nt(t),n=new an,an.prototype=null,n[rn]=t):n=cn(),void 0===e?n:nn.f(n,e)},pn=c.RegExp,dn=u((function(){var t=pn(".","s");return!(t.dotAll&&t.exec("\n")&&"s"===t.flags)})),gn=c.RegExp,vn=u((function(){var t=gn("(?<a>b)","g");return"b"!==t.exec("b").groups.a||"bc"!=="b".replace(t,"$<a>c")})),bn=oe.get,mn=ot("native-string-replace",String.prototype.replace),yn=RegExp.prototype.exec,wn=yn,_n=S("".charAt),xn=S("".indexOf),Sn=S("".replace),jn=S("".slice),Cn=(hn=/b*/g,d(yn,un=/a/,"a"),d(yn,hn,"a"),0!==un.lastIndex||0!==hn.lastIndex),kn=Ze.BROKEN_CARET,En=void 0!==/()??/.exec("")[1];(Cn||En||kn||dn||vn)&&(wn=function(t){var e,n,i,o,r,a,l,s=this,c=bn(s),u=Ke(t),h=c.raw;if(h)return h.lastIndex=s.lastIndex,e=d(wn,h,u),s.lastIndex=h.lastIndex,e;var f=c.groups,p=kn&&s.sticky,g=d(Ye,s),v=s.source,b=0,m=u;if(p&&(g=Sn(g,"y",""),-1===xn(g,"g")&&(g+="g"),m=jn(u,s.lastIndex),s.lastIndex>0&&(!s.multiline||s.multiline&&"\n"!==_n(u,s.lastIndex-1))&&(v="(?: "+v+")",m=" "+m,b++),n=new RegExp("^(?:"+v+")",g)),En&&(n=new RegExp("^"+v+"$(?!\\s)",g)),Cn&&(i=s.lastIndex),o=d(yn,p?n:s,m),p?o?(o.input=jn(o.input,b),o[0]=jn(o[0],b),o.index=s.lastIndex,s.lastIndex+=o[0].length):s.lastIndex=0:Cn&&o&&(s.lastIndex=s.global?o.index+o[0].length:i),En&&o&&o.length>1&&d(mn,o[0],n,(function(){for(r=1;r<arguments.length-2;r++)void 0===arguments[r]&&(o[r]=void 0)})),o&&f)for(o.groups=a=fn(null),r=0;r<f.length;r++)a[(l=f[r])[0]]=o[l[1]];return o});var An=wn;He({target:"RegExp",proto:!0,forced:/./.exec!==An},{exec:An});var In=bt("species"),Tn=RegExp.prototype,Nn=function(t,e,n,i){var o=bt(t),r=!u((function(){var e={};return e[o]=function(){return 7},7!=""[t](e)})),a=r&&!u((function(){var e=!1,n=/a/;return"split"===t&&((n={}).constructor={},n.constructor[In]=function(){return n},n.flags="",n[o]=/./[o]),n.exec=function(){return e=!0,null},n[o](""),!e}));if(!r||!a||n){var l=S(/./[o]),s=e(o,""[t],(function(t,e,n,i,o){var a=S(t),s=e.exec;return s===An||s===Tn.exec?r&&!o?{done:!0,value:l(e,n,i)}:{done:!0,value:a(n,e,i)}:{done:!1}}));ce(String.prototype,t,s[0]),ce(Tn,o,s[1])}i&&Ht(Tn[o],"sham",!0)},On=S("".charAt),Pn=S("".charCodeAt),Ln=S("".slice),Rn=function(t){return function(e,n){var i,o,r=Ke(N(e)),a=fe(n),l=r.length;return a<0||a>=l?t?"":void 0:(i=Pn(r,a))<55296||i>56319||a+1===l||(o=Pn(r,a+1))<56320||o>57343?t?On(r,a):i:t?Ln(r,a,a+2):o-56320+(i-55296<<10)+65536}},qn={codeAt:Rn(!1),charAt:Rn(!0)}.charAt,Bn=function(t,e,n){return e+(n?qn(t,e).length:1)},Mn=c.TypeError,Hn=function(t,e){var n=t.exec;if(P(n)){var i=d(n,t,e);return null!==i&&Nt(i),i}if("RegExp"===k(t))return d(An,t,e);throw Mn("RegExp#exec called on incompatible receiver")};Nn("match",(function(t,e,n){return[function(e){var n=N(this),i=null==e?void 0:Q(e,t);return i?d(i,e,n):new RegExp(e)[t](Ke(n))},function(t){var i=Nt(this),o=Ke(t),r=n(e,i,o);if(r.done)return r.value;if(!i.global)return Hn(i,o);var a=i.unicode;i.lastIndex=0;for(var l,s=[],c=0;null!==(l=Hn(i,o));){var u=Ke(l[0]);s[c]=u,""===u&&(i.lastIndex=Bn(o,be(i.lastIndex),a)),c++}return 0===c?null:s}]}));var Fn=Array.isArray||function(t){return"Array"==k(t)},$n=function(t,e,n){var i=_t(e);i in t?Mt.f(t,i,m(0,n)):t[i]=n},Dn=function(){},zn=[],Gn=q("Reflect","construct"),Wn=/^\s*(?:class|function)\b/,Vn=S(Wn.exec),Un=!Wn.exec(Dn),Kn=function(t){if(!P(t))return!1;try{return Gn(Dn,zn,t),!0}catch(t){return!1}},Yn=function(t){if(!P(t))return!1;switch(Ve(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Un||!!Vn(Wn,Gt(t))}catch(t){return!0}};Yn.sham=!0;var Xn=!Gn||u((function(){var t;return Kn(Kn.call)||!Kn(Object)||!Kn((function(){t=!0}))||t}))?Yn:Kn,Jn=bt("species"),Qn=c.Array,Zn=function(t,e){return new(function(t){var e;return Fn(t)&&(e=t.constructor,(Xn(e)&&(e===Qn||Fn(e.prototype))||L(e)&&null===(e=e[Jn]))&&(e=void 0)),void 0===e?Qn:e}(t))(0===e?0:e)},ti=bt("species"),ei=function(t){return z>=51||!u((function(){var e=[];return(e.constructor={})[ti]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},ni=bt("isConcatSpreadable"),ii=9007199254740991,oi="Maximum allowed index exceeded",ri=c.TypeError,ai=z>=51||!u((function(){var t=[];return t[ni]=!1,t.concat()[0]!==t})),li=ei("concat"),si=function(t){if(!L(t))return!1;var e=t[ni];return void 0!==e?!!e:Fn(t)};He({target:"Array",proto:!0,forced:!ai||!li},{concat:function(t){var e,n,i,o,r,a=at(this),l=Zn(a,0),s=0;for(e=-1,i=arguments.length;e<i;e++)if(si(r=-1===e?a:arguments[e])){if(s+(o=me(r))>ii)throw ri(oi);for(n=0;n<o;n++,s++)n in r&&$n(l,s,r[n])}else{if(s>=ii)throw ri(oi);$n(l,s++,r)}return l.length=s,l}});var ci=De?{}.toString:function(){return"[object "+Ve(this)+"]"};De||ce(Object.prototype,"toString",ci,{unsafe:!0});var ui=se.PROPER,hi="toString",fi=RegExp.prototype,pi=fi.toString,di=S(Ye),gi=u((function(){return"/a/b"!=pi.call({source:"a",flags:"b"})})),vi=ui&&pi.name!=hi;(gi||vi)&&ce(RegExp.prototype,hi,(function(){var t=Nt(this),e=Ke(t.source),n=t.flags;return"/"+e+"/"+Ke(void 0===n&&B(fi,t)&&!("flags"in fi)?di(t):n)}),{unsafe:!0});var bi=Function.prototype,mi=bi.apply,yi=bi.call,wi="object"==typeof Reflect&&Reflect.apply||(f?yi.bind(mi):function(){return yi.apply(mi,arguments)}),_i=bt("match"),xi=function(t){var e;return L(t)&&(void 0!==(e=t[_i])?!!e:"RegExp"==k(t))},Si=c.TypeError,ji=bt("species"),Ci=function(t,e){var n,i=Nt(t).constructor;return void 0===i||null==(n=Nt(i)[ji])?e:function(t){if(Xn(t))return t;throw Si(Y(t)+" is not a constructor")}(n)},ki=c.Array,Ei=Math.max,Ai=function(t,e,n){for(var i=me(t),o=ge(e,i),r=ge(void 0===n?i:n,i),a=ki(Ei(r-o,0)),l=0;o<r;o++,l++)$n(a,l,t[o]);return a.length=l,a},Ii=Ze.UNSUPPORTED_Y,Ti=4294967295,Ni=Math.min,Oi=[].push,Pi=S(/./.exec),Li=S(Oi),Ri=S("".slice),qi=!u((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));function Bi(t,e){if(t instanceof SVGElement){var i=t.getAttribute("class")||"";i.match(e)||t.setAttribute("class","".concat(i," ").concat(e))}else{if(void 0!==t.classList)n(e.split(" "),(function(e){t.classList.add(e)}));else t.className.match(e)||(t.className+=" ".concat(e))}}function Mi(t,e){var n="";return t.currentStyle?n=t.currentStyle[e]:document.defaultView&&document.defaultView.getComputedStyle&&(n=document.defaultView.getComputedStyle(t,null).getPropertyValue(e)),n&&n.toLowerCase?n.toLowerCase():n}function Hi(t){var e=t.element;if(this._options.scrollToElement){var n=function(t){var e=window.getComputedStyle(t),n="absolute"===e.position,i=/(auto|scroll)/;if("fixed"===e.position)return document.body;for(var o=t;o=o.parentElement;)if(e=window.getComputedStyle(o),(!n||"static"!==e.position)&&i.test(e.overflow+e.overflowY+e.overflowX))return o;return document.body}(e);n!==document.body&&(n.scrollTop=e.offsetTop-n.offsetTop)}}function Fi(){if(void 0!==window.innerWidth)return{width:window.innerWidth,height:window.innerHeight};var t=document.documentElement;return{width:t.clientWidth,height:t.clientHeight}}function $i(t,e,n){var i,o=e.element;if("off"!==t&&(this._options.scrollToElement&&(i="tooltip"===t?n.getBoundingClientRect():o.getBoundingClientRect(),!function(t){var e=t.getBoundingClientRect();return e.top>=0&&e.left>=0&&e.bottom+80<=window.innerHeight&&e.right<=window.innerWidth}(o)))){var r=Fi().height;i.bottom-(i.bottom-i.top)<0||o.clientHeight>r?window.scrollBy(0,i.top-(r/2-i.height/2)-this._options.scrollPadding):window.scrollBy(0,i.top-(r/2-i.height/2)+this._options.scrollPadding)}}function Di(t){t.setAttribute("role","button"),t.tabIndex=0}Nn("split",(function(t,e,n){var i;return i="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,n){var i=Ke(N(this)),o=void 0===n?Ti:n>>>0;if(0===o)return[];if(void 0===t)return[i];if(!xi(t))return d(e,i,t,o);for(var r,a,l,s=[],c=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),u=0,h=new RegExp(t.source,c+"g");(r=d(An,h,i))&&!((a=h.lastIndex)>u&&(Li(s,Ri(i,u,r.index)),r.length>1&&r.index<i.length&&wi(Oi,s,Ai(r,1)),l=r[0].length,u=a,s.length>=o));)h.lastIndex===r.index&&h.lastIndex++;return u===i.length?!l&&Pi(h,"")||Li(s,""):Li(s,Ri(i,u)),s.length>o?Ai(s,0,o):s}:"0".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:d(e,this,t,n)}:e,[function(e,n){var o=N(this),r=null==e?void 0:Q(e,t);return r?d(r,e,o,n):d(i,Ke(o),e,n)},function(t,o){var r=Nt(this),a=Ke(t),l=n(i,r,a,o,i!==e);if(l.done)return l.value;var s=Ci(r,RegExp),c=r.unicode,u=(r.ignoreCase?"i":"")+(r.multiline?"m":"")+(r.unicode?"u":"")+(Ii?"g":"y"),h=new s(Ii?"^(?:"+r.source+")":r,u),f=void 0===o?Ti:o>>>0;if(0===f)return[];if(0===a.length)return null===Hn(h,a)?[a]:[];for(var p=0,d=0,g=[];d<a.length;){h.lastIndex=Ii?0:d;var v,b=Hn(h,Ii?Ri(a,d):a);if(null===b||(v=Ni(be(h.lastIndex+(Ii?d:0)),a.length))===p)d=Bn(a,d,c);else{if(Li(g,Ri(a,p,d)),g.length===f)return g;for(var m=1;m<=b.length-1;m++)if(Li(g,b[m]),g.length===f)return g;d=p=v}}return Li(g,Ri(a,p)),g}]}),!qi,Ii);var zi=Object.assign,Gi=Object.defineProperty,Wi=S([].concat),Vi=!zi||u((function(){if(h&&1!==zi({b:1},zi(Gi({},"a",{enumerable:!0,get:function(){Gi(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},n=Symbol(),i="abcdefghijklmnopqrst";return t[n]=7,i.split("").forEach((function(t){e[t]=t})),7!=zi({},t)[n]||tn(zi({},e)).join("")!=i}))?function(t,e){for(var n=at(t),i=arguments.length,o=1,r=Ee.f,a=b.f;i>o;)for(var l,s=I(arguments[o++]),c=r?Wi(tn(s),r(s)):tn(s),u=c.length,f=0;u>f;)l=c[f++],h&&!d(a,s,l)||(n[l]=s[l]);return n}:zi;function Ui(t){var e=t.parentNode;return!(!e||"HTML"===e.nodeName)&&("fixed"===Mi(t,"position")||Ui(e))}function Ki(t,e){var n=document.body,i=document.documentElement,o=window.pageYOffset||i.scrollTop||n.scrollTop,r=window.pageXOffset||i.scrollLeft||n.scrollLeft;e=e||n;var a=t.getBoundingClientRect(),l=e.getBoundingClientRect(),s=Mi(e,"position"),c={width:a.width,height:a.height};return"body"!==e.tagName.toLowerCase()&&"relative"===s||"sticky"===s?Object.assign(c,{top:a.top-l.top,left:a.left-l.left}):Ui(t)?Object.assign(c,{top:a.top,left:a.left}):Object.assign(c,{top:a.top+o,left:a.left+r})}He({target:"Object",stat:!0,forced:Object.assign!==Vi},{assign:Vi});var Yi=Math.floor,Xi=S("".charAt),Ji=S("".replace),Qi=S("".slice),Zi=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,to=/\$([$&'`]|\d{1,2})/g,eo=function(t,e,n,i,o,r){var a=n+t.length,l=i.length,s=to;return void 0!==o&&(o=at(o),s=Zi),Ji(r,s,(function(r,s){var c;switch(Xi(s,0)){case"$":return"$";case"&":return t;case"`":return Qi(e,0,n);case"'":return Qi(e,a);case"<":c=o[Qi(s,1,-1)];break;default:var u=+s;if(0===u)return r;if(u>l){var h=Yi(u/10);return 0===h?r:h<=l?void 0===i[h-1]?Xi(s,1):i[h-1]+Xi(s,1):r}c=i[u-1]}return void 0===c?"":c}))},no=bt("replace"),io=Math.max,oo=Math.min,ro=S([].concat),ao=S([].push),lo=S("".indexOf),so=S("".slice),co="$0"==="a".replace(/./,"$0"),uo=!!/./[no]&&""===/./[no]("a","$0");function ho(t,e){if(t instanceof SVGElement){var n=t.getAttribute("class")||"";t.setAttribute("class",n.replace(e,"").replace(/^\s+|\s+$/g,""))}else t.className=t.className.replace(e,"").replace(/^\s+|\s+$/g,"")}function fo(t,e){var n="";if(t.style.cssText&&(n+=t.style.cssText),"string"==typeof e)n+=e;else for(var i in e)n+="".concat(i,":").concat(e[i],";");t.style.cssText=n}function po(t){if(t){if(!this._introItems[this._currentStep])return;var e=this._introItems[this._currentStep],n=Ki(e.element,this._targetElement),i=this._options.helperElementPadding;Ui(e.element)?Bi(t,"introjs-fixedTooltip"):ho(t,"introjs-fixedTooltip"),"floating"===e.position&&(i=0),fo(t,{width:"".concat(n.width+i,"px"),height:"".concat(n.height+i,"px"),top:"".concat(n.top-i/2,"px"),left:"".concat(n.left-i/2,"px")})}}Nn("replace",(function(t,e,n){var i=uo?"$":"$0";return[function(t,n){var i=N(this),o=null==t?void 0:Q(t,no);return o?d(o,t,i,n):d(e,Ke(i),t,n)},function(t,o){var r=Nt(this),a=Ke(t);if("string"==typeof o&&-1===lo(o,i)&&-1===lo(o,"$<")){var l=n(e,r,a,o);if(l.done)return l.value}var s=P(o);s||(o=Ke(o));var c=r.global;if(c){var u=r.unicode;r.lastIndex=0}for(var h=[];;){var f=Hn(r,a);if(null===f)break;if(ao(h,f),!c)break;""===Ke(f[0])&&(r.lastIndex=Bn(a,be(r.lastIndex),u))}for(var p,d="",g=0,v=0;v<h.length;v++){for(var b=Ke((f=h[v])[0]),m=io(oo(fe(f.index),a.length),0),y=[],w=1;w<f.length;w++)ao(y,void 0===(p=f[w])?p:String(p));var _=f.groups;if(s){var x=ro([b],y,m,a);void 0!==_&&ao(x,_);var S=Ke(wi(o,void 0,x))}else S=eo(b,a,m,y,_,o);m>=g&&(d+=so(a,g,m)+S,g=m+b.length)}return d+so(a,g)}]}),!!u((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")}))||!co||uo);var go=bt("unscopables"),vo=Array.prototype;null==vo[go]&&Mt.f(vo,go,{configurable:!0,value:fn(null)});var bo,mo=we.includes;He({target:"Array",proto:!0},{includes:function(t){return mo(this,t,arguments.length>1?arguments[1]:void 0)}}),bo="includes",vo[go][bo]=!0;var yo=S([].slice),wo=ei("slice"),_o=bt("species"),xo=c.Array,So=Math.max;He({target:"Array",proto:!0,forced:!wo},{slice:function(t,e){var n,i,o,r=O(this),a=me(r),l=ge(t,a),s=ge(void 0===e?a:e,a);if(Fn(r)&&(n=r.constructor,(Xn(n)&&(n===xo||Fn(n.prototype))||L(n)&&null===(n=n[_o]))&&(n=void 0),n===xo||void 0===n))return yo(r,l,s);for(i=new(void 0===n?xo:n)(So(s-l,0)),o=0;l<s;l++,o++)l in r&&$n(i,o,r[l]);return i.length=o,i}});var jo=c.TypeError,Co=function(t){if(xi(t))throw jo("The method doesn't accept regular expressions");return t},ko=bt("match"),Eo=S("".indexOf);He({target:"String",proto:!0,forced:!function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[ko]=!1,"/./"[t](e)}catch(t){}}return!1}("includes")},{includes:function(t){return!!~Eo(Ke(N(this)),Ke(Co(t)),arguments.length>1?arguments[1]:void 0)}});var Ao=function(t,e){var n=[][t];return!!n&&u((function(){n.call(null,e||function(){throw 1},1)}))},Io=S([].join),To=I!=Object,No=Ao("join",",");He({target:"Array",proto:!0,forced:To||!No},{join:function(t){return Io(O(this),void 0===t?",":t)}});var Oo=S(S.bind),Po=S([].push),Lo=function(t){var e=1==t,n=2==t,i=3==t,o=4==t,r=6==t,a=7==t,l=5==t||r;return function(s,c,u,h){for(var p,d,g=at(s),v=I(g),b=function(t,e){return J(t),void 0===e?t:f?Oo(t,e):function(){return t.apply(e,arguments)}}(c,u),m=me(v),y=0,w=h||Zn,_=e?w(s,m):n||a?w(s,0):void 0;m>y;y++)if((l||y in v)&&(d=b(p=v[y],y,g),t))if(e)_[y]=d;else if(d)switch(t){case 3:return!0;case 5:return p;case 6:return y;case 2:Po(_,p)}else switch(t){case 4:return!1;case 7:Po(_,p)}return r?-1:i||o?o:_}},Ro={forEach:Lo(0),map:Lo(1),filter:Lo(2),some:Lo(3),every:Lo(4),find:Lo(5),findIndex:Lo(6),filterReject:Lo(7)}.filter;function qo(t,e,n,i,o){return t.left+e+n.width>i.width?(o.style.left="".concat(i.width-n.width-t.left,"px"),!1):(o.style.left="".concat(e,"px"),!0)}function Bo(t,e,n,i){return t.left+t.width-e-n.width<0?(i.style.left="".concat(-t.left,"px"),!1):(i.style.right="".concat(e,"px"),!0)}He({target:"Array",proto:!0,forced:!ei("filter")},{filter:function(t){return Ro(this,t,arguments.length>1?arguments[1]:void 0)}});var Mo=ei("splice"),Ho=c.TypeError,Fo=Math.max,$o=Math.min,Do=9007199254740991,zo="Maximum allowed length exceeded";function Go(t,e){t.includes(e)&&t.splice(t.indexOf(e),1)}function Wo(t,e,n){var i=this._options.positionPrecedence.slice(),o=Fi(),r=Ki(e).height+10,a=Ki(e).width+20,l=t.getBoundingClientRect(),s="floating";l.bottom+r>o.height&&Go(i,"bottom"),l.top-r<0&&Go(i,"top"),l.right+a>o.width&&Go(i,"right"),l.left-a<0&&Go(i,"left");var c,u,h=-1!==(u=(c=n||"").indexOf("-"))?c.substr(u):"";return n&&(n=n.split("-")[0]),i.length&&(s=i.includes(n)?n:i[0]),["top","bottom"].includes(s)&&(s+=function(t,e,n,i){var o=n.width,r=e/2,a=Math.min(o,window.screen.width),l=["-left-aligned","-middle-aligned","-right-aligned"];return a-t<e&&Go(l,"-left-aligned"),(t<r||a-t<r)&&Go(l,"-middle-aligned"),t<e&&Go(l,"-right-aligned"),l.length?l.includes(i)?i:l[0]:"-middle-aligned"}(l.left,a,o,h)),s}function Vo(t,e,n,i){var o,r,a,l,s,c="";if(i=i||!1,e.style.top=null,e.style.right=null,e.style.bottom=null,e.style.left=null,e.style.marginLeft=null,e.style.marginTop=null,n.style.display="inherit",this._introItems[this._currentStep])switch(c="string"==typeof(o=this._introItems[this._currentStep]).tooltipClass?o.tooltipClass:this._options.tooltipClass,e.className=["introjs-tooltip",c].filter(Boolean).join(" "),e.setAttribute("role","dialog"),"floating"!==(s=this._introItems[this._currentStep].position)&&this._options.autoPosition&&(s=Wo.call(this,t,e,s)),a=Ki(t),r=Ki(e),l=Fi(),Bi(e,"introjs-".concat(s)),s){case"top-right-aligned":n.className="introjs-arrow bottom-right";var u=0;Bo(a,u,r,e),e.style.bottom="".concat(a.height+20,"px");break;case"top-middle-aligned":n.className="introjs-arrow bottom-middle";var h=a.width/2-r.width/2;i&&(h+=5),Bo(a,h,r,e)&&(e.style.right=null,qo(a,h,r,l,e)),e.style.bottom="".concat(a.height+20,"px");break;case"top-left-aligned":case"top":n.className="introjs-arrow bottom",qo(a,i?0:15,r,l,e),e.style.bottom="".concat(a.height+20,"px");break;case"right":e.style.left="".concat(a.width+20,"px"),a.top+r.height>l.height?(n.className="introjs-arrow left-bottom",e.style.top="-".concat(r.height-a.height-20,"px")):n.className="introjs-arrow left";break;case"left":i||!0!==this._options.showStepNumbers||(e.style.top="15px"),a.top+r.height>l.height?(e.style.top="-".concat(r.height-a.height-20,"px"),n.className="introjs-arrow right-bottom"):n.className="introjs-arrow right",e.style.right="".concat(a.width+20,"px");break;case"floating":n.style.display="none",e.style.left="50%",e.style.top="50%",e.style.marginLeft="-".concat(r.width/2,"px"),e.style.marginTop="-".concat(r.height/2,"px");break;case"bottom-right-aligned":n.className="introjs-arrow top-right",Bo(a,u=0,r,e),e.style.top="".concat(a.height+20,"px");break;case"bottom-middle-aligned":n.className="introjs-arrow top-middle",h=a.width/2-r.width/2,i&&(h+=5),Bo(a,h,r,e)&&(e.style.right=null,qo(a,h,r,l,e)),e.style.top="".concat(a.height+20,"px");break;default:n.className="introjs-arrow top",qo(a,0,r,l,e),e.style.top="".concat(a.height+20,"px")}}function Uo(){n(document.querySelectorAll(".introjs-showElement"),(function(t){ho(t,/introjs-[a-zA-Z]+/g)}))}function Ko(t,e){var n=document.createElement(t);e=e||{};var i=/^(?:role|data-|aria-)/;for(var o in e){var r=e[o];"style"===o?fo(n,r):o.match(i)?n.setAttribute(o,r):n[o]=r}return n}function Yo(t,e,n){if(n){var i=e.style.opacity||"1";fo(e,{opacity:"0"}),window.setTimeout((function(){fo(e,{opacity:i})}),10)}t.appendChild(e)}function Xo(){return parseInt(this._currentStep+1,10)/this._introItems.length*100}function Jo(){var t=document.querySelector(".introjs-disableInteraction");null===t&&(t=Ko("div",{className:"introjs-disableInteraction"}),this._targetElement.appendChild(t)),po.call(this,t)}function Qo(t){var e=this,i=Ko("div",{className:"introjs-bullets"});!1===this._options.showBullets&&(i.style.display="none");var o=Ko("ul");o.setAttribute("role","tablist");var r=function(){e.goToStep(this.getAttribute("data-step-number"))};return n(this._introItems,(function(e,n){var i=e.step,a=Ko("li"),l=Ko("a");a.setAttribute("role","presentation"),l.setAttribute("role","tab"),l.onclick=r,n===t.step-1&&(l.className="active"),Di(l),l.innerHTML=" ",l.setAttribute("data-step-number",i),a.appendChild(l),o.appendChild(a)})),i.appendChild(o),i}function Zo(t,e){if(this._options.showBullets){var n=document.querySelector(".introjs-bullets");n&&n.parentNode.replaceChild(Qo.call(this,e),n)}}function tr(t,e){this._options.showBullets&&(t.querySelector(".introjs-bullets li > a.active").className="",t.querySelector('.introjs-bullets li > a[data-step-number="'.concat(e.step,'"]')).className="active")}function er(){var t=Ko("div");t.className="introjs-progress",!1===this._options.showProgress&&(t.style.display="none");var e=Ko("div",{className:"introjs-progressbar"});return this._options.progressBarAdditionalClass&&(e.className+=" "+this._options.progressBarAdditionalClass),e.setAttribute("role","progress"),e.setAttribute("aria-valuemin",0),e.setAttribute("aria-valuemax",100),e.setAttribute("aria-valuenow",Xo.call(this)),e.style.cssText="width:".concat(Xo.call(this),"%;"),t.appendChild(e),t}function nr(t){t.querySelector(".introjs-progress .introjs-progressbar").style.cssText="width:".concat(Xo.call(this),"%;"),t.querySelector(".introjs-progress .introjs-progressbar").setAttribute("aria-valuenow",Xo.call(this))}function ir(t){var e=this;void 0!==this._introChangeCallback&&this._introChangeCallback.call(this,t.element);var n,i,o,r=this,a=document.querySelector(".introjs-helperLayer"),l=document.querySelector(".introjs-tooltipReferenceLayer"),s="introjs-helperLayer";if("string"==typeof t.highlightClass&&(s+=" ".concat(t.highlightClass)),"string"==typeof this._options.highlightClass&&(s+=" ".concat(this._options.highlightClass)),null!==a&&null!==l){var c=l.querySelector(".introjs-helperNumberLayer"),u=l.querySelector(".introjs-tooltiptext"),h=l.querySelector(".introjs-tooltip-title"),f=l.querySelector(".introjs-arrow"),p=l.querySelector(".introjs-tooltip");o=l.querySelector(".introjs-skipbutton"),i=l.querySelector(".introjs-prevbutton"),n=l.querySelector(".introjs-nextbutton"),a.className=s,p.style.opacity=0,p.style.display="none",Hi.call(r,t),po.call(r,a),po.call(r,l),Uo(),r._lastShowElementTimer&&window.clearTimeout(r._lastShowElementTimer),r._lastShowElementTimer=window.setTimeout((function(){null!==c&&(c.innerHTML="".concat(t.step," of ").concat(e._introItems.length)),u.innerHTML=t.intro,h.innerHTML=t.title,p.style.display="block",Vo.call(r,t.element,p,f),tr.call(r,l,t),nr.call(r,l),p.style.opacity=1,(null!=n&&/introjs-donebutton/gi.test(n.className)||null!=n)&&n.focus(),$i.call(r,t.scrollTo,t,u)}),350)}else{var d=Ko("div",{className:s}),g=Ko("div",{className:"introjs-tooltipReferenceLayer"}),v=Ko("div",{className:"introjs-arrow"}),b=Ko("div",{className:"introjs-tooltip"}),m=Ko("div",{className:"introjs-tooltiptext"}),y=Ko("div",{className:"introjs-tooltip-header"}),w=Ko("h1",{className:"introjs-tooltip-title"}),_=Ko("div");fo(d,{"box-shadow":"0 0 1px 2px rgba(33, 33, 33, 0.8), rgba(33, 33, 33, ".concat(r._options.overlayOpacity.toString(),") 0 0 0 5000px")}),Hi.call(r,t),po.call(r,d),po.call(r,g),Yo(this._targetElement,d,!0),Yo(this._targetElement,g),m.innerHTML=t.intro,w.innerHTML=t.title,_.className="introjs-tooltipbuttons",!1===this._options.showButtons&&(_.style.display="none"),y.appendChild(w),b.appendChild(y),b.appendChild(m),b.appendChild(Qo.call(this,t)),b.appendChild(er.call(this));var x=Ko("div");!0===this._options.showStepNumbers&&(x.className="introjs-helperNumberLayer",x.innerHTML="".concat(t.step," of ").concat(this._introItems.length),b.appendChild(x)),b.appendChild(v),g.appendChild(b),(n=Ko("a")).onclick=function(){r._introItems.length-1!==r._currentStep?ar.call(r):/introjs-donebutton/gi.test(n.className)&&("function"==typeof r._introCompleteCallback&&r._introCompleteCallback.call(r,r._currentStep,"done"),Wr.call(r,r._targetElement))},Di(n),n.innerHTML=this._options.nextLabel,(i=Ko("a")).onclick=function(){0!==r._currentStep&&lr.call(r)},Di(i),i.innerHTML=this._options.prevLabel,Di(o=Ko("a",{className:"introjs-skipbutton"})),o.innerHTML=this._options.skipLabel,o.onclick=function(){r._introItems.length-1===r._currentStep&&"function"==typeof r._introCompleteCallback&&r._introCompleteCallback.call(r,r._currentStep,"skip"),"function"==typeof r._introSkipCallback&&r._introSkipCallback.call(r),Wr.call(r,r._targetElement)},y.appendChild(o),this._introItems.length>1&&_.appendChild(i),_.appendChild(n),b.appendChild(_),Vo.call(r,t.element,b,v),$i.call(this,t.scrollTo,t,b)}var S=r._targetElement.querySelector(".introjs-disableInteraction");S&&S.parentNode.removeChild(S),t.disableInteraction&&Jo.call(r),0===this._currentStep&&this._introItems.length>1?(null!=n&&(n.className="".concat(this._options.buttonClass," introjs-nextbutton"),n.innerHTML=this._options.nextLabel),!0===this._options.hidePrev?(null!=i&&(i.className="".concat(this._options.buttonClass," introjs-prevbutton introjs-hidden")),null!=n&&Bi(n,"introjs-fullbutton")):null!=i&&(i.className="".concat(this._options.buttonClass," introjs-prevbutton introjs-disabled"))):this._introItems.length-1===this._currentStep||1===this._introItems.length?(null!=i&&(i.className="".concat(this._options.buttonClass," introjs-prevbutton")),!0===this._options.hideNext?(null!=n&&(n.className="".concat(this._options.buttonClass," introjs-nextbutton introjs-hidden")),null!=i&&Bi(i,"introjs-fullbutton")):null!=n&&(!0===this._options.nextToDone?(n.innerHTML=this._options.doneLabel,Bi(n,"".concat(this._options.buttonClass," introjs-nextbutton introjs-donebutton"))):n.className="".concat(this._options.buttonClass," introjs-nextbutton introjs-disabled"))):(null!=i&&(i.className="".concat(this._options.buttonClass," introjs-prevbutton")),null!=n&&(n.className="".concat(this._options.buttonClass," introjs-nextbutton"),n.innerHTML=this._options.nextLabel)),null!=i&&i.setAttribute("role","button"),null!=n&&n.setAttribute("role","button"),null!=o&&o.setAttribute("role","button"),null!=n&&n.focus(),function(t){var e=t.element;Bi(e,"introjs-showElement");var n=Mi(e,"position");"absolute"!==n&&"relative"!==n&&"sticky"!==n&&"fixed"!==n&&Bi(e,"introjs-relativePosition")}(t),void 0!==this._introAfterChangeCallback&&this._introAfterChangeCallback.call(this,t.element)}function or(t){this._currentStep=t-2,void 0!==this._introItems&&ar.call(this)}function rr(t){this._currentStepNumber=t,void 0!==this._introItems&&ar.call(this)}function ar(){var t=this;this._direction="forward",void 0!==this._currentStepNumber&&n(this._introItems,(function(e,n){e.step===t._currentStepNumber&&(t._currentStep=n-1,t._currentStepNumber=void 0)})),void 0===this._currentStep?this._currentStep=0:++this._currentStep;var e=this._introItems[this._currentStep],i=!0;return void 0!==this._introBeforeChangeCallback&&(i=this._introBeforeChangeCallback.call(this,e&&e.element)),!1===i?(--this._currentStep,!1):this._introItems.length<=this._currentStep?("function"==typeof this._introCompleteCallback&&this._introCompleteCallback.call(this,this._currentStep,"end"),void Wr.call(this,this._targetElement)):void ir.call(this,e)}function lr(){if(this._direction="backward",0===this._currentStep)return!1;--this._currentStep;var t=this._introItems[this._currentStep],e=!0;if(void 0!==this._introBeforeChangeCallback&&(e=this._introBeforeChangeCallback.call(this,t&&t.element)),!1===e)return++this._currentStep,!1;ir.call(this,t)}function sr(){return this._currentStep}function cr(t){var e=void 0===t.code?t.which:t.code;if(null===e&&(e=null===t.charCode?t.keyCode:t.charCode),"Escape"!==e&&27!==e||!0!==this._options.exitOnEsc){if("ArrowLeft"===e||37===e)lr.call(this);else if("ArrowRight"===e||39===e)ar.call(this);else if("Enter"===e||"NumpadEnter"===e||13===e){var n=t.target||t.srcElement;n&&n.className.match("introjs-prevbutton")?lr.call(this):n&&n.className.match("introjs-skipbutton")?(this._introItems.length-1===this._currentStep&&"function"==typeof this._introCompleteCallback&&this._introCompleteCallback.call(this,this._currentStep,"skip"),Wr.call(this,this._targetElement)):n&&n.getAttribute("data-step-number")?n.click():ar.call(this),t.preventDefault?t.preventDefault():t.returnValue=!1}}else Wr.call(this,this._targetElement)}function ur(e){if(null===e||"object"!==t(e)||void 0!==e.nodeType)return e;var n={};for(var i in e)void 0!==window.jQuery&&e[i]instanceof window.jQuery?n[i]=e[i]:n[i]=ur(e[i]);return n}function hr(t){var e=document.querySelector(".introjs-hints");return e?e.querySelectorAll(t):[]}function fr(t){var e=hr('.introjs-hint[data-step="'.concat(t,'"]'))[0];_r.call(this),e&&Bi(e,"introjs-hidehint"),void 0!==this._hintCloseCallback&&this._hintCloseCallback.call(this,t)}function pr(){var t=this;n(hr(".introjs-hint"),(function(e){fr.call(t,e.getAttribute("data-step"))}))}function dr(){var t=this,e=hr(".introjs-hint");e&&e.length?n(e,(function(e){gr.call(t,e.getAttribute("data-step"))})):xr.call(this,this._targetElement)}function gr(t){var e=hr('.introjs-hint[data-step="'.concat(t,'"]'))[0];e&&ho(e,/introjs-hidehint/g)}function vr(){var t=this;n(hr(".introjs-hint"),(function(e){br.call(t,e.getAttribute("data-step"))})),i.off(document,"click",_r,this,!1),i.off(window,"resize",Sr,this,!0),this._hintsAutoRefreshFunction&&i.off(window,"scroll",this._hintsAutoRefreshFunction,this,!0)}function br(t){var e=hr('.introjs-hint[data-step="'.concat(t,'"]'))[0];e&&e.parentNode.removeChild(e)}function mr(){var t=this,e=this,o=document.querySelector(".introjs-hints");null===o&&(o=Ko("div",{className:"introjs-hints"}));n(this._introItems,(function(n,i){if(!document.querySelector('.introjs-hint[data-step="'.concat(i,'"]'))){var r=Ko("a",{className:"introjs-hint"});Di(r),r.onclick=function(t){return function(n){var i=n||window.event;i.stopPropagation&&i.stopPropagation(),null!==i.cancelBubble&&(i.cancelBubble=!0),wr.call(e,t)}}(i),n.hintAnimation||Bi(r,"introjs-hint-no-anim"),Ui(n.element)&&Bi(r,"introjs-fixedhint");var a=Ko("div",{className:"introjs-hint-dot"}),l=Ko("div",{className:"introjs-hint-pulse"});r.appendChild(a),r.appendChild(l),r.setAttribute("data-step",i),n.targetElement=n.element,n.element=r,yr.call(t,n.hintPosition,r,n.targetElement),o.appendChild(r)}})),document.body.appendChild(o),void 0!==this._hintsAddedCallback&&this._hintsAddedCallback.call(this),this._options.hintAutoRefreshInterval>=0&&(this._hintsAutoRefreshFunction=function(t,e){var n,i=this;return function(){for(var o=arguments.length,r=new Array(o),a=0;a<o;a++)r[a]=arguments[a];clearTimeout(n),n=setTimeout((function(){t.apply(i,r)}),e)}}((function(){return Sr.call(t)}),this._options.hintAutoRefreshInterval),i.on(window,"scroll",this._hintsAutoRefreshFunction,this,!0))}function yr(t,e,n){var i=e.style,o=Ki.call(this,n),r=20,a=20;switch(t){default:i.left="".concat(o.left,"px"),i.top="".concat(o.top,"px");break;case"top-right":i.left="".concat(o.left+o.width-r,"px"),i.top="".concat(o.top,"px");break;case"bottom-left":i.left="".concat(o.left,"px"),i.top="".concat(o.top+o.height-a,"px");break;case"bottom-right":i.left="".concat(o.left+o.width-r,"px"),i.top="".concat(o.top+o.height-a,"px");break;case"middle-left":i.left="".concat(o.left,"px"),i.top="".concat(o.top+(o.height-a)/2,"px");break;case"middle-right":i.left="".concat(o.left+o.width-r,"px"),i.top="".concat(o.top+(o.height-a)/2,"px");break;case"middle-middle":i.left="".concat(o.left+(o.width-r)/2,"px"),i.top="".concat(o.top+(o.height-a)/2,"px");break;case"bottom-middle":i.left="".concat(o.left+(o.width-r)/2,"px"),i.top="".concat(o.top+o.height-a,"px");break;case"top-middle":i.left="".concat(o.left+(o.width-r)/2,"px"),i.top="".concat(o.top,"px")}}function wr(t){var e=document.querySelector('.introjs-hint[data-step="'.concat(t,'"]')),n=this._introItems[t];void 0!==this._hintClickCallback&&this._hintClickCallback.call(this,e,n,t);var i=_r.call(this);if(parseInt(i,10)!==t){var o=Ko("div",{className:"introjs-tooltip"}),r=Ko("div"),a=Ko("div"),l=Ko("div");o.onclick=function(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0},r.className="introjs-tooltiptext";var s=Ko("p");if(s.innerHTML=n.hint,r.appendChild(s),this._options.hintShowButton){var c=Ko("a");c.className=this._options.buttonClass,c.setAttribute("role","button"),c.innerHTML=this._options.hintButtonLabel,c.onclick=fr.bind(this,t),r.appendChild(c)}a.className="introjs-arrow",o.appendChild(a),o.appendChild(r),this._currentStep=e.getAttribute("data-step"),l.className="introjs-tooltipReferenceLayer introjs-hintReference",l.setAttribute("data-step",e.getAttribute("data-step")),po.call(this,l),l.appendChild(o),document.body.appendChild(l),Vo.call(this,e,o,a,!0)}}function _r(){var t=document.querySelector(".introjs-hintReference");if(t){var e=t.getAttribute("data-step");return t.parentNode.removeChild(t),e}}function xr(t){var e=this;if(this._introItems=[],this._options.hints)n(this._options.hints,(function(t){var n=ur(t);"string"==typeof n.element&&(n.element=document.querySelector(n.element)),n.hintPosition=n.hintPosition||e._options.hintPosition,n.hintAnimation=n.hintAnimation||e._options.hintAnimation,null!==n.element&&e._introItems.push(n)}));else{var o=t.querySelectorAll("*[data-hint]");if(!o||!o.length)return!1;n(o,(function(t){var n=t.getAttribute("data-hint-animation");n=n?"true"===n:e._options.hintAnimation,e._introItems.push({element:t,hint:t.getAttribute("data-hint"),hintPosition:t.getAttribute("data-hint-position")||e._options.hintPosition,hintAnimation:n,tooltipClass:t.getAttribute("data-tooltip-class"),position:t.getAttribute("data-position")||e._options.tooltipPosition})}))}mr.call(this),i.on(document,"click",_r,this,!1),i.on(window,"resize",Sr,this,!0)}function Sr(){var t=this;n(this._introItems,(function(e){var n=e.targetElement,i=e.hintPosition,o=e.element;void 0!==n&&yr.call(t,i,o,n)}))}He({target:"Array",proto:!0,forced:!Mo},{splice:function(t,e){var n,i,o,r,a,l,s=at(this),c=me(s),u=ge(t,c),h=arguments.length;if(0===h?n=i=0:1===h?(n=0,i=c-u):(n=h-2,i=$o(Fo(fe(e),0),c-u)),c+n-i>Do)throw Ho(zo);for(o=Zn(s,i),r=0;r<i;r++)(a=u+r)in s&&$n(o,r,s[a]);if(o.length=i,n<i){for(r=u;r<c-i;r++)l=r+n,(a=r+i)in s?s[l]=s[a]:delete s[l];for(r=c;r>c-i+n;r--)delete s[r-1]}else if(n>i)for(r=c-i;r>u;r--)l=r+n-1,(a=r+i-1)in s?s[l]=s[a]:delete s[l];for(r=0;r<n;r++)s[r+u]=arguments[r+2];return s.length=c-i+n,o}});var jr=Math.floor,Cr=function(t,e){var n=t.length,i=jr(n/2);return n<8?kr(t,e):Er(t,Cr(Ai(t,0,i),e),Cr(Ai(t,i),e),e)},kr=function(t,e){for(var n,i,o=t.length,r=1;r<o;){for(i=r,n=t[r];i&&e(t[i-1],n)>0;)t[i]=t[--i];i!==r++&&(t[i]=n)}return t},Er=function(t,e,n,i){for(var o=e.length,r=n.length,a=0,l=0;a<o||l<r;)t[a+l]=a<o&&l<r?i(e[a],n[l])<=0?e[a++]:n[l++]:a<o?e[a++]:n[l++];return t},Ar=Cr,Ir=M.match(/firefox\/(\d+)/i),Tr=!!Ir&&+Ir[1],Nr=/MSIE|Trident/.test(M),Or=M.match(/AppleWebKit\/(\d+)\./),Pr=!!Or&&+Or[1],Lr=[],Rr=S(Lr.sort),qr=S(Lr.push),Br=u((function(){Lr.sort(void 0)})),Mr=u((function(){Lr.sort(null)})),Hr=Ao("sort"),Fr=!u((function(){if(z)return z<70;if(!(Tr&&Tr>3)){if(Nr)return!0;if(Pr)return Pr<603;var t,e,n,i,o="";for(t=65;t<76;t++){switch(e=String.fromCharCode(t),t){case 66:case 69:case 70:case 72:n=3;break;case 68:case 71:n=4;break;default:n=2}for(i=0;i<47;i++)Lr.push({k:e+i,v:n})}for(Lr.sort((function(t,e){return e.v-t.v})),i=0;i<Lr.length;i++)e=Lr[i].k.charAt(0),o.charAt(o.length-1)!==e&&(o+=e);return"DGBEFHACIJK"!==o}}));function $r(t){var e=this,i=t.querySelectorAll("*[data-intro]"),o=[];if(this._options.steps)n(this._options.steps,(function(t){var n=ur(t);if(n.step=o.length+1,n.title=n.title||"","string"==typeof n.element&&(n.element=document.querySelector(n.element)),void 0===n.element||null===n.element){var i=document.querySelector(".introjsFloatingElement");null===i&&(i=Ko("div",{className:"introjsFloatingElement"}),document.body.appendChild(i)),n.element=i,n.position="floating"}n.position=n.position||e._options.tooltipPosition,n.scrollTo=n.scrollTo||e._options.scrollTo,void 0===n.disableInteraction&&(n.disableInteraction=e._options.disableInteraction),null!==n.element&&o.push(n)}));else{var r;if(i.length<1)return[];n(i,(function(t){if((!e._options.group||t.getAttribute("data-intro-group")===e._options.group)&&"none"!==t.style.display){var n=parseInt(t.getAttribute("data-step"),10);r=t.hasAttribute("data-disable-interaction")?!!t.getAttribute("data-disable-interaction"):e._options.disableInteraction,n>0&&(o[n-1]={element:t,title:t.getAttribute("data-title")||"",intro:t.getAttribute("data-intro"),step:parseInt(t.getAttribute("data-step"),10),tooltipClass:t.getAttribute("data-tooltip-class"),highlightClass:t.getAttribute("data-highlight-class"),position:t.getAttribute("data-position")||e._options.tooltipPosition,scrollTo:t.getAttribute("data-scroll-to")||e._options.scrollTo,disableInteraction:r})}}));var a=0;n(i,(function(t){if((!e._options.group||t.getAttribute("data-intro-group")===e._options.group)&&null===t.getAttribute("data-step")){for(;void 0!==o[a];)a++;r=t.hasAttribute("data-disable-interaction")?!!t.getAttribute("data-disable-interaction"):e._options.disableInteraction,o[a]={element:t,title:t.getAttribute("data-title")||"",intro:t.getAttribute("data-intro"),step:a+1,tooltipClass:t.getAttribute("data-tooltip-class"),highlightClass:t.getAttribute("data-highlight-class"),position:t.getAttribute("data-position")||e._options.tooltipPosition,scrollTo:t.getAttribute("data-scroll-to")||e._options.scrollTo,disableInteraction:r}}}))}for(var l=[],s=0;s<o.length;s++)o[s]&&l.push(o[s]);return(o=l).sort((function(t,e){return t.step-e.step})),o}function Dr(t){var e=document.querySelector(".introjs-tooltipReferenceLayer"),n=document.querySelector(".introjs-helperLayer"),i=document.querySelector(".introjs-disableInteraction");if(po.call(this,n),po.call(this,e),po.call(this,i),t&&(this._introItems=$r.call(this,this._targetElement),Zo.call(this,e,this._introItems[this._currentStep]),nr.call(this,e)),void 0!==this._currentStep&&null!==this._currentStep){var o=document.querySelector(".introjs-arrow"),r=document.querySelector(".introjs-tooltip");r&&o&&Vo.call(this,this._introItems[this._currentStep].element,r,o)}return Sr.call(this),this}function zr(){Dr.call(this)}function Gr(t,e){if(t&&t.parentElement){var n=t.parentElement;e?(fo(t,{opacity:"0"}),window.setTimeout((function(){try{n.removeChild(t)}catch(t){}}),500)):n.removeChild(t)}}function Wr(t,e){var o=!0;if(void 0!==this._introBeforeExitCallback&&(o=this._introBeforeExitCallback.call(this)),e||!1!==o){var r=t.querySelectorAll(".introjs-overlay");r&&r.length&&n(r,(function(t){return Gr(t)})),Gr(t.querySelector(".introjs-helperLayer"),!0),Gr(t.querySelector(".introjs-tooltipReferenceLayer")),Gr(t.querySelector(".introjs-disableInteraction")),Gr(document.querySelector(".introjsFloatingElement")),Uo(),i.off(window,"keydown",cr,this,!0),i.off(window,"resize",zr,this,!0),void 0!==this._introExitCallback&&this._introExitCallback.call(this),this._currentStep=void 0}}function Vr(t){var e=this,n=Ko("div",{className:"introjs-overlay"});return fo(n,{top:0,bottom:0,left:0,right:0,position:"fixed"}),t.appendChild(n),!0===this._options.exitOnOverlayClick&&(fo(n,{cursor:"pointer"}),n.onclick=function(){Wr.call(e,t)}),!0}function Ur(t){void 0!==this._introStartCallback&&this._introStartCallback.call(this,t);var e=$r.call(this,t);return 0===e.length||(this._introItems=e,Vr.call(this,t)&&(ar.call(this),this._options.keyboardNavigation&&i.on(window,"keydown",cr,this,!0),i.on(window,"resize",zr,this,!0))),!1}He({target:"Array",proto:!0,forced:Br||!Mr||!Hr||!Fr},{sort:function(t){void 0!==t&&J(t);var e=at(this);if(Fr)return void 0===t?Rr(e):Rr(e,t);var n,i,o=[],r=me(e);for(i=0;i<r;i++)i in e&&qr(o,e[i]);for(Ar(o,function(t){return function(e,n){return void 0===n?-1:void 0===e?1:void 0!==t?+t(e,n)||0:Ke(e)>Ke(n)?1:-1}}(t)),n=o.length,i=0;i<n;)e[i]=o[i++];for(;i<r;)delete e[i++];return e}});function Kr(t){this._targetElement=t,this._introItems=[],this._options={nextLabel:"Next",prevLabel:"Back",skipLabel:"×",doneLabel:"Done",hidePrev:!1,hideNext:!1,nextToDone:!0,tooltipPosition:"bottom",tooltipClass:"",group:"",highlightClass:"",exitOnEsc:!0,exitOnOverlayClick:!0,showStepNumbers:!1,keyboardNavigation:!0,showButtons:!0,showBullets:!0,showProgress:!1,scrollToElement:!0,scrollTo:"element",scrollPadding:30,overlayOpacity:.5,autoPosition:!0,positionPrecedence:["bottom","top","right","left"],disableInteraction:!1,helperElementPadding:10,hintPosition:"top-middle",hintButtonLabel:"Got it",hintShowButton:!0,hintAutoRefreshInterval:10,hintAnimation:!0,buttonClass:"introjs-button",progressBarAdditionalClass:!1}}var Yr=function n(i){var o;if("object"===t(i))o=new Kr(i);else if("string"==typeof i){var r=document.querySelector(i);if(!r)throw new Error("There is no element with given selector.");o=new Kr(r)}else o=new Kr(document.body);return n.instances[e(o,"introjs-instance")]=o,o};return Yr.version="5.0.0",Yr.instances={},Yr.fn=Kr.prototype={clone:function(){return new Kr(this)},setOption:function(t,e){return this._options[t]=e,this},setOptions:function(t){return this._options=function(t,e){var n,i={};for(n in t)i[n]=t[n];for(n in e)i[n]=e[n];return i}(this._options,t),this},start:function(){return Ur.call(this,this._targetElement),this},goToStep:function(t){return or.call(this,t),this},addStep:function(t){return this._options.steps||(this._options.steps=[]),this._options.steps.push(t),this},addSteps:function(t){if(t.length){for(var e=0;e<t.length;e++)this.addStep(t[e]);return this}},goToStepNumber:function(t){return rr.call(this,t),this},nextStep:function(){return ar.call(this),this},previousStep:function(){return lr.call(this),this},currentStep:function(){return sr.call(this)},exit:function(t){return Wr.call(this,this._targetElement,t),this},refresh:function(t){return Dr.call(this,t),this},onbeforechange:function(t){if("function"!=typeof t)throw new Error("Provided callback for onbeforechange was not a function");return this._introBeforeChangeCallback=t,this},onchange:function(t){if("function"!=typeof t)throw new Error("Provided callback for onchange was not a function.");return this._introChangeCallback=t,this},onafterchange:function(t){if("function"!=typeof t)throw new Error("Provided callback for onafterchange was not a function");return this._introAfterChangeCallback=t,this},oncomplete:function(t){if("function"!=typeof t)throw new Error("Provided callback for oncomplete was not a function.");return this._introCompleteCallback=t,this},onhintsadded:function(t){if("function"!=typeof t)throw new Error("Provided callback for onhintsadded was not a function.");return this._hintsAddedCallback=t,this},onhintclick:function(t){if("function"!=typeof t)throw new Error("Provided callback for onhintclick was not a function.");return this._hintClickCallback=t,this},onhintclose:function(t){if("function"!=typeof t)throw new Error("Provided callback for onhintclose was not a function.");return this._hintCloseCallback=t,this},onstart:function(t){if("function"!=typeof t)throw new Error("Provided callback for onstart was not a function.");return this._introStartCallback=t,this},onexit:function(t){if("function"!=typeof t)throw new Error("Provided callback for onexit was not a function.");return this._introExitCallback=t,this},onskip:function(t){if("function"!=typeof t)throw new Error("Provided callback for onskip was not a function.");return this._introSkipCallback=t,this},onbeforeexit:function(t){if("function"!=typeof t)throw new Error("Provided callback for onbeforeexit was not a function.");return this._introBeforeExitCallback=t,this},addHints:function(){return xr.call(this,this._targetElement),this},hideHint:function(t){return fr.call(this,t),this},hideHints:function(){return pr.call(this),this},showHint:function(t){return gr.call(this,t),this},showHints:function(){return dr.call(this),this},removeHints:function(){return vr.call(this),this},removeHint:function(t){return br().call(this,t),this},showHintDialog:function(t){return wr.call(this,t),this}},Yr}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/classes/class-sbp-cache.php
CHANGED
@@ -105,6 +105,7 @@ class SBP_Cache extends SBP_Base_Cache {
|
|
105 |
* @param $html
|
106 |
*/
|
107 |
private function create_cache_file( $html ) {
|
|
|
108 |
$dir_path = $this->get_cache_file_path();
|
109 |
$file_path = $dir_path . $this->file_name;
|
110 |
$sbp_cache_signature = PHP_EOL . '<!-- Cached by Speed Booster Pack -->';
|
@@ -334,141 +335,124 @@ class SBP_Cache extends SBP_Base_Cache {
|
|
334 |
$sbp_htaccess_block = '# BEGIN Speed Booster Pack
|
335 |
# SBP ' . SBP_VERSION . '
|
336 |
|
337 |
-
|
338 |
-
|
339 |
-
# UTF-8 config
|
340 |
-
AddDefaultCharset UTF-8
|
341 |
-
<IfModule mod_mime.c>
|
342 |
-
AddCharset UTF-8 .appcache .bbaw .css .htc .ics .js .json .manifest .map .markdown .md .mjs .topojson .vtt .vcard .vcf .webmanifest .xloc
|
343 |
-
</IfModule>
|
344 |
-
# FileETag config
|
345 |
-
<IfModule mod_headers.c>
|
346 |
-
Header unset ETag
|
347 |
-
</IfModule>
|
348 |
-
FileETag None
|
349 |
-
# Cache-Control config
|
350 |
-
<FilesMatch "\.(html|htm|rtf|rtx|txt|xsd|xsl|xml|css|htc|js|asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|json|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip)$">
|
351 |
-
<IfModule mod_headers.c>
|
352 |
-
Header unset Pragma
|
353 |
-
Header append Cache-Control "public"
|
354 |
-
</IfModule>
|
355 |
-
</FilesMatch>
|
356 |
-
|
357 |
-
## SECTION: Compression (DEFLATE)
|
358 |
|
359 |
-
|
360 |
-
<IfModule mod_setenvif.c>
|
361 |
<IfModule mod_headers.c>
|
362 |
-
|
363 |
-
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
|
364 |
-
SetEnvIfNoCase Request_URI \
|
365 |
-
\.(?:gif|jpe?g|png|rar|zip|exe|flv|mov|wma|mp3|avi|swf|mp?g|mp4|webm|webp|pdf)$ no-gzip dont-vary
|
366 |
-
</IfModule>
|
367 |
</IfModule>
|
368 |
-
|
369 |
-
AddOutputFilterByType DEFLATE "application/atom+xml" \
|
370 |
-
"application/javascript" \
|
371 |
-
"application/json" \
|
372 |
-
"application/ld+json" \
|
373 |
-
"application/manifest+json" \
|
374 |
-
"application/rdf+xml" \
|
375 |
-
"application/rss+xml" \
|
376 |
-
"application/schema+json" \
|
377 |
-
"application/geo+json" \
|
378 |
-
"application/vnd.ms-fontobject" \
|
379 |
-
"application/wasm" \
|
380 |
-
"application/x-font-ttf" \
|
381 |
-
"application/x-javascript" \
|
382 |
-
"application/x-web-app-manifest+json" \
|
383 |
-
"application/xhtml+xml" \
|
384 |
-
"application/xml" \
|
385 |
-
"font/eot" \
|
386 |
-
"font/opentype" \
|
387 |
-
"font/otf" \
|
388 |
-
"font/ttf" \
|
389 |
-
"image/bmp" \
|
390 |
-
"image/svg+xml" \
|
391 |
-
"image/vnd.microsoft.icon" \
|
392 |
-
"text/cache-manifest" \
|
393 |
-
"text/calendar" \
|
394 |
-
"text/css" \
|
395 |
-
"text/html" \
|
396 |
-
"text/javascript" \
|
397 |
-
"text/plain" \
|
398 |
-
"text/markdown" \
|
399 |
-
"text/vcard" \
|
400 |
-
"text/vnd.rim.location.xloc" \
|
401 |
-
"text/vtt" \
|
402 |
-
"text/x-component" \
|
403 |
-
"text/x-cross-domain-policy" \
|
404 |
-
"text/xml"
|
405 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
406 |
</IfModule>
|
407 |
-
<IfModule mod_mime.c>
|
408 |
-
AddEncoding gzip svgz
|
409 |
-
</IfModule>
|
410 |
-
</IfModule>
|
411 |
-
|
412 |
-
## SECTION: Cache expiration
|
413 |
|
|
|
414 |
<IfModule mod_expires.c>
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
ExpiresByType text/x-cross-domain-policy "access plus 1 week"
|
467 |
-
ExpiresByType application/manifest+json "access plus 1 week"
|
468 |
-
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
|
469 |
-
ExpiresByType text/cache-manifest "access plus 0 seconds"
|
470 |
</IfModule>
|
471 |
|
|
|
|
|
472 |
# END Speed Booster Pack';
|
473 |
|
474 |
$wp_filesystem = sbp_get_filesystem();
|
105 |
* @param $html
|
106 |
*/
|
107 |
private function create_cache_file( $html ) {
|
108 |
+
if( empty( $html ) ) { return; }
|
109 |
$dir_path = $this->get_cache_file_path();
|
110 |
$file_path = $dir_path . $this->file_name;
|
111 |
$sbp_cache_signature = PHP_EOL . '<!-- Cached by Speed Booster Pack -->';
|
335 |
$sbp_htaccess_block = '# BEGIN Speed Booster Pack
|
336 |
# SBP ' . SBP_VERSION . '
|
337 |
|
338 |
+
# Character encodings
|
339 |
+
AddDefaultCharset utf-8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
340 |
|
341 |
+
# ETags
|
|
|
342 |
<IfModule mod_headers.c>
|
343 |
+
Header unset ETag
|
|
|
|
|
|
|
|
|
344 |
</IfModule>
|
345 |
+
FileETag None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
346 |
|
347 |
+
# Compression
|
348 |
+
<IfModule mod_deflate.c>
|
349 |
+
<IfModule mod_setenvif.c>
|
350 |
+
<IfModule mod_headers.c>
|
351 |
+
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
|
352 |
+
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
|
353 |
+
</IfModule>
|
354 |
+
</IfModule>
|
355 |
+
<IfModule mod_filter.c>
|
356 |
+
AddOutputFilterByType DEFLATE "application/atom+xml" \
|
357 |
+
"application/javascript" \
|
358 |
+
"application/json" \
|
359 |
+
"application/ld+json" \
|
360 |
+
"application/manifest+json" \
|
361 |
+
"application/rdf+xml" \
|
362 |
+
"application/rss+xml" \
|
363 |
+
"application/schema+json" \
|
364 |
+
"application/geo+json" \
|
365 |
+
"application/vnd.ms-fontobject" \
|
366 |
+
"application/wasm" \
|
367 |
+
"application/x-font-ttf" \
|
368 |
+
"application/x-javascript" \
|
369 |
+
"application/x-web-app-manifest+json" \
|
370 |
+
"application/xhtml+xml" \
|
371 |
+
"application/xml" \
|
372 |
+
"font/eot" \
|
373 |
+
"font/opentype" \
|
374 |
+
"font/otf" \
|
375 |
+
"font/ttf" \
|
376 |
+
"image/bmp" \
|
377 |
+
"image/svg+xml" \
|
378 |
+
"image/vnd.microsoft.icon" \
|
379 |
+
"image/x-icon" \
|
380 |
+
"text/cache-manifest" \
|
381 |
+
"text/calendar" \
|
382 |
+
"text/css" \
|
383 |
+
"text/html" \
|
384 |
+
"text/javascript" \
|
385 |
+
"text/plain" \
|
386 |
+
"text/markdown" \
|
387 |
+
"text/vcard" \
|
388 |
+
"text/vnd.rim.location.xloc" \
|
389 |
+
"text/vtt" \
|
390 |
+
"text/x-component" \
|
391 |
+
"text/x-cross-domain-policy" \
|
392 |
+
"text/xml"
|
393 |
+
</IfModule>
|
394 |
+
<IfModule mod_mime.c>
|
395 |
+
AddEncoding gzip svgz
|
396 |
+
</IfModule>
|
397 |
</IfModule>
|
|
|
|
|
|
|
|
|
|
|
|
|
398 |
|
399 |
+
# Cache expiration
|
400 |
<IfModule mod_expires.c>
|
401 |
+
ExpiresActive on
|
402 |
+
ExpiresDefault "access plus 1 year"
|
403 |
+
ExpiresByType text/css "access plus 1 year"
|
404 |
+
ExpiresByType application/atom+xml "access plus 1 hour"
|
405 |
+
ExpiresByType application/rdf+xml "access plus 1 hour"
|
406 |
+
ExpiresByType application/rss+xml "access plus 1 hour"
|
407 |
+
ExpiresByType application/json "access plus 0 seconds"
|
408 |
+
ExpiresByType application/ld+json "access plus 0 seconds"
|
409 |
+
ExpiresByType application/schema+json "access plus 0 seconds"
|
410 |
+
ExpiresByType application/geo+json "access plus 0 seconds"
|
411 |
+
ExpiresByType application/xml "access plus 0 seconds"
|
412 |
+
ExpiresByType text/calendar "access plus 0 seconds"
|
413 |
+
ExpiresByType text/xml "access plus 0 seconds"
|
414 |
+
ExpiresByType image/vnd.microsoft.icon "access plus 1 week"
|
415 |
+
ExpiresByType image/x-icon "access plus 1 week"
|
416 |
+
ExpiresByType text/html "access plus 0 seconds"
|
417 |
+
ExpiresByType application/javascript "access plus 1 year"
|
418 |
+
ExpiresByType application/x-javascript "access plus 1 year"
|
419 |
+
ExpiresByType text/javascript "access plus 1 year"
|
420 |
+
ExpiresByType application/manifest+json "access plus 1 week"
|
421 |
+
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
|
422 |
+
ExpiresByType text/cache-manifest "access plus 0 seconds"
|
423 |
+
ExpiresByType text/markdown "access plus 0 seconds"
|
424 |
+
ExpiresByType audio/ogg "access plus 1 year"
|
425 |
+
ExpiresByType image/apng "access plus 1 year"
|
426 |
+
ExpiresByType image/avif "access plus 1 year"
|
427 |
+
ExpiresByType image/avif-sequence "access plus 1 year"
|
428 |
+
ExpiresByType image/bmp "access plus 1 year"
|
429 |
+
ExpiresByType image/gif "access plus 1 year"
|
430 |
+
ExpiresByType image/jpeg "access plus 1 year"
|
431 |
+
ExpiresByType image/jxl "access plus 1 year"
|
432 |
+
ExpiresByType image/png "access plus 1 year"
|
433 |
+
ExpiresByType image/svg+xml "access plus 1 year"
|
434 |
+
ExpiresByType image/webp "access plus 1 year"
|
435 |
+
ExpiresByType video/mp4 "access plus 1 year"
|
436 |
+
ExpiresByType video/ogg "access plus 1 year"
|
437 |
+
ExpiresByType video/webm "access plus 1 year"
|
438 |
+
ExpiresByType application/wasm "access plus 1 year"
|
439 |
+
ExpiresByType font/collection "access plus 1 year"
|
440 |
+
ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
|
441 |
+
ExpiresByType font/eot "access plus 1 year"
|
442 |
+
ExpiresByType font/opentype "access plus 1 year"
|
443 |
+
ExpiresByType font/otf "access plus 1 year"
|
444 |
+
ExpiresByType application/x-font-ttf "access plus 1 year"
|
445 |
+
ExpiresByType font/ttf "access plus 1 year"
|
446 |
+
ExpiresByType application/font-woff "access plus 1 year"
|
447 |
+
ExpiresByType application/x-font-woff "access plus 1 year"
|
448 |
+
ExpiresByType font/woff "access plus 1 year"
|
449 |
+
ExpiresByType application/font-woff2 "access plus 1 year"
|
450 |
+
ExpiresByType font/woff2 "access plus 1 year"
|
451 |
+
ExpiresByType text/x-cross-domain-policy "access plus 1 week"
|
|
|
|
|
|
|
|
|
452 |
</IfModule>
|
453 |
|
454 |
+
# Ported from: https://github.com/h5bp/server-configs-apache
|
455 |
+
|
456 |
# END Speed Booster Pack';
|
457 |
|
458 |
$wp_filesystem = sbp_get_filesystem();
|
includes/classes/class-sbp-wp-admin.php
CHANGED
@@ -21,7 +21,6 @@ class SBP_WP_Admin {
|
|
21 |
add_action( 'admin_head', [ $this, 'check_required_file_permissions' ] );
|
22 |
add_action( 'admin_init', [ $this, 'upgrade_php_notice' ] );
|
23 |
|
24 |
-
add_action( 'wp_ajax_sbp_dismiss_intro', [ $this, 'dismiss_intro' ] );
|
25 |
add_action( 'wp_ajax_sbp_dismiss_ccm_backup', [ $this, 'dismiss_custom_code_manager_backup' ] );
|
26 |
|
27 |
add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_deactivation_survey_scripts' ] );
|
@@ -50,13 +49,13 @@ class SBP_WP_Admin {
|
|
50 |
public function add_admin_bar_links( \WP_Admin_Bar $admin_bar ) {
|
51 |
if ( current_user_can( 'manage_options' ) ) {
|
52 |
|
53 |
-
$admin_bar->
|
54 |
'id' => 'speed_booster_pack',
|
55 |
'title' => 'Speed Booster',
|
56 |
'href' => admin_url( 'admin.php?page=sbp-settings' ),
|
57 |
'meta' => [
|
58 |
'target' => '_self',
|
59 |
-
'html' => '<style>#wpadminbar #wp-admin-bar-speed_booster_pack .ab-item{background:url("' . SBP_URL . 'admin/images/icon.svg") no-repeat 5px center;padding-left:25px;
|
60 |
],
|
61 |
] );
|
62 |
|
@@ -168,7 +167,7 @@ class SBP_WP_Admin {
|
|
168 |
'<p><strong>' . SBP_PLUGIN_NAME . ':</strong> ' . __( 'Cache cleared.', 'speed-booster-pack' ) . '</p>',
|
169 |
'success',
|
170 |
true,
|
171 |
-
'
|
172 |
|
173 |
// Set Localizer Cache Clear Notice
|
174 |
if ( get_transient( 'sbp_notice_tracker_localizer' ) ) {
|
@@ -312,10 +311,6 @@ class SBP_WP_Admin {
|
|
312 |
|
313 |
}
|
314 |
|
315 |
-
public function dismiss_intro() {
|
316 |
-
update_user_meta( get_current_user_id(), 'sbp_intro', true );
|
317 |
-
}
|
318 |
-
|
319 |
public function enqueue_deactivation_survey_scripts() {
|
320 |
if ( get_current_screen()->id === 'plugins' ) {
|
321 |
wp_enqueue_script( 'sbp_deactivation_survey', SBP_URL . '/admin/js/deactivation-survey.js', array(
|
21 |
add_action( 'admin_head', [ $this, 'check_required_file_permissions' ] );
|
22 |
add_action( 'admin_init', [ $this, 'upgrade_php_notice' ] );
|
23 |
|
|
|
24 |
add_action( 'wp_ajax_sbp_dismiss_ccm_backup', [ $this, 'dismiss_custom_code_manager_backup' ] );
|
25 |
|
26 |
add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_deactivation_survey_scripts' ] );
|
49 |
public function add_admin_bar_links( \WP_Admin_Bar $admin_bar ) {
|
50 |
if ( current_user_can( 'manage_options' ) ) {
|
51 |
|
52 |
+
$admin_bar->add_node( [
|
53 |
'id' => 'speed_booster_pack',
|
54 |
'title' => 'Speed Booster',
|
55 |
'href' => admin_url( 'admin.php?page=sbp-settings' ),
|
56 |
'meta' => [
|
57 |
'target' => '_self',
|
58 |
+
'html' => '<style>#wpadminbar #wp-admin-bar-speed_booster_pack .ab-item{background:url("' . SBP_URL . 'admin/images/icon.svg?ver=' . SBP_VERSION . '") no-repeat 5px center;padding-left:25px;}#wpadminbar #wp-admin-bar-speed_booster_pack .ab-item:hover{color:white;}</style>',
|
59 |
],
|
60 |
] );
|
61 |
|
167 |
'<p><strong>' . SBP_PLUGIN_NAME . ':</strong> ' . __( 'Cache cleared.', 'speed-booster-pack' ) . '</p>',
|
168 |
'success',
|
169 |
true,
|
170 |
+
'flash' );
|
171 |
|
172 |
// Set Localizer Cache Clear Notice
|
173 |
if ( get_transient( 'sbp_notice_tracker_localizer' ) ) {
|
311 |
|
312 |
}
|
313 |
|
|
|
|
|
|
|
|
|
314 |
public function enqueue_deactivation_survey_scripts() {
|
315 |
if ( get_current_screen()->id === 'plugins' ) {
|
316 |
wp_enqueue_script( 'sbp_deactivation_survey', SBP_URL . '/admin/js/deactivation-survey.js', array(
|
public/class-speed-booster-pack-public.php
CHANGED
@@ -57,12 +57,13 @@ class Speed_Booster_Pack_Public {
|
|
57 |
* Basically a hook for functions which use output buffer
|
58 |
*/
|
59 |
public function template_redirect() {
|
60 |
-
|
61 |
ob_start( [ $this, 'output_buffer' ] );
|
62 |
}
|
63 |
|
64 |
public function output_buffer( $html ) {
|
65 |
$html = apply_filters( 'sbp_output_buffer', $html );
|
|
|
66 |
$html .= PHP_EOL . '<!-- Optimized by Speed Booster Pack v' . SBP_VERSION . ' -->';
|
67 |
|
68 |
return $html;
|
57 |
* Basically a hook for functions which use output buffer
|
58 |
*/
|
59 |
public function template_redirect() {
|
60 |
+
if ( is_admin() || wp_doing_cron() || wp_doing_ajax() ) { return; }
|
61 |
ob_start( [ $this, 'output_buffer' ] );
|
62 |
}
|
63 |
|
64 |
public function output_buffer( $html ) {
|
65 |
$html = apply_filters( 'sbp_output_buffer', $html );
|
66 |
+
if ( $_SERVER[ 'REQUEST_METHOD' ] != 'GET' ) { return $html; }
|
67 |
$html .= PHP_EOL . '<!-- Optimized by Speed Booster Pack v' . SBP_VERSION . ' -->';
|
68 |
|
69 |
return $html;
|
speed-booster-pack.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
* Plugin Name: Speed Booster Pack
|
7 |
* Plugin URI: https://speedboosterpack.com
|
8 |
* Description: PageSpeed optimization is vital for SEO: A faster website equals better conversions. Optimize & cache your site with this smart plugin!
|
9 |
-
* Version: 4.5.
|
10 |
* Author: Optimocha
|
11 |
* Author URI: https://optimocha.com
|
12 |
* License: GPLv3 or later
|
@@ -32,7 +32,7 @@ define( 'SBP_PLUGIN_NAME', 'Speed Booster Pack' );
|
|
32 |
/**
|
33 |
* Current plugin version.
|
34 |
*/
|
35 |
-
define( 'SBP_VERSION', '4.5.
|
36 |
|
37 |
/**
|
38 |
* Plugin website URL.
|
6 |
* Plugin Name: Speed Booster Pack
|
7 |
* Plugin URI: https://speedboosterpack.com
|
8 |
* Description: PageSpeed optimization is vital for SEO: A faster website equals better conversions. Optimize & cache your site with this smart plugin!
|
9 |
+
* Version: 4.5.3
|
10 |
* Author: Optimocha
|
11 |
* Author URI: https://optimocha.com
|
12 |
* License: GPLv3 or later
|
32 |
/**
|
33 |
* Current plugin version.
|
34 |
*/
|
35 |
+
define( 'SBP_VERSION', '4.5.3' );
|
36 |
|
37 |
/**
|
38 |
* Plugin website URL.
|